〜から実行したときに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:そうです!それは別のディレクトリへのシンボリックリンクでした。回答として投稿できますか?
ジム・

回答:


15

/tmpがシンボリックリンクの場合はfind、ディレクトリに入らず、停止して何も見つかりません。

一方、次のコマンドはすべて機能します。

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

(エンディング/はシンボリックリンクを逆参照します)


1
これは、特にmacOSに当てはまる可能性があります。macOSでは、/ tmpは/ private / tmpなどへのシンボリックリンクです。
小次郎2017年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.