Przykłady użycia polecenia Znajdź w systemie Linux

Najbardziej popularne menedżery plików dla systemów operacyjnych na jądrze Linuksa mają dość funkcjonalne narzędzie wyszukiwania. Jednak parametry, które nie zawsze są w nim obecne, wystarczą użytkownikowi na wyszukanie niezbędnych informacji. W tym przypadku standardowe narzędzie uruchamiane przez Terminal przychodzi na ratunek. Pozwala łatwo znaleźć wymagane dane w określonym katalogu lub w całym systemie, wprowadzając polecenie, argument i opcję.

Użyj polecenia find w systemie Linux.

Polecenie find służy do wyszukiwania różnych obiektów, w tym plików o dowolnych formatach i katalogach o różnych głębokościach. Użytkownik musi tylko wprowadzić polecenie, określić żądaną wartość i przypisać argumenty, aby ustawić parametry filtrowania. Wykonanie procedury przez samo narzędzie zwykle nie zajmuje dużo czasu, ale zależy również od ilości skanowanych informacji. Spójrzmy teraz na przykłady użycia znajdź bardziej szczegółowo.

Przejdź do katalogu za pomocą konsoli

Na początek chciałbym trochę wycofać się z zespołu głównego i poruszyć temat dodatkowych działań, które pomogą w przyszłości podczas zarządzania z konsoli. Faktem jest, że narzędzia w dystrybucjach Linuksa nie są wyostrzone przez wyszukiwanie wszystkich elementów na komputerze. Wszystkie procesy należy uruchamiać tylko z pełną lokalizacją elementów lub przejść do lokalizacji za pomocą polecenia cd . Można to zrobić dość łatwo:

  1. Otwórz zainstalowany menedżer plików i przejdź do żądanego folderu, w którym chcesz użyć polecenia find w przyszłości.
  2. Przejdź do żądanego katalogu za pomocą menedżera plików Linux

  3. Kliknij prawym przyciskiem myszy dowolny obiekt i znajdź element „Właściwości” .
  4. Przejście do właściwości obiektu w systemie operacyjnym Linux

  5. Zobaczysz jego folder nadrzędny z pełną ścieżką. Zapamiętaj go, aby przejść z „Terminalu” .
  6. Znajdź folder nadrzędny obiektu za pomocą właściwości w systemie Linux

  7. Teraz uruchom konsolę, na przykład poprzez menu.
  8. Uruchamianie terminala w celu wprowadzania poleceń w systemie Linux

  9. Wpisz polecenie cd /home/user/folder , gdzie użytkownik jest nazwą katalogu domowego użytkownika, a folder jest nazwą żądanego katalogu.
  10. Przejdź do lokalizacji w terminalu Linux

Jeśli przed użyciem find , aby wykonać powyższe instrukcje, możesz pominąć pełną ścieżkę do pliku, pod warunkiem, że znajduje się w wybranej lokalizacji. Takie rozwiązanie znacznie przyspieszy polecenia wejściowe w przyszłości.

Wyszukaj pliki w bieżącym katalogu

Po uruchomieniu find z uruchomionej konsoli otrzymasz wynik wyszukiwania w katalogu domowym aktywnego użytkownika. W innym przypadku, na przykład, gdy aktywujesz podczas wyszukiwania według lokalizacji, w wynikach zobaczysz wszystkie podfoldery i pliki tego miejsca obecne w nich.

Używanie find bez argumentów w Linuksie

Aktywacja funkcji wyszukiwania bez argumentów i opcji jest używana, gdy trzeba wyświetlić wszystkie elementy na raz. Jeśli ich nazwa nie pasuje całkowicie do ciągów, warto zmienić polecenie, aby find . -print formularz find . -print find . -print .

Wyszukaj pliki w określonym katalogu

Polecenie wyświetlania plików przez daną ścieżkę jest prawie takie samo, jak wspomniane powyżej. Powinieneś również określić find , a następnie dodać ./folder jeśli chcesz dowiedzieć się o katalogu w bieżącej lokalizacji, lub musisz podać pełną ścieżkę, wpisując, na przykład, find ./home/user/downloads/folder , gdzie jest folder katalog końcowy Każdy element będzie wyświetlany w osobnych wierszach w kolejności ich głębokości.

Używanie polecenia find z lokalizacją pliku w systemie Linux

Szukaj według nazwy

Czasami istnieje potrzeba wyświetlenia tylko obiektów, które spełniają nazwę. Następnie użytkownik musi ustawić osobną opcję dla polecenia, aby zrozumiał odwołanie. Wiersz wprowadzania ma postać: find . -name "słowo", gdzie słowo jest słowem kluczowym wyszukiwania, które musi być zapisane w cudzysłowie i rozróżniana wielkość liter dla każdego znaku.

Wyszukiwanie plików według nazwy za pomocą polecenia find w systemie Linux

Jeśli nie znasz dokładnego przypadku każdej litery lub chcesz wyświetlić wszystkie pasujące nazwy, bez uwzględniania tego parametru, wpisz find . -iname "word" w konsoli find . -iname "word" find . -iname "word" .

Aby filtrować wyniki według słów kluczowych, do argumentu -name dodaje się jeszcze jedną. Polecenie ma postać find . -not -name "word" find . -not -name "word" , gdzie słowo jest słowem do usunięcia.

Włącz polecenie wyszukiwania filtrowania słów kluczowych w systemie Linux

Czasami jednak istnieje potrzeba znalezienia obiektów za pomocą jednego klawisza, z wyłączeniem drugiego. Następnie przypisuje się kolejno kilka opcji wyszukiwania, a wiersz wprowadzania jest następujący: find . -name "word" -not name "*.txt" find . -name "word" -not name "*.txt" . Zauważ, że drugi argument w cudzysłowie wskazuje „ * .txt” , co oznacza, że find działa nie tylko z nazwami, ale także z formatami plików określonymi w tym formularzu.

Połączone wyszukiwanie według nazwy za pomocą polecenia find w systemie Linux

Istnieje również operator OR . Umożliwia znalezienie jednego lub kilku odpowiednich argumentów jednocześnie. Każdy jest określony osobno, z dodaniem odpowiednich argumentów. Wynikiem jest coś takiego: find -name "word" -o -name "word1" .

Użycie opcji OR w poleceniu Znajdź Linux

Określ głębokość wyszukiwania

Polecenie find pomoże użytkownikowi nawet wtedy, gdy musi znaleźć zawartość katalogów tylko na określoną głębokość, na przykład analiza nie jest wymagana w trzecim podfolderze. Aby ustawić te limity, wprowadź find . -maxdepth N -name "word" find . -maxdepth N -name "word" , gdzie N jest maksymalną głębokością, a -name „słowo” to dowolne kolejne argumenty.

Określ głębokość skanowania za pomocą polecenia find w systemie Linux

Wyszukaj wiele katalogów

W wielu katalogach istnieje kilka folderów o różnej zawartości. Jeśli jest ich duża liczba, a wyszukiwanie musi być przeprowadzone tylko w niektórych, to trzeba to określić, wpisując find ./folder ./folder1 -type f -name "word" , gdzie ./folder ./folder1 to lista odpowiednich katalogów i -name „słowo” - pozostałe argumenty.

Wyszukaj wiele folderów podczas używania polecenia find w systemie Linux

Wyświetl ukryte przedmioty

Bez odpowiedniego argumentu ukryte obiekty w skanowanych katalogach nie będą wyświetlane w konsoli. Dlatego użytkownik ręcznie wprowadza dodatkową opcję kończącą się poleceniem: find ~ -type f -name ".*" . Otrzymasz pełną listę wszystkich plików, ale jeśli niektóre z nich są niedostępne, wpisz sudo w wierszu przed słowem znajdź, aby aktywować prawa administratora.

Wyświetl ukryte pliki za pomocą polecenia find w systemie Linux

Skanowanie folderów domowych dla grup i użytkowników

Każdy użytkownik może utworzyć nieograniczoną liczbę katalogów i obiektów w różnych lokalizacjach. Najszybszy sposób na znalezienie informacji należących do jednego z użytkowników za pomocą polecenia find i jednego z jego argumentów. find . -user username liście „Terminal” find . -user username find . -user username , gdzie nazwa użytkownika to nazwa użytkownika. Po wprowadzeniu skanowania rozpocznie się automatycznie.

Pokaż pliki należące do użytkownika za pomocą polecenia find w systemie Linux

W przybliżeniu ten sam schemat działa z grupami użytkowników. Analiza plików powiązanych z jedną z grup jest find /var/www -group groupname za pomocą find /var/www -group groupname . Nie zapominaj, że może istnieć duża liczba obiektów, a czasami ich wydrukowanie zajmuje dużo czasu.

Pokaż pliki należące do określonej grupy za pomocą polecenia find w systemie Linux

Filtruj według daty zmiany

System operacyjny automatycznie zapisuje datę zmiany każdego istniejącego pliku. Polecenie find pozwala znaleźć je wszystkie według określonego parametru. Musisz tylko zarejestrować sudo find / -mtime N , gdzie N jest liczbą dni temu, kiedy obiekt był ostatnio modyfikowany. Prefiks sudo jest potrzebny do uzyskania danych o plikach przeznaczonych tylko dla superużytkownika.

Filtruj według daty zmiany za pomocą polecenia znajdź w systemie Linux

Jeśli jesteś zainteresowany przeglądaniem przedmiotów, które ostatnio otworzyły określoną liczbę dni temu, linia zmienia nieco swój wygląd na sudo find / -atime N

Filtruj według daty otwarcia za pomocą polecenia znajdź w systemie Linux

Filtruj według rozmiaru pliku

Każdy obiekt ma swój własny rozmiar, polecenie wyszukiwania plików musi mieć funkcję, która umożliwia ich filtrowanie według tego parametru. find jest w stanie to zrobić, użytkownik musi jedynie ustawić rozmiar za pomocą argumentu. Po prostu wpisz find / -size N , gdzie N to objętość w bajtach, megabajtach (M) lub gigabajtach (G).

Filtrowanie wyszukiwania według rozmiaru za pomocą find w systemie Linux

Możesz określić zakres żądanych elementów. Następnie kwalifikatory pasują do polecenia, a otrzymasz na przykład następującą linię: find / -size +500M -size -1000M . Ta analiza wyświetli pliki o rozmiarze ponad 500 megabajtów, ale mniej niż 1000.

Ustaw zakres rozmiarów plików do znalezienia przez znajdź w Linuksie

Wyszukaj puste pliki i katalogi

Niektóre pliki lub foldery są puste. Po prostu zajmują dodatkowe miejsce na dysku i czasami zakłócają normalną interakcję z komputerem. Powinny być znalezione, aby zdecydować o dalszych działaniach, a find /folder -type f -empty pomoże w tym, gdzie / folder jest miejscem, w którym wykonywane jest skanowanie.

Pokaż puste obiekty za pomocą find w systemie Linux

Osobno chciałbym krótko wspomnieć o innych przydatnych argumentach, które od czasu do czasu stają się przydatne dla użytkownika:

  • -mount - ograniczenie tylko do obecnego systemu plików;
  • -type f - wyświetla tylko pliki;
  • -type d - pokaż tylko katalogi;
  • -nogroup , -nouser - wyszukuje pliki, które nie należą do żadnej grupy lub nie należą do użytkownika;
  • -version - sprawdź wersję używanego narzędzia.

Po zapoznaniu się z poleceniem find jest zakończone. Jeśli chcesz szczegółowo zbadać inne standardowe narzędzia konsolowe systemów operacyjnych na jądrze Linuksa, radzimy zapoznać się z naszym oddzielnym materiałem pod następującym linkiem.

Więcej szczegółów: Często używane polecenia w terminalu Linux

Po wyszukaniu wymaganych informacji możesz wykonywać z nimi inne czynności, na przykład edytować, usuwać lub studiować zawartość. Pomoże to innym wbudowanym narzędziom „Terminal” . Przykłady ich użycia znajdują się poniżej.

Zobacz także: Przykłady poleceń grep / kot / ls w Linuksie