W systemie Linux
cd /tmp
mkdir foo; cd foo
Teraz biegnę
find . -name 'foo'
nie daje wyniku. Podczas biegania
find /tmp/foo -name 'foo'
Daje wynik, /tmp/foo
który nie ma dla mnie sensu. Czy ktoś może wyjaśnić, dlaczego?
find
.
bar
wskazującej plik, foo
który znajduje się poza ścieżką wyszukiwania. Czy to będzie pasować czy nie?
.
I /tmp/foo
nie są takie same - są to dwa różne twarde linki do tego samego katalogu; find /tmp/foo/. -name 'foo'
też niczego nie znajduje.
find /tmp/foo -name 'foo'
, prosiłem bash o znalezienie w katalogu /tmp/foo
pliku o nazwie „foo”. Ponieważ katalog /tmp/foo
jest pusty, nie powinien nic zwracać. Nie rozumiem, dlaczego powraca /tmp/foo
. Z drugiej strony, kiedy uruchomiłem find . -name 'foo'
, prosiłem bash o to samo, tj. Znalezienie pliku w bieżącym katalogu (który tak się kiedyś stało /tmp/foo
), którego nazwa to „foo”, i nie zwraca niczego, co ma sens.
./
że nie pasujefoo