Czasami widzę następujące polecenie:
find . -name * -exec ls -a {} \;
Zostałem poproszony o wykonanie tego.
Co to {} \;znaczy tutaj?
-name *jest gorszy niż zbędny. Ponieważ *nie jest cytowany, powłoka rozwija go do listy nazw plików w bieżącym folderze, a spacje są niepoprawnie traktowane, co prowadzi do nieoczekiwanych wyników lub komunikatu o błędzie. Dodatkowo findma wiele funkcji, jedną z nich jest wyświetlanie listy plików; pozwala to uniknąć konieczności używania -exec. Np. Możesz użyć find . -printlub find . -ls. Wreszcie, istnieją dwa sposoby, aby uciec średnik: albo jak to było z ukośnik, \;lub podając: ';'. Używaj tego, z czym czujesz się bardziej komfortowo.

-name *jest zbędny.