sobota, 8 grudnia 2018

find updatedb locate

Mamy dwa szukadła
findlocate
Wszelkie linuxowe szukadła są wrażliwe na wielkość liter.
  • PLIK
  • Plik
  • PliK
Wypunktowane powyżej nazwy to dla systemu trzy różne pliki
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