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).
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.