Computer >> 컴퓨터 >  >> 체계 >> Linux

Linux에서 깨진 심볼릭 링크를 찾는 방법

Linux에서 깨진 심볼릭 링크를 찾는 방법

심볼릭 링크 또는 심볼릭 링크는 Linux 시스템 관리를 단순화하는 방법입니다. 이것은 서버나 워크스테이션에서 매우 일반적입니다. 한 디렉토리를 다른 디렉토리에 링크하면 애플리케이션이 구성을 변경하지 않고 디렉토리 트리의 다른 위치로 정보를 보내도록 하는 데 사용됩니다. 이는 건강한 시스템을 유지하는 데 필수적입니다. 그러나 심볼릭 링크를 사용할 때의 문제는 해당 링크에 항상 두 디렉토리가 있다는 보장이 없다는 것입니다. 여기에서는 Linux에서 깨진 심볼릭 링크를 찾고 수정하는 방법을 보여줍니다.

symlinks라는 매우 유용한 애플리케이션이 있습니다. 대부분의 저장소에서. 동일한 깨진 심볼릭 링크를 삭제하는 데 유용한 출력과 옵션을 제공하는 간단한 명령줄 유틸리티입니다.

설치하려면 다음 명령을 사용하십시오.

# For Debian/Ubuntu-based distro
sudo apt install symlinks
 
# For Fedora/CentOS
sudo dnf install symlinks

symlinks에는 몇 가지 주요 옵션이 있습니다. . -d입니다. , 매달린 링크를 삭제하고 -r , 하위 디렉토리를 통해 지정한 모든 옵션을 재귀적으로 수행합니다.

내장된 find를 사용할 수도 있습니다. 리눅스의 도구. 이것은 덜 사용자 친화적인 예이지만 find 명령과 작동 방식을 배우는 데 도움이 됩니다.

먼저 심볼릭 링크를 생성하겠습니다. 여기에는 기존 파일을 가져오고 ln을 사용하는 작업이 포함됩니다. 아직 존재하지 않는 파일에 연결하는 명령입니다. 저에게는 다음과 같은 예가 될 것입니다.

touch test-file.txt
ln -s test-file.txt linked-file.txt

ls를 통해 확인할 수 있습니다. 링크가 존재한다는 명령입니다.

Linux에서 깨진 심볼릭 링크를 찾는 방법

이제 해당 심볼릭 링크를 끊겠습니다.

rm test-file.txt
Linux에서 깨진 심볼릭 링크를 찾는 방법

원본 파일을 제거했는데도 ls -l 명령은 여전히 ​​링크를 보고합니다. 여기에서 문제가 발생합니다. 이러한 파일은 다른 디렉터리에 있을 수 있으므로 원본 파일이 여전히 존재하는지 확인하기가 훨씬 더 어렵습니다.

Linux에서 깨진 심볼릭 링크를 찾는 방법

깨진 심볼릭 링크를 수정하는 방법은 그냥 삭제하는 것입니다. 다시 가져올 수 없으므로 가상 디렉터리 트리에서 지워야 합니다.

symlinks로 깨진 심볼릭 링크를 보고하려면 도구를 사용하려면 다음 명령을 사용하십시오.

symlinks .

"."에 유의하십시오. 현재 작업 디렉토리를 나타냅니다. 검색하려는 디렉토리에 대해 이것을 변경하십시오. 출력은 다음과 같습니다.

dangling: /home/jperkins/linked-file.txt -> test-file.txt

'linked-file.txt'가 매달려 있고 심볼릭 링크가 끊어졌음을 나타냅니다. 삭제하려면 다음 명령을 사용하십시오.

symlinks -d .

출력은 지난 번과 유사하지만 "삭제됨" 행도 포함됩니다.

Linux에서 깨진 심볼릭 링크를 찾는 방법

find로 깨진 심볼릭 링크를 수정하려면 , 다음 명령을 사용하십시오:

find . -xtype l
Linux에서 깨진 심볼릭 링크를 찾는 방법

"." 현재 작업 디렉토리를 나타냅니다. 이렇게 하면 덜 사용자 친화적인 출력이 생성되지만 여전히 도움이 됩니다.

삭제하려면 delete를 추가하세요. 옵션.

find . -xtype l -delete
Linux에서 깨진 심볼릭 링크를 찾는 방법

이것에 대한 출력은 없지만 -delete 없이 다시 실행하면 옵션을 선택하면 아무것도 찾을 수 없습니다.

그게 다야 이제 깨진 심볼릭 링크를 쉽게 찾아 더 많은 문제가 발생하기 전에 삭제할 수 있습니다. 확인해야 할 심볼릭 링크에 대한 더 많은 자습서가 있습니다. 또한 심볼릭 링크와 하드 링크의 차이점과 사용해야 하는 경우에 대해 자세히 알아볼 수 있습니다.