Linux | Terminal - wyszukiwanie plików - find · Technik informatyk egzamin zawodowy

Soisk / Linux

Linux | Terminal - wyszukiwanie plików - find

Szukanie według nazwy

  • find -name nazwaplikulubkatalogu
    szuka pliku/katalogu o podanej nazwie, wielkość liter ma znaczenie
  • find -iname nazwaplikulubkatalogu
    szuka pliku/katalogu o podanej nazwie, wielkość liter nie ma znaczenia
  • find nazwakatalogu -name nazwaplikulubkatalogu
    szuka pliku/katalogu w podanym katalogu

 

Szukanie według typu

  • find -type f -name nazwapliku
    szukanie konkretnego pliku,
  • find -type d -name nazwakatalogu
    szukanie konkretnego katalogumożliwe typy:
    • b – blokowy
    • c – znakowy
    • d – katalog
    • p – łącze nazwane (FIFO)
    • f – zwykły plik
    • l – dowiązanie symboliczne
    • s – gniazdo

 

Szukanie według wielkości:

  • find -size 1M
    szukanie plików o wielkości dokładnie 1MB
  • find -size +1M
    szukanie plików większych niż 1MB
  • find -size -1M
    szukanie plików mniejszych niż 1MB
  • find -size +1M -size -2M
    szukanie plików większych niż 1MB i zarazem mniejszych niż 2MBmożliwe wielkości:
    • c (bajty)
    • k (kilobajty)
    • M (megabajty)
    • G (gigabajty)
    • b (512 bajtowe bloki)

 

Szukanie według czasu:

  • find -mtime 30
    znajdź pliki zmodyfikowane 30 dni temu
  • find -atime -7
    znajdź pliki otwierane w ciągu mniej niż 7 ostatnich dni
  • find -ctime +5
    znajdź pliki, którym modyfikowano atrybuty dawniej niż 5 dni temu
  • find -mmin -60
    znajdź pliki modyfikowane w ciągu ostatnich 60 minut
  • find -newer plik.txt
    znajdź pliki nowsze niż plik.txt

 

Szukanie według właściciela i uprawnień:

  • find -user root -name “k*.txt”
    znajdź pliki tekstowe rozpoczynające się na literę k, których właścicielem jest root
  • find /home -user uczen
    znajdź w katalogu /home wszystko co należy do użytkownika uczen
  • find -group szkola
    znajdź w bieżącym katalogu wszystko co jest przypisane do grupy szkoła
  • find -type f -perm 0777
    znajdź pliki o ustawionych uprawnieniach na 777

Zaprzeczenie:

  • find ! -type f
    znajdź wszystko poza plikami
  • find -not -user uczen
    znajdź wszystko co nie należy do użytkownika uczen

 

Głębokość poszukiwań

  • find -maxdepth 2 -name *.txt
    znajdź pliki tekstowe schodząc w strukturze katalogów maksymalnie o 2 katalogi w dół (2 zagnieżdżenia)

 

Operator LUB

  • find -name ‘*.php’ -o -name ‘*.txt’
    znajdź pliki o rozszerzeniu php lub txt

 

Szukanie w kilku katalogach

  • find ./katalog1 ./katalog2 -type f -name “abc*”
    znajdź pliki znajdujące się w katalogu1 lub katalogu2, których nazwa rozpoczyna sie od abc

 

Szukanie plików ukrytych

  • find ~ -type f -name “.*”
    znajdź pliki ukryte (~)

 

Puste pliki i katalogi

  • find /tmp -type f -empty
    znajdź puste pliki
  • find /tmp -type d -empty
    znajdź puste katalogi

 

Łączenie poleceń

  • find . -exec ls -ld {} \;
    wyświetlenie zawartości bieżącego katalogu wraz ze szczegółami uprawnień
  • find /tekstowe -type f -name “*.txt” -exec rm -f {} \;
    usunięcie wszystkich znalezionych plików tekstowych z katalogu /tekstowe
  • find . -type f -exec ls -s {} \; | sort -n -r | head -5
    Znajdź 5 największych plików w bieżącym katalogu i podkatalogach
  • find . -type f -exec ls -s {} \; | sort -n | head -5
    Znajdź 5 najmniejszych plików

 

Przykłady te zostały wykonane na poniżej załączonym zestawie plików, których struktura przedstawia się następująco: