Chcąc wyszukać pliki można użyć komendy find. Polecenie to ma następującą budowę:
Słowo find
Ścieżka do miejsca, gdzie plik ma być szukany.t
Kryterium według, którego plik ma być wyszukany.
Akcje, czyli co z wyszukanymi plikami zrobić.
find katalog kryterium akcja
Chcąc wyszukać pliki według nazwy należy w miejscu podania kryterium podać parametr -name, a po spacji w cudzysłowiach podać nazwę według, której mają być szukane.
owi@laptop:~$ find ~ -name "a*" -print
Powyższe polecenie spowoduje wyszukanie w katalogu home (symbol "~") plików rozpoczynających się od litery a (kryterium -name "a*") oraz wyświetli ścieżki do tych nich (- print).
Chcąc wyszukać pliki, które nie zawierają pewnej nazwy należy w miejscu podania kryterium podać parametr ! -name a po spacji w cudzysłowiach nazwę według, której nie będziemy szukać.
owi@laptop:~$ find ~ ! -name "a*" -print
Powyższe polecenie spowoduje wyszukanie w katalogu home (symbol "~") plików nie rozpoczynających się od litery a (kryterium !-name "a*") oraz wyświetli ścieżki do nich (- print).
Kolejnym kryterium wartym uwagi jest -empty, które wyszukuje puste pliki.
owi@laptop:~$ find . -empty -print
Powyższe polecenie spowoduje wyszukanie począwszy od katalogu bieżącego (symbol ".") pustych plików (kryterium -empty) oraz wyświetli ścieżki do nich (- print).
Chcąc odnaleźć pliki, które nie mają właściciela tzn jego konto zostało usunięte, używamy parametru -nouser.
owi@laptop:~$ find . -nouser -print
Powyższe polecenie spowoduje wyszukanie począwszy od katalogu bieżącego plików osieroconych (kryterium -nouser) oraz wyświetli ścieżki do nich (- print).
Chcąc odnaleźć pliki, których wielkość przekracza 200 kB, należy użyć kryterium -size, a następnie podać znak +200k gdy pliki maja być większe niż 200 kB lub -200 k jeżeli pliki mają być mniejsze.
owi@laptop:~$ find ~ -size +200k -print
Powyższe polecenie spowoduje wyszukanie w katalogu home plików większych niż 200 kB (kryterium -size +200k) oraz wyświetli nazwy tych plików (- print).
UWAGA! Podane kryteria można ze sobą łączyć za pomocą spójnika koniunkcji -a oraz alternatywy -o np:
owi@laptop:~$ find / -size +200k -a -name "a*" -print
Powyższe polecenie spowoduje wyszukanie plików rozpoczynających się na literę a, ale tylko tych większych niż 200 kB.
Do tej pory pokazana została jedynie akcja -print pozwalająca na wypisywanie. Aby wykonać na wyszukanych plikach dowolnie polecenia (np kopiuj) należy użyć parametru -exec następnie komenda po komendzie \; np:
Powyższe polecenie spowoduje wyszukanie plików w poczynając od bieżącego katalogu zaczynających sie na literę a oraz każdy z tych plików skopiuje ({}-lista plików do skopiowania) do katalogu o nazwie nazwakatalogu.
Chcąc wyszukać w pliku linie, które pasują do pewnego wzorca należy użyć polecenia grep. Po nazwie polecenia należy podać wzorzec, a po wzorcu nazwę pliku.
owi@laptop:~$ grep root /etc/passwd
W wyniku działania powyższych poleceń w pliku /etc/passwd zostaną odszukane oraz wyświetlone wszystkie linie gdzie pojawiło się słowo root. Aby wyświetlić jedynie linie, które zaczynają sie od wzorca należy przed wzorcem (bez spacji) podać znak "^".
owi@laptop:~$ grep ^root /etc/passwd
Aby została wyświetlona jedynie liczba linii w których pojawił się podany wzorzec należy użyć parametru -c.
owi@laptop:~$ grep -c ^root /etc/passwd
Aby zostały wyświetlone jedynie linie które nie zaczynają się od podanego wzorca należy użyć parametru -v.
owi@laptop:~$ grep -v ^root /etc/passwd
Autor: Aleksandra Przybyło aleksandraprzybylo@gmail.com
Akademia Górniczo-Hutnicza Wydział Geologii, Geofizyki i Ochrony Środowiska Informatyka Stosowana