디렉토리에 심볼릭 링크와 다른 이름이 있는지 찾는 방법

디렉토리에 심볼릭 링크와 다른 이름이 있는지 찾는 방법
lrwxrwxrwx.   1 oracle   oinstall    10 Oct 14 03:47 abc -> xyz
drwxr-xr-x.   6 oracle   oinstall     4 Oct 26 21:11 xyz

xyz에 abc라는 심볼릭 링크가 있는지 확인하고 싶습니다.

답변1

파일이나 디렉터리에 대한 역참조 또는 기호 링크 수가 없습니다.

예를 들어 xyz 디렉토리를 삭제하는 것은 완벽하게 유효합니다. 기호 링크가 있어도 이를 방지할 수 없으며 xyz의 데이터가 손상되는 것을 방지할 수도 없습니다. 모든 기호 링크는 해당 링크를 열려고 시도할 때만 유효하지 않은 것으로 인식되며 "깨진 링크"가 됩니다.

다음의 경우 상황은 매우 다릅니다.하드 링크.

답변2

그리고 zsh:

print -rC1 - **/*(ND@e['[[ $REPLY -ef xyz ]]'])

숨겨진 디렉터리( )를 포함하여 임의의 이름( ), 하위 디렉터리( ) 및 하위 디렉터리 수준( )을 사용하여 심볼릭 링크( )로 olumn print r에 있는 aw 유형의 파일은 일치 항목( )이 없어도 문제를 일으키지 않으며 이러한 파일 심볼릭 링크가 해결된 후의 파일과 동일합니다 ( ).1 C@***/DNxyz-ef

또한 다른 심볼릭 링크나 xyz.


대상이 리터럴 string 인 심볼릭 링크를 찾으려면 xyz다음을 수행하십시오.

find . -lname xyz

답변3

abc현재 디렉터리에서 files라는 이름의 모든 링크를 찾으려면 xyz다음 명령을 사용하면 됩니다.

find -L / -samefile `readlink -f xyz` -name abc

readlink -f xyz파일의 전체 경로로 대체될 수 있습니다(실제로는 현재 디렉터리의 파일에 대해 실행됩니다).

정확한 링크 이름을 알고 있지만 xyz임의의 이름을 가진 파일에 대한 모든 링크를 찾으려면 name다음과 같이 생략할 수 있습니다.

find -L / -samefile `readlink -f xyz`

2> /dev/null"권한 거부" 경고를 억제하기 위해 명령 끝에 추가 할 수도 있습니다 .

관련 정보