~에서 실행할 때 find 명령이 디렉토리를 찾지 못하는 이유는 무엇입니까?


9

아래 /tmp에 이름 이있는 디렉토리가 있습니다 test_copy.

$ ls /tmp/test_copy/
a.sh b.sh  

$ cd /tmp  
/tmp$ find . -name test_copy  
./test_copy

그러나 다음 find명령을 실행하면 아무것도 반환되지 않습니다.

~/scripts$ find /tmp -name test_copy  
~/scripts$  

find마지막 경우 디렉토리를 찾을 수없는 이유는 무엇 입니까?


3
결과는 ls -ld /tmp무엇입니까?
xhienne

2
@ xhienne : 당신이 맞아요! 다른 디렉토리에 대한 심볼릭 링크였습니다. 답변으로 게시 할 수 있습니까?
Jim

답변:


15

/tmp심볼릭 링크 인 경우 find디렉토리를 입력하지 않고 아무 것도 찾지 않고 중지합니다.

반면에 다음 명령 중 하나가 작동합니다.

find -H /tmp -name test_copy
find /tmp/ -name test_copy

(끝 /은 심볼릭 링크를 역 참조한다)


1
이것은 특히 macOS의 경우 일 수 있습니다. macOS에서 / tmp는 / private / tmp 또는 이와 유사한 심볼릭 링크입니다.
kojiro
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.