find command unix
Wprowadzenie do polecenia znajdowania w systemie Unix: Przeszukuj pliki i katalogi za pomocą polecenia znajdowania pliku w systemie Unix
Polecenie znajdowania w systemie Unix to potężne narzędzie do wyszukiwania plików lub katalogów.
Wyszukiwanie może opierać się na różnych kryteriach, a pasujące pliki można przeprowadzać za pomocą określonych akcji. To polecenie rekurencyjnie obniża hierarchię plików dla każdej określonej ścieżki.
=> Kliknij tutaj, aby zapoznać się z pełną serią samouczków dotyczących systemu Unix
Czego się nauczysz:
wznowienie testowania oprogramowania na 1 rok doświadczenia
Znajdź polecenie w systemie Unix
Składnia:
find (options) (paths) (expression)
Opcje tego polecenia służą do określania sposobu traktowania dowiązań symbolicznych. Po nim następuje zestaw ścieżek do przeszukania. Jeśli nie określono żadnych ścieżek, używany jest katalog bieżący. Podane wyrażenie jest następnie uruchamiane na każdym z plików znalezionych w ścieżkach.
Wyrażenie składa się z serii opcji, testów i akcji, z których każda zwraca wartość logiczną. Wyrażenie jest oceniane od lewej do prawej dla każdego pliku w ścieżce do momentu określenia wyniku, tj. Wiadomo, że wynik jest prawdziwy lub fałszywy.
- Wyrażenia opcji służą do ograniczania operacji wyszukiwania i zawsze zwracają wartość true.
-
- -depth: przetwarza zawartość katalogu przed przetworzeniem samego katalogu.
- -maxdepth: maksymalne poziomy poniżej podanych ścieżek do zejścia na mecz.
- -mindepth: minimalne poziomy poza podanymi ścieżkami do zejścia przed dopasowaniem.
-
- Wyrażenia testowe służą do oceny określonych właściwości plików i odpowiednio zwracają wartość prawda lub fałsz. (Wszędzie tam, gdzie użyto licznika „n”: bez żadnego przedrostka dopasowanie dotyczy dokładnej wartości n; z przedrostkiem „+” dopasowanie dotyczy wartości większych niż n; a przy przedrostku „-” dopasowanie jest dla wartości mniejszych niż n.)
-
- -atime n: zwraca wartość true, jeśli dostęp do pliku nastąpił n dni temu.
- -ctime n: zwraca wartość true, jeśli stan pliku został zmieniony n dni temu.
- -mtime n: zwraca wartość true, jeśli zawartość pliku została zmodyfikowana n dni temu.
- -name wzorzec: zwraca wartość true, jeśli nazwa pliku jest zgodna z podanym wzorcem powłoki.
- -iname wzorzec: zwraca wartość true, jeśli nazwa pliku jest zgodna z podanym wzorcem powłoki. W dopasowaniu nie jest rozróżniana wielkość liter.
- -path wzorzec: zwraca wartość true, jeśli nazwa pliku ze ścieżką jest zgodna ze wzorcem powłoki.
- -regex wzorzec: zwraca wartość true, jeśli nazwa pliku ze ścieżką jest zgodna z wyrażeniem regularnym.
- -size n: Zwraca wartość true, jeśli rozmiar pliku to n bloków.
- -perm - tryb: Zwraca wartość true, jeśli wszystkie bity uprawnień trybu są ustawione dla pliku.
- -type c: zwraca prawdę, jeśli plik jest typu c (np. „b” dla pliku urządzenia blokowego, „d” dla katalogu itp.).
- -username: Zwraca wartość true, jeśli właścicielem pliku jest nazwa użytkownika „nazwa”.
-
- Wyrażenia akcji służą do definiowania działań, które mają skutki uboczne i mogą zwracać wartość true lub false. Jeśli nie określono żadnych działań, akcja „-print” jest wykonywana dla wszystkich pasujących plików.
-
- -delete: usuwa dopasowany plik i zwraca prawdę, jeśli się powiedzie.
- -exec polecenie: wykonuje dane polecenie dla każdego pasującego pliku i zwraca prawdę, jeśli wartość zwracana wynosi 0.
- -ok polecenie: podobne do wyrażenia „exec”, ale najpierw potwierdza to z użytkownikiem.
- -ls: Wyświetla pasujący plik w formacie „ls -dils”.
- -print: drukuje nazwę pasującego pliku.
- -prune: Jeśli plik jest katalogiem, nie schodź do niego i zwróć true.
-
- Wyrażenie jest obliczane od lewej do prawej i składane przy użyciu następujących operatorów.
-
- ( wyr ) : Służy do wymuszania pierwszeństwa.
- ! wyrażenie: używane do negowania wyrażenia.
- wyr1 -do wyrażenie2: Wynikiem jest „i” z dwóch wyrażeń. Wyrażenie2 jest oceniane tylko wtedy, gdy wyrażenie1 jest prawdziwe.
- wyrażenie1 wyrażenie2: operator „i” jest w tym przypadku niejawny.
- wyr1 -lub wyrażenie2: wynikiem jest „lub” z dwóch wyrażeń. Wyrażenie2 jest oceniane tylko wtedy, gdy wyrażenie1 jest fałszywe.
-
Przykłady
Wyświetla wszystkie pliki znalezione w bieżącym katalogu i jego hierarchii
$ find.
Wyświetl listę wszystkich plików znalezionych w bieżącej hierarchii i całej hierarchii poniżej / home / xyz
$ find. /home/XYZ
Wyszukaj plik o nazwie abc w bieżącym katalogu i w jego hierarchii
$ find ./ -name abc
Wyszukaj katalog według nazwy xyz w bieżącym katalogu i w jego hierarchii
$ find ./ -type d -name xyz
Wyszukaj plik o nazwie abc.txt pod bieżącym katalogiem i poproś użytkownika o usunięcie każdego dopasowania.
Zwróć uwagę, że ciąg „{}” jest zastępowany rzeczywistą nazwą pliku podczas działania, a znak „;” ciąg jest używany do zakończenia polecenia do wykonania.
$ find ./ -name abc.txt -exec rm -i {} ;
Wyszukaj pliki, które zostały zmodyfikowane w ciągu ostatnich 7 dni poniżej bieżącego katalogu
$ find ./ -mtime -7
Wyszukaj pliki, które mają wszystkie uprawnienia ustawione w bieżącej hierarchii
$ find ./ -perm 777
Wniosek
Krótko mówiąc, polecenie Znajdź w systemie Unix zwraca wszystkie pliki poniżej bieżącego katalogu roboczego. Co więcej, polecenie find pozwala użytkownikowi określić akcję, która ma zostać wykonana na każdym dopasowanym pliku.
=> Kliknij tutaj, aby zapoznać się z pełną serią samouczków dotyczących systemu Unix
rekomendowane lektury
- Polecenie Cut w systemie Unix z przykładami
- Polecenie Ls w systemie Unix z przykładami
- Manipulacja plikami w Uniksie: Przegląd systemu plików Unix
- Składnia poleceń Unix Cat, opcje z przykładami
- Polecenie Grep w systemie Unix z prostymi przykładami
- Polecenie sortowania systemu Unix ze składnią, opcjami i przykładami
- Polecenie Tar w systemie Unix do tworzenia kopii zapasowych (przykłady)
- Jak porównać dwa pliki w systemie Unix: polecenia porównywania plików