Jak wyszukiwać i znajdować pliki w systemie Linux za pomocą poleceń

Często konieczne jest wyszukanie określonych typów plików w środowiskach Linux i nie wiemy, jak prawidłowo je przeszukać bez marnowania czasu.

Dla dystrybucji Linuksa opracowano polecenie o nazwie find, które zostało opracowane w celu rekursywnego filtrowania obiektów w systemie plików w oparciu o mechanizm warunkowy. Za pomocą tego polecenia find możemy wyszukać plik lub katalog w jego systemie plików.

Jeśli dodamy parametr -exec, pliki można znaleźć i przetworzyć natychmiast w ramach tego samego polecenia.

1. Znajdź pliki według nazwy lub rozszerzenia Polecenia systemu Linux


Możemy użyć find z wiersza poleceń, aby zlokalizować określony plik według nazwy lub rozszerzenia.

Jego składnia to:

 find / home / username / -name "* .rozszerzenie"
Na przykład poszukamy plików z rozszerzeniem .gz:

POWIĘKSZAĆ

2. Przydatne polecenia i składnia do użycia z poleceniami Find Linux


Za pomocą polecenia find mamy kilka opcji parametrów, takich jak:
 znajdź opcje początek / ścieżka wyrażenie
Atrybut options kontroluje zachowanie i metodę optymalizacji procesu wyszukiwania. Atrybut home / path określi katalog najwyższego poziomu, w którym find rozpocznie filtrowanie.

Atrybut expression steruje testami, które przeszukują hierarchię katalogów w celu uzyskania danych wyjściowych.
Na przykład możemy wykonać następujące czynności:

 znajdź -O3 -L / var / www / -name "* .html"
To polecenie włącza maksymalny poziom optymalizacji (-O3) i pozwala podążać za dowiązaniami symbolicznymi (-L) w celu przeszukania całego drzewa katalogów na ścieżce /var/www/ w poszukiwaniu plików kończących się na .html.

POWIĘKSZAĆ

3. Opcje i optymalizacja za pomocą poleceń Znajdź Linux


Domyślna konfiguracja Find do wyszukiwania będzie ignorować dowiązania symboliczne (pliki skrótów), jeśli chcemy, aby find podążał i pobierał dowiązania symboliczne, możemy dodać opcję -L do polecenia, jak widzieliśmy wcześniej. Find ma trzy (3) poziomy optymalizacji, którymi są -O1, -O2 i -O3.

Optymalizacja -O1 jest domyślna i wymusza wyszukiwanie w celu filtrowania na podstawie nazwy pliku przed uruchomieniem wszystkich innych testów.

Optymalizacja na poziomie -O2 nadaje priorytet filtrom nazw plików, tak jak w -O1, a następnie uruchamia filtrowanie wszystkich typów plików przed przejściem do innych, bardziej wymagających zasobów. Optymalizacja poziomu -O3 pozwala find na przeprowadzenie głębszej optymalizacji i ponowne uporządkowanie wszystkich testów na podstawie ich względnych wydatków i prawdopodobieństwa uzyskania lepszych wyników.

Niektóre z opcji to:

Jest to filtr oparty na pierwszej nazwie pliku

 -O1 (domyślnie)

Użyj najpierw nazwy pliku, a następnie typu pliku

 -O2

Zmień kolejność wynikówUmożliwia wyszukiwarce automatyczną zmianę kolejności wyszukiwania w oparciu o efektywne wykorzystanie zasobów i prawdopodobieństwo uzyskania lepszych wyników.

 -O3

Przeszukuje bieżący katalog, a także wszystkie podkatalogi X poziomów głęboko

 -maksymalna głębokość X

Szukaj niezależnie od wielkości liter

 -ja nazywam

Zwraca tylko wyniki, które nie pasują do przypadku testowego

 -nie

Przeprowadź wyszukiwanie plików

 -typ f

Przeszukaj katalogi

 -typ d

4. Znajdź pliki według poleceń Linuksa dotyczących modyfikacji czasu


Polecenie find ma możliwość filtrowania hierarchii katalogów na podstawie ostatniej modyfikacji pliku.
Składnia to:
 find / -name "* conf" -mtime 8 find / home / user / -name "* conf" -mtime 2
Pierwsze polecenie wyświetli listę wszystkich plików w całym systemie plików, które kończą się znakami conf i zostały zmodyfikowane w ciągu ostatnich 8 dni. Drugie polecenie filtruje katalog domowy użytkownika w poszukiwaniu plików o nazwach kończących się znakami conf i które zostały zmodyfikowane w ciągu ostatnich 2 dni.

Użyj Grepa, aby znaleźć pliki oparte na zawartości Polecenia LinuksaPolecenie find może filtrować hierarchię katalogów tylko na podstawie nazwy pliku i metadanych, więc jeśli chcesz wyszukiwać na podstawie zawartości pliku, użyj narzędzia takiego jak grep.

Użyjemy następującej składni:

 znajdować. -type f -exec grep "przykład" '{}' \; -wydrukować
Spowoduje to znalezienie wszystkich obiektów w bieżącej hierarchii katalogów (.), która jest plikiem (-type f), a następnie uruchomi polecenie grep „przykład” dla każdego pliku, który spełnia warunki. Pasujące pliki są drukowane na ekranie (-print). Nawiasy klamrowe ({}) to symbol zastępczy wyników wyszukiwania. {} jest ujęty w pojedyncze cudzysłowy ('), aby uniknąć renderowania przez grep nieprawidłowej nazwy pliku. Polecenie -exec kończy się średnikiem "(;)", który musi być poprzedzony znakiem "(\;)", aby uniknąć interpretacji przez powłokę.

Jak znaleźć i przetworzyć pliki za pomocą polecenia Find Linux CommandsMożemy użyć opcji -exec, aby uruchomić polecenia na wszystkich obiektach, które pasują do wyrażenia wyszukiwania.

Jego składnia to:

 znajdować. -name "rc.conf" -exec chmod o + r '{}' \;
Spowoduje to odfiltrowanie wszystkich obiektów w bieżącej hierarchii (.) Dla plików o nazwie rc.conf i uruchomienie polecenia chmod lub + r, aby zmodyfikować uprawnienia wyników wyszukiwania.

Zatem find jest sprzymierzeńcem pełnego wyszukiwania plików w systemie Linux.

wave wave wave wave wave