为什么从〜运行时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)

Answers:


15

如果/tmp是符号链接,find则不会进入目录,只会停下来,什么也没找到。

另一方面,以下任何命令均可使用:

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

(结尾/取消了符号链接)


1
特别是在macOS上可能就是这种情况。在macOS上,/ tmp是/ private / tmp或类似名称的符号链接。
kojiro
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.