Dowiedz się, jak korzystać z polecenia Znajdź w tym samouczku z naszych archiwów.

jest rzeczą oczywistą, że każde dobre środowisko graficzne Linuksa oferuje możliwość przeszukiwania systemu plików w poszukiwaniu plików i folderów. Jeśli Twój domyślny pulpit nie działa — ponieważ jest to Linux-zawsze możesz zainstalować aplikację, która ułatwi przeszukiwanie hierarchii katalogów.

ale co z wierszem poleceń?, Jeśli zdarza Ci się często pracować w wierszu poleceń lub administrować serwerami linuksowymi bez GUI, gdzie się obracasz, gdy musisz zlokalizować plik? Na szczęście Linux ma dokładnie to, czego potrzebujesz, aby zlokalizować dane Pliki, wbudowane bezpośrednio w system.

Komenda o której mowa to find. Aby zrozumienie tego polecenia było jeszcze bardziej kuszące, gdy już go znasz, możesz zacząć pracować z nim w swoich skryptach Bash. To nie tylko wygoda, to moc.,

zacznijmy od polecenia find, abyś mógł przejąć kontrolę nad lokalizowaniem plików na serwerach Linux i komputerach stacjonarnych, bez potrzeby korzystania z GUI.

Jak używać polecenia find

Kiedy po raz pierwszy zobaczyłem Linuksa, w 1997 roku, nie do końca rozumiałem, jak działa polecenie find; dlatego nigdy nie wydawało mi się, że działa tak, jak oczekiwałem. Wydawało się to proste; wydaj polecenie find FILENAME (gdzie FILENAME jest nazwą pliku) i polecenie miało zlokalizować plik i zgłosić z powrotem. Nie wiedziałem, że to coś więcej. Dużo więcej.,

jeśli wydasz polecenie Man find, zobaczysz, że składnia polecenia find to:

find 

oczywiście, jeśli nie wiesz, jak działa man, możesz być zdezorientowany lub przytłoczony tą składnią. Dla ułatwienia zrozumienia, uprośćmy to. Najbardziej podstawowa składnia polecenia find wyglądałaby następująco:

find /path option filename

teraz zobaczymy ją w pracy.

Znajdź po nazwie

Podzielmy to podstawowe polecenie, aby było jak najbardziej jasne., Najbardziej uproszczona struktura polecenia find powinna zawierać ścieżkę do pliku, opcję i samą nazwę pliku. Możesz myśleć: „gdybym znał ścieżkę do pliku, wiedziałbym już, gdzie go znaleźć!”. Cóż, ścieżka do pliku może być głównym dyskiem; więc / będzie legalną ścieżką. Wprowadzenie go jako ścieżki zajmie find więcej czasu-ponieważ musi zacząć od zera — ale jeśli nie masz pojęcia, gdzie jest plik, możesz zacząć od tego miejsca. W imię efektywności zawsze najlepiej mieć przynajmniej pomysł, od czego zacząć poszukiwania.,

kolejnym bitem polecenia jest opcja. Podobnie jak w przypadku większości poleceń Linuksa, masz wiele dostępnych opcji. Jednak zaczynamy od początku, więc ułatwmy to. Ponieważ próbujemy znaleźć plik po nazwie, użyjemy jednej z dwóch opcji:

  • name – rozróżnia wielkość liter

  • iname – rozróżnia wielkość liter

pamiętaj, że Linux jest bardzo szczególny pod względem wielkości liter, więc jeśli szukasz pliku o nazwie Linux.ODT, poniższe polecenie nie zwróci żadnych wyników.,

find / -name linux.odt

Jeśli jednak zmienisz polecenie za pomocą opcji-iname, polecenie find zlokalizuje Twój plik, niezależnie od przypadku. Tak więc nowa Komenda wygląda następująco:

find / -iname linux.odt

Znajdź według typu

Co zrobić, jeśli nie jesteś zainteresowany lokalizacją pliku po nazwie, ale wolisz zlokalizować wszystkie pliki określonego typu?, Niektóre z bardziej popularnych deskryptorów plików to:

  • f – zwykły plik

  • d – katalog

  • l – dowiązanie symboliczne

  • c – urządzenia znakowe

  • b – urządzenia blokowe

Załóżmy, że chcesz zlokalizować wszystkie urządzenia blokowe (a plik, który odnosi się do urządzenia) w systemie., Za pomocą opcji-type możemy to zrobić w następujący sposób:

find / -type c

powyższa Komenda spowodowałaby dość dużo wyjścia (wiele z nich wskazywałoby odmowę uprawnień), ale zawierałoby wyjście podobne do:

/dev/hidraw6/dev/hidraw5/dev/vboxnetctl/dev/vboxdrvu/dev/vboxdrv/dev/dmmidi2/dev/midi2/dev/kvm

Voilà! Urządzenia blokowe.

możemy użyć tej samej opcji, aby pomóc nam szukać plików konfiguracyjnych. Na przykład, chcesz znaleźć wszystkie zwykłe pliki, które kończą się w .rozszerzenie conf., To polecenie wyglądałoby tak:

find / -type f -name "*.conf"

powyższe polecenie przemierzyłoby całą strukturę katalogów, aby zlokalizować wszystkie zwykłe pliki kończące się .conf. Jeśli wiesz, że większość twoich plików konfiguracyjnych znajduje się w /etc, możesz to określić w następujący sposób:

find /etc -type f -name "*.conf”

powyższe polecenie wyświetli listę wszystkich twoich plików .pliki conf z / etc (Rysunek 1).

Rysunek 1: lokalizowanie wszystkich plików konfiguracyjnych w / etc.,

wypisywanie wyników do pliku

jedną z naprawdę przydatnych sztuczek jest wypisywanie wyników wyszukiwania do pliku. Gdy wiesz, że wynik może być obszerny lub jeśli chcesz przeczesać wyniki później, może to być niezwykle pomocne. W tym celu użyjemy tego samego przykładu jak powyżej i prześlemy wyniki do pliku o nazwie conf_search. To nowe polecenie wyglądałoby tak:

find /etc -type f -name "*.conf” > conf_search

teraz będziesz mieć plik (conf_search), który zawiera wszystkie wyniki z wydanego polecenia find.,

wyszukiwanie plików po rozmiarze

teraz dochodzimy do momentu, w którym Komenda find staje się niezwykle pomocna. Miałem przypadki, w których komputery stacjonarne lub serwery znalazły swoje dyski tajemniczo wypełnione. Aby szybko zrobić miejsce (lub pomóc zlokalizować problem), możesz użyć polecenia Znajdź, aby zlokalizować pliki o określonym rozmiarze. Powiedzmy na przykład, że chcesz przejść do dużych i zlokalizowanych plików, które mają ponad 1000MB. Polecenie find może zostać wydane za pomocą opcji-size, w następujący sposób:

find / -size +1000MB

Możesz być zaskoczony, ile plików się pojawia., Dzięki wyjściu z polecenia możesz przeczesać strukturę katalogów i zwolnić miejsce lub rozwiązać problemy, aby dowiedzieć się, co tajemniczo zapełnia twój dysk.

Możesz wyszukiwać za pomocą następujących opisów rozmiarów:

  • c – bajty

  • k – kilobajty

  • m – megabajty

  • g – gigabajty

  • b – 512-bajtowe bloki

ucz się dalej

porysowaliśmy tylko powierzchnię polecenia Znajdź, ale teraz masz fundamentalne zrozumienie, jak zlokalizować pliki na swoich systemach Linux., Upewnij się, aby wydać command Man znaleźć, aby uzyskać głębszą, bardziej kompletną wiedzę, jak zrobić to potężne narzędzie pracy dla Ciebie.

Dowiedz się więcej o Linuksie dzięki bezpłatnemu kursowi „Wprowadzenie do Linuksa” z Linux Foundation i edX.