Bazen aşağıdaki komutu görüyorum:
find . -name * -exec ls -a {} \;
Bunu yapmam istendi.
{} \;
Burada ne anlama geliyor?
-name *
gereksizden daha kötüdür. Çünkü *
işlem görmeyen, kabuk beklenmeyen sonuçlar ya da bir hata mesajı giden, boşluk yanlış tedavi edilen, mevcut klasörde dosya isimlerinin listesine genişler. Ekstra bir nokta olarak, find
bunlardan biri dosyaları listelemek olan birçok işlevi vardır; bu kullanmak zorunda kalmaz -exec
. Örneğin, find . -print
veya kullanabilirsiniz find . -ls
. Ya ters eğik çizgi ile yaptığı gibi,: Son olarak, noktalı virgül kaçmak için iki yol vardır \;
, ya da alıntı yaparak: ';'
. Hangisini daha rahat hissederseniz kullanın.
-name *
gereksizdir.