Mengapa tidak menemukan perintah menemukan direktori saat dijalankan dari ~?


9

Ada sebuah direktori /tmpdengan nama test_copy.

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

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

Tetapi jika saya menjalankan findperintah berikut ini tidak mengembalikan apa pun.

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

Mengapa tidak dapat findmenemukan direktori dalam kasus terakhir?


3
Apa hasil dari ls -ld /tmp?
xhienne

2
@xhienne: Anda benar! Itu adalah symlink ke dir lain. Bisakah Anda mempostingnya sebagai jawaban?
Jim

Jawaban:


15

Jika /tmptautan simbolis, findtidak akan masuk ke direktori dan hanya akan berhenti, tidak menemukan apa pun.

Di sisi lain, salah satu dari perintah berikut ini akan berfungsi:

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

(akhir /dereferensi symlink)


1
Ini mungkin menjadi kasus pada macOS pada khususnya. Pada macOS, / tmp adalah symlink ke / private / tmp atau semacamnya.
kojiro
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.