find i locate
Wszelkie linuxowe szukadła są wrażliwe na wielkość liter.
- PLIK
- Plik
- PliK
Jako że find jest standardowym szukadłem wbudowanym w każdy linux / unix zaczniemy od niego.
find
find / -type d -name 'httpdocs'
rozbijamy komendę na części pierwsze
find -- szukaj
/ w całym systemie poczynając od root
-type d typ wyszukiwania folder -type f typ wyszukiwania plik
-name o nazwie 'nazwa' gdzie nazwe zawsze podajemy w ' '
W przypadku komendy find dobrze jest podać ścieżkę startową wyszukiwania
np /home/dziadekw/Dokumenty z tego punktu wyszukiwanie będzie podążać rekursywnie w głąb zadanej ścieżki
[dziadekw@localhost ~]$ find /home/dziadekw/Dokumenty -type f -iname 'dupa'
/home/dziadekw/Dokumenty/dupa
/home/dziadekw/Dokumenty/test/dupa
[dziadekw@localhost ~]$
Locate nie jest komendą standardową, najczęściej trzeba ją sobie z ręki doinstalować. Ma te przewagę nad findem iż nie potrzebuję ścieżki by znaleźć plik. Komenda locate korzysta z bazy danych wszystkich plików systemowych co za tym idzie nie potrzebujemy znać przybliżonej lokalizacji szukanego folderu, pliku
Przed z korzystaniem z locate należy wydać komendę updatedb
locate
Wyjdźmy bezpośrednio do / i poszukajmy pliku znajdz_mnie
[dziadekw@localhost /]$ locate zna
/home/dziadekw/znajdz_mnie
/usr/share/man/man3/tzname.3.gz
[dziadekw@localhost /]$
Podałem 3 pierwsze litery nazwy i proszę, przypominam że wyszukuje z pod katalogu root
locate /home plik znajdzie
/usr/share/icons/breeze-dark/apps/48/homerun.svg
/usr/share/sgml/docbook/xsl-stylesheets-1.79.2/images/home.gif
[...]
/home/dziadekw/.thunderbird/3pwwqqx9.default/extensions/langpack-sv-SE@thunderbird.mozilla.org.xpi
/home/dziadekw/.thunderbird/3pwwqqx9.default/extensions/langpack-tr@thunderbird.mozilla.org.xpi
[...]
/home/dziadekw/Dokumenty/JeszczeJedenplik
/home/dziadekw/Dokumenty/Plik
Czyli wyszuka zarówno zadany parametr plik jak i fragment ścieżki do szukanego pliku, również traktowanej jak parametr, jak w przypadku /usr/share/icons/breeze-dark/apps/48/homerun.svg
W końcu poda ścieżkę pomijająs parametr /home/dziadekw/.thunderbird/3pwwqqx9.default/extensions/langpack-sv-SE@thunderbird.mozilla.org.xpi .
słowem burdel na kółkach
Jak temu zaradzić
Do komendy dodajemy -b
Ma ona teraz postać
locate -b co oznacza nie traktuj składowych ścieżki jak parametru
[dziadekw@localhost /]$ locate -b /home plik
/home/dziadekw/pliki
/home/dziadekw/pliki2
/home/dziadekw/Dokumenty/JeszczeJedenplik
/home/dziadekw/Dokumenty/innyplik
/home/dziadekw/Dokumenty/plik
/home/dziadekw/pliki/plik1
/home/dziadekw/pliki/plik2
[dziadekw@localhost /]$
Link do globbing
Brak komentarzy:
Prześlij komentarz