~ Komutundan çalıştırıldığında neden komutu bulacağınız komutu bulamıyor?


9

Bir dizin altında bulunmaktadır /tmpadıyla test_copy.

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

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

Ama aşağıdaki findkomutu çalıştırırsam hiçbir şey döndürmez.

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

findDizini neden son durumda bulamıyorsunuz?


3
Sonuç ne ls -ld /tmp?
17'de xhienne

2
@xhienne: Haklısın! Başka bir dir için bir sembolikti. Cevap olarak gönderebilir misiniz?
Jim

Yanıtlar:


15

Eğer /tmpsembolik bir bağlantıdır, finddizin girmeyecektir ve sadece hiçbir şey bulma, duracaktır.

Öte yandan, aşağıdaki komutlardan herhangi biri çalışır:

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

(bitiş /, sembolik bağlantıyı kaldırır)


1
Bu, özellikle macOS için geçerli olacaktır. MacOS'ta, / tmp, / private / tmp veya buna benzer bir sembolik bağlantıdır.
kojiro
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.