find Polecenie find służy do wyszukiwania plików. Jeżeli chcemy znaleźć program spell w katalogu /usr/bin wystarczy napisać: find /usr/bin -name spell -print Można również użyć go do znalezienia plików poprzez datę, jak również wprowadzić przedział dat. Jeżeli chcemy znaleźć wszystkie programy w katalogu /usr/bin , które nie były wykorzystane przez ostatnie 100 dni można użyć polecenia: find /usr/bin -type f -atime +100 -print Aby znaleźć pliki, które zostały utowżone lub zmodyfikowane w ciągu ostatniego dnia można napisać: find /usr/bin -type f -mtime -1 -print Polecenie find akceptuje również nazwy plików w formie maski: find /home/mdunajko -name *.c -print
whereis Polecenie whereis pozwala na szybkie wyszukiwanie plików, i pokazuje gdzie znajduje się program binarny oraz jego dokumentacja. Jeżeli chcemy znaleźć program find to napiszemy: whereis find Powinno nam się pokazac find: /usr/bin/find /usr/ man/man1/find.1, oznacza to, że program find znajduje się w katalogu /usr/bin a jego dokumentacja w katalogu /usr/man/man1. Można wyszukać tylko sam program, bez dokumentacji, wydając polecenie z opcja -b. Problem może wystąpić wtedy, gdy poszukiwany program znajduje się w innym katalogu, niż te, które przeszukiwane są przez whereis. Są one trwale zapisane wewnątrz programu.
Poszukiwanie określonego pliku rekurencyjnie
Problem: W jaki sposób wyszukać określony plik w strukturze katalogów pod linuksem?
Ilość rozwiązań: 5
Rozwiązanie 1:
find / -type f -name plik | grep plik > plik.txt Uwagi: Gdy nie chcemy przeszukiwać wszystkich katalogów w systemie to zmieniamy / na ścieżkę do katalogu, który chcemy przeszukać wraz z podkatalogami np. na . .
Nadesłał 05-05-2005 Andrzej Kasperowicz
Rozwiązanie 2:
locate plik Uwagi: locate wyszukuje pliki w okresowo aktualizowanej bazie danych w systemie.
Nadesłał 05-05-2005 Andrzej Kasperowicz
Rozwiązanie 3:
whereis nazwa_polecenia Uwagi: whereis wyszukuje pliki binarne, źródłowe i strony man dla danego polecenia. Whereis przeszukuje wyłącznie standardowe katalogi, w których znajdują się pliki binarne, źródłowe i man.
Nadesłał 05-05-2005 Andrzej Kasperowicz
Rozwiązanie 4:
which nazwa_programu Uwagi: Which pobiera serię nazw programów i drukuje pełne ścieżki programów, które powłoka by wywołała, aby je uruchomić. Robi to symulując przeszukiwanie przez powłokę zmiennej środowiskowej $PATH.
Nadesłał 05-05-2005 Andrzej Kasperowicz
Rozwiązanie 5:
type nazwa Uwagi: Komenda type opisuje jak każdy operand nazwa byłby interpretowany, gdyby go użyć jako komendy. type wyświetla informacje o operandzie identyfikując go jako wbudowany do shella, jako funkcję, alias, zahashowana komendę, słowo kluczowe; może też wyświetlić ścieżkę dostępu do operandu nazwa.
Przykłady:
~$ type ls ls is aliased to `/usr/bin/ls $LS_OPTIONS' ~$ type ls ls is aliased to `ls --color=auto' ~$ type ls ls is /usr/xpg4/bin/ls ~$ type l l is an alias for 'ls -l'