Moc zaklęta w terminalu cz. 9

Dziewiąty artykuł z serii „Moc zaklęta w terminalu” nosi podtytuł „Wyszukiwanie plików i katalogów„. Miłej lektury!

Głównym bohaterem tego artykułu będzie polecenie find i jego zastosowanie.

Struktura polecenia

Struktura jest bardzo prosta i czytelna:

find katalog_startowy cecha akcja

Opis struktury

  • katalog_startowy – miejsce, w którym rozpocznie się poszukiwanie,
  • cecha – właściwość charakteryzująca plik/katalog, który chcemy znaleźć. Możliwe są następujące właściwości:
    • -iname wzorzec – nazwa pliku określona przy pomocy danego wzorca – bez rozróżniania wielkości liter,
    • -name wzorzec – nazwa pliku określona przy pomocy danego wzorca,
    • -amin n – do pliku zaglądano n minut wcześniej
    • -atime n – do pliku zaglądano n dni wcześniej
    • -cmin n – status pliku zmieniono n minut wcześniej
    • -ctime n – status pliku zmieniono n dni wcześniej
    • -cnewer plik2 – status pliku zmienił się później niż pliku plik2 (jest nowszy niż plik2)
    • -empty – plik lub katalog jest pusty
    • -executable – wyszukiwanie plików wykonywalnych
    • -fstype typ – plik jest na partycji określonego typu
    • -mmin n – zawartość pliku zmieniono n minut wcześniej
    • -mtime n – zawartość pliku zmieniono n dni wcześniej
    • -newer plik2 – pliki nowsze od plik2
    • -user użytkownik – plik należy do danego użytkownika
    • -group grupa – dana grupa pliku
    • -perm przywileje – pliki o danych przywilejach
    • -local – plik na lokalnym systemie plików
    • -size n – dany rozmiar pliku
    • -type c – dany typ pliku ( b, c, d, D, f, l, p, lub s).
      Opis typów plików:

      • b – blokowy (buforowany) plik specjalny
      • c – znakowy (niebuforowany) plik specjalny
      • d – katalog
      • p – łącze nazwane (FIFO)
      • f – zwykły plik
      • l – dowiązanie symboliczne
      • s – gniazdo

    To zaledwie fragment tego, co znajdziesz tutaj:

    man find

    Dodatkowo parametr n można modyfikować:

    • +n – więcej niż n
    • -n – mniej niż n
    • n – dokładnie n
  • akcja – definiuje co zrobić z wynikami wyszukiwania
    • -print – wypisuje nazwę pliku
    • -exec polecenie – wykonanie dla każdego ze znalezionych plików danego polecenia
    • -ok polecenie – jak wyżej, ale trzeba potwierdzić przed każdym wykonaniem.

Zastosowanie

W katalogu z muzyką wyszukujemy wszystkie utwory zespołu Linkin Park:

find ~/Muzyka/ -iname '*linkin park*' -type f -print

Wyszukiwanie pustych katalogów:

find ~/Pulpit/pliki/ -empty -type d

Wyszukanie plików, które zmieniły status w ciągu ostatniego dnia:

find ~/Pulpit/pliki/ -ctime -1 -type f

Wyszukiwanie katalogów należących do Janka:

find /katalog/ -user Janek -type d

Wyszukaj i usuń wszystkie pliki z katalogu /tmp należące do Ani:

find /tmp -user Ania -exec rm -rf {} \;

Znajdź pliki większe niż 10MiB:

find ~ -size 10M

Przeszukanie kilku katalogów w celu znalezienia plików *.doc:

find ~/Pulpit/pliki/wazne ~/Pulpit/pliki/tajne ~/Pulpit/pliki/magisterka -iname *.doc

Więcej informacji i przykładów zastosowań znajdziesz tutaj:

Źródło: emarcel.com
Jeżeli powyższy artykuł nie rozwiązał lub rozwiązał częściowo Twój problem, dodaj swój komentarz opisujący, w którym miejscu napotkałeś trudności.
Mile widziane komentarze z uwagami lub informacjami o rozwiązaniu problemu.