Linux Ubuntu - znajdowanie plików
Find
Polecenia find
służy do znajdowania plików.
Szukanie wg nazwy
find -name "muzyka"
szuka pliku/katalogu o nazwie muzyka, wielkość liter ma znaczenie
find /home -iname "muzyka"
szuka pliku/katalogu o nazwie muzyka w katalogu /home, wielkość liter nie ma
znaczenia
uczen@linux:~$ find -name "muzyka" uczen@linux:~$ find -iname "muzyka" ./Muzyka uczen@linux:~$
Szukanie wg wielkości
find -size 4M
szukanie plików w katalogu bieżącym, których wielkość wynosi 4MB
find -size +4M
szukanie plików w katalogu bieżącym, których wielkość przekracza 4MB
find -size -4M
szukanie plików w katalogu bieżącym, których wielkość nie przekracza 4MB
Oznaczenia wielkości:
- c (bajty)
- k (kilobajty)
- M (megabajty)
- G (gigabajty)
- b (512 bajtowe bloki)
Szukanie wg czasu
find *.txt -atime -1
znajduje pliki tekstowe, do których dostęp (access time) był mniej niż 1 dzień temu.
find *.txt -mtime 1
znajduje pliki tekstowe, które były modyfikowane (modification time) wczoraj.
find *.txt -ctime +7
znajduje pliki tekstowe, których atrybuty (np. zmianiany był właściciel albo zezwolenia)
były zmieniane powyżej 7 dni temu (change time).
uczen@linux:~$ chmod 755 1.txt uczen@linux:~$ find *.txt -ctime -1 1.txt uczen@linux:~$
find *.txt -newer 2.txt
znajduje pliki tekstowe nowsze niż 2.txt
uczen@linux:~$ find *.txt -newer 2.txt 1.txt l3.txt uczen@linux:~$
Szukanie wg typu
find -type f
szukanie plików
Typy:
- b – blokowy
- c – znakowy
- d – katalog
- p – łącze nazwane (FIFO)
- f – zwykły plik
- l – dowiązanie symboliczne
- s – gniazdo
Poniżej przykład szukania plików mających w nazwie słowo "lista".
uczen@linux:~$ find -type f -iname "*lista*" ./lista.txt ./kopia_lista.txt ./k2/k1/lista.txt ./k2/k1/kopia_lista.txt ./k2/k1 (2)/lista.txt ./k2/k1 (2)/kopia_lista.txt uczen@linux:~$
Szukanie wg właściciela i zezwoleń
find -user misiek
szukanie plików i katalogów należących do użytkownika misiek
find -group misiek
szukanie plików i katalogów należących do grupy misiek
find -perm 755
szukanie plików i katalogów o zezwoleniach 755
uczen@linux:~$ chmod 444 1.txt uczen@linux:~$ find -perm 444 ./1.txt uczen@linux:~$
Łączenie zapytań
find -perm 444 -user uczen -size -10M
szukanie plików użytkownika uczen o zezwoleniach 444 i wielkości poniżej 10 MB
find -perm 444 ! -user uczen
szukanie plików o zezwoleniu 444, ale nie należacych do użytkownika uczen
find -perm 444 -not -user uczen
to samo co wyżej
uczen@linux:~$ find -perm 444 ! -user uczen uczen@linux:~$ find -perm 444 -not -user uczen uczen@linux:~$ find -perm 444 -user uczen ./1.txt