Jak używać polecenia Znajdź w systemie Linux?

Podczas pracy w środowisku UNIX, takim jak w tym przypadku Linux, najlepiej jest poznać szczegółowo użycie niektórych poleceń, które pomogą nam w wielu zadaniach, zarówno administracyjnych, jak i osobistych. Jednym z nich jest polecenie Znajdź, które, jak sama nazwa wskazuje, służy do wyszukiwania plików lub elementów znajdujących się w systemie operacyjnym w prosty, ale funkcjonalny i kompletny sposób.

Decydując się na użycie polecenia find, możemy przeszukać i zlokalizować listę plików lub katalogów na podstawie warunków, które wskazujemy w składni użycia do wykonania. Następnie zobaczymy, czym jest polecenie find i jak możemy go używać w Linuksie przy użyciu różnych jego parametrów.

Co jest znalezioneZnajdź to polecenie w dystrybucjach Linuksa, które jest bardzo przydatne, mimo że jest nieco nieznane. Jest to polecenie, które ułatwi zadanie odnalezienia pliku, gdy mamy wiele plików i naprawdę trudno go znaleźć. Oprócz plików możesz także przeszukiwać lub usuwać całe katalogi. Możesz wyszukiwać za pomocą określonych filtrów, takich jak rozmiar, nazwa, rozszerzenie, data …

Filtrowanie wyszukiwań za pomocą ZnajdźJedną z wielkich zalet korzystania z tego polecenia jest to, że możemy filtrować wyniki według różnych zmiennych, takich jak:

  • Uprawnienia
  • Grupy
  • Użytkownicy
  • Typ pliku
  • Data powstania lub modyfikacji
  • Dostępny rozmiar i więcej opcji

Solvetic wyjaśni różne metody skutecznego korzystania z polecenia Znajdź w systemie Linux i w tym przypadku użyjemy Ubuntu 19.04. Zobaczymy, jak możemy użyć polecenia find do wyszukiwania i wyszukiwania plików z filtrami za pomocą terminala Linux.

1. Jak wyszukiwać pliki według nazwy lub rozszerzenia za pomocą poleceń w systemie Linux?


Jest to najistotniejsza część korzystania z polecenia Znajdź i do tego wymagana jest znajomość nazwy obiektu lub jego rozszerzenia (.mp4, .txt,. Jpg.webp itp.) w celu uzyskania bezpośredniego wyniku.

Krok 1
Na przykład chcemy znaleźć plik o nazwie Solvetic.docx, który znajduje się w folderze na pulpicie, w tym przypadku musimy przejść do tej ścieżki, a następnie wykonać następujące czynności:

 znajdź -nazwa Solvetic.docx 
Krok 2
W rezultacie zobaczymy folder, w którym znajduje się wspomniany plik (jeśli dotyczy):

Krok 3
Wręcz przeciwnie, jeśli chcemy zobaczyć wszystkie pliki według określonego rozszerzenia, takiego jak .docx, wykonamy następujące czynności:

 znajdź -nazwa "* .docx"
Krok 4
Gwiazdka zawiera listę wszystkich plików z tym rozszerzeniem

Krok 5
Składnia ogólnego przeznaczenia polecenia Znajdź jest następująca:

 znajdź [-H] [-L] [-P] [ścieżka…] [wyrażenie] 
Krok 6
Te parametry to:

-HNie podąża za dowiązaniami symbolicznymi, z wyjątkiem sytuacji, gdy przetwarzane są argumenty wiersza poleceń.

-LPostępuj zgodnie z dowiązaniami symbolicznymi.

-PNigdy nie podąża za dowiązaniami symbolicznymi i jest opcją domyślną

Krok 7
Opcja [ścieżka…] wskazuje lokalizację, w której wyszukiwanie ma zostać przeprowadzone w systemie Linux. Parametr [wyrażenie] mogą być operatorami, opcjami, testami lub akcjami do wykonania, widzimy, że domyślnie polecenie Znajdź zignoruje dostępne dowiązania symboliczne, ale z -L poszukamy ich w celu uzyskania pełniejszych wyników.
Istnieją trzy poziomy optymalizacji, które możemy wybrać po uruchomieniu Find, są to:

  • -O1
  • -O2
  • -O3

Krok 8
Wartość -O1 jest opcją domyślną i jej funkcją jest wymuszenie wyszukiwania polecenia Znajdź na podstawie zdefiniowanej przez nas nazwy pliku. Poziom -O2 dba o priorytetyzację filtrów nazw plików, następnie wykona wszystkie filtry w oparciu o typ pliku, a później użyje innych warunków dla pełnych wyników, a poziom -O3 wykonuje głębszą optymalizację, wykorzystując wszystkie zasoby do maksimum .

Znajdź opcje poleceńOgólne opcje wyszukiwania to:

  • -O1: wartość domyślna, jest to filtr oparty na nazwie wskazanego pliku.
  • -O2: Szukaj najpierw według nazwy pliku, a następnie według jego typu
  • -O3: Uruchom wyszukiwanie, które automatycznie sortuje wyniki na podstawie wykorzystania zasobów
  • -maxdepth X: Przeszukuj bieżący katalog i podkatalogi na X poziomach.
  • -iname: Szukaj bez polegania na tekście.
  • -not: Zwraca tylko wyniki, które nie pasują do wyszukiwania
  • -type f: Szukaj tylko plików.
  • -wpisz d: uruchom przeszukiwanie katalogu

2. Jak znaleźć pliki według nazwy lub rozszerzenia za pomocą poleceń nieuwzględniających wielkości liter w systemie Linux?

Jest to metoda, która pozwala nam znaleźć pliki i wyświetlić wyniki zawierające duże i małe litery:

 znajdź -iname solvetic.docx 

Wyszukaj nazwy w katalogachZa pomocą tej metody możemy wykryć wszystkie katalogi o nazwie Solvetic w katalogu domowym (/):

 find / -type d -name Solvetic

Znajdź pliki bez uprawnień 777Uprawnienia 777 (Rwxrwxrwx) z tymi uprawnieniami, które nie mają ograniczeń, to znaczy każdy użytkownik może uzyskać do nich dostęp.
Aby zobaczyć pliki, które nie mają tego uprawnienia, wykonamy następujące czynności:

 znajdź / -wpisz f! -trwała 777 

Teraz, jeśli chcemy zobaczyć pliki, które mają uprawnienia 777, wykonamy:

 znajdować. -typ f -perm 0777 -drukuj 

Znajdź pliki SGID z 2644 uprawnieniamiPermission 2644 to pliki, które mają uprawnienia do odczytu i zapisu, więc aby zobaczyć te pliki, wykonamy:

 znajdź / -perm 2644

Znajdź pliki SUID w systemie LinuxPliki SUID (Ustaw identyfikator użytkownika właściciela podczas wykonywania) są specjalnymi uprawnieniami do plików przyznawanymi elementowi i służą do tymczasowego przyznawania uprawnień użytkownikowi w celu wykonania programu lub pliku z uprawnieniami właściciela pliku.
Aby je zobaczyć, wykonamy następujące czynności:

 znajdź / -perm / u = s

Wyszukaj pliki SGIDPliki SGID (Ustawianie identyfikatora grupy podczas wykonywania) to specjalny rodzaj uprawnień do plików, dzięki któremu możliwe jest dziedziczenie uprawnień dostępu zalogowanego użytkownika. Aby wyświetlić te pliki, wykonamy następujące czynności:

 znajdź / -perm / g = s

Znajdź pliki tylko do odczytuAby zobaczyć, które pliki są tylko do odczytu w systemie Linux, wykonamy:

 znajdź / -perm / u = r

Wyszukaj pliki wykonywalneJeśli chcemy wiedzieć z całą pewnością, które pliki są wykonywalne, możemy skorzystać z następującej linii:

 znajdź / -perm / a = x

3. Jak znaleźć pliki z uprawnieniami 777 i chmod 755 w systemie Linux?

Krok 1
Są to specjalne uprawnienia do odczytu i zapisu, aby zobaczyć te pliki, które zamierzamy wykonać:

 find / -type d -perm 777 -print -exec chmod 755 {} \;

Krok 2
Teraz, jeśli chcemy znaleźć pliki z uprawnieniami 777 i chmod 644 wykonujemy:

 find / -type f -perm 0777 -print -exec chmod 644 {} \;

4. Znajdź i usuń pliki za pomocą poleceń w systemie Linux

Znajdź i usuń plikDzięki Find możemy wykryć plik i kontynuować jego usuwanie, w tym przypadku usuniemy plik solvetic.docx, dla którego wykonujemy następujące czynności:

 znajdować. -type f -name "solvetic.docx" -exec rm -f {} \; 

Jeśli chcemy usunąć kilka plików, możemy użyć ich rozszerzenia:

 znajdować. -type f -name "* .docx" -exec rm -f {} \;

Szukaj pustych plików lub katalogówMożemy podać ścieżkę, np. / tmp, aby znaleźć puste katalogi, w tym przypadku wykonujemy:

 znajdź / tmp -typ d -pusty

Aby wyszukać puste pliki wykonujemy:

 znajdź / tmp -typ f -pusty

Znajdź ukryte plikiW Linuksie i we wszystkich systemach niektóre pliki są ukryte ze względów bezpieczeństwa, jeśli dla jakiegoś zadania administracyjnego lub pomocy technicznej wymagane jest sprawdzenie, co to jest, możemy wykonać następujące polecenie z żądaną ścieżką, w tym przypadku home:

 znajdź / home -typ f -nazwa ". *"

Znajdź pliki użytkownikaInną z wielu opcji, które oferuje nam polecenie Znajdź, jest wykrywanie plików konkretnego użytkownika, na przykład, aby znaleźć wszystkie pliki użytkownika solvetic w katalogu domowym, wykonamy następujące czynności:

 znajdź / home -rozwiązek użytkownika

Znajdź pliki z określonej grupyAby znaleźć elementy grupy, wykonamy następujący wiersz:

 znajdź / home-group solvet

5. Znajdź pliki w określonym przedziale czasowym za pomocą poleceń w systemie Linux

Krok 1
Za pomocą polecenia Znajdź możliwe będzie wyszukiwanie plików, które były używane w określonym przedziale czasu, na przykład, aby zobaczyć pliki z ostatnich 30 dni, które zostały zmodyfikowane, które możemy wykonać:

 znajdź / -mczas 30 

Krok 2
Aby zobaczyć pliki, które przedstawiły dostęp, wykonujemy:

Krok 3
Aby zobaczyć pliki zmodyfikowane w zakresie dni, na przykład od 1 do 5, użyjemy następującej linii:

 znajdź / -mtime +1 -mtime -5

Krok 4
Jeżeli chcemy zobaczyć pliki, które w ciągu ostatniej godziny lub minut przedstawiły jakąkolwiek zmianę, możemy wykonać następujące czynności:

 znajdź / -cmin -45
Krok 5
Spowoduje to wyświetlenie listy plików z ostatnich 45 minut:

Krok 6
Podobnie możemy wyświetlić listę plików, do których uzyskano dostęp w określonym czasie:

 znajdź / -amin -60 

6. Znajdź pliki o określonym rozmiarze za pomocą poleceń w systemie Linux

Krok 1
Istnieje możliwość zdefiniowania rozmiaru pliku w ramach kryteriów wyszukiwania, dzięki czemu można zobaczyć wszystkie pliki o wadze 10 MB, które wykonujemy:

 znajdź / -rozmiar 10M

Krok 2
Do ustalenia zakresu wagowego posłużymy się:

 znajdź / -rozmiar + 15M -rozmiar -90M

Krok 3
Jeśli z jakiegoś powodu chcemy wykryć i usunąć plik o określonym rozmiarze, zastosujemy następującą składnię:

 znajdź / -size + 200M -exec rm -rf {} \;
NotatkaWersja find w Uniksie ma kilka niedociągnięć, dlatego musimy zmodyfikować nasze polecenie, aby uzyskać pożądany wynik, na przykład:

  • Na Linuksie
 znajdować. -rozmiar 50M | xargs ls -l
  • W systemie Unix
 znajdować. -rozmiar 50M -druk0 | xargs -0 ls -l 
Na poziomie Skryptów wszystkie wyniki z find są pozytywne niezależnie od tego, czy otrzymamy wyniki, czy nie, w linuxie mamy opcję -print -quit w przypadku braku wyników.

W uniksowej wersji Find brakuje tej opcji i najlepiej jest używać jej razem z grepem, aby na przykład zweryfikować wynik.

 przeczytaj -r jeśli znajdź. -maxdepth 1 -name "$ a" -print -quit | grep -q. then echo "Znaleziono plik" else echo "Nie znaleziono pliku" jeśli

7. Znajdź pliki graficznie w Linuksie


Aktualne dystrybucje Linuksa, ze środowiskiem graficznym (GUI), dają nam możliwość wykorzystania zintegrowanej wyszukiwarki do łatwego wykrycia żądanych plików, w przypadku Ubuntu 19.04 mamy dostęp do plików i w polu wyszukiwania wpisać żądany termin do natychmiast wyświetl powiązane wyniki:

POWIĘKSZAĆ

Widzimy, jak wyszukiwanie plików w systemie Linux jest naprawdę kompletne dzięki poleceniu Znajdź i jego różnym odmianom, aby uzyskać najlepsze wyniki w zależności od przypadku.

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave