Duzy skrypt SO wyszukiwanie


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'




Wyszukiwarka