Znalezienie plików w systemie Linux może być trudne, jeśli nie wiesz jak. Najlepszym sposobem na znalezienie plików w systemie Linux jest użycie kilku poleceń terminala. Opanowanie niektórych z tych poleceń może zapewnić pełną kontrolę nad plikami i są one bardziej przydatne niż proste funkcje wyszukiwania w innych systemach operacyjnych.
Krok
Metoda 1 z 3: Korzystanie z funkcji „znajdź”
Krok 1. Wyszukaj pliki według nazwy
Ten typ wyszukiwania jest najbardziej podstawowy i możesz to zrobić za pomocą polecenia find. Poniższe polecenie wykona wyszukiwanie na podstawie słowa wprowadzonego w katalogu, w którym się znajdujesz, a także podkatalogów w nim zawartych.
find -iname "nazwa pliku"
Jeśli użyjesz -iname zamiast -name, różnica między słowami kluczowymi wielkimi i małymi literami nie będzie działać. Polecenie -name traktuje wielkie i małe litery jako różne znaki
Krok 2. Ustaw wyszukiwanie, aby rozpoczynało się w katalogu głównym
Jeśli chcesz przeprowadzić wyszukiwanie w całym systemie, możesz dodać modyfikator / do słowa kluczowego. Modyfikator nakazuje poleceniu find, aby dokładnie przeszukało, zaczynając od katalogu głównego.
znajdź / -iname "nazwa pliku"
- Możesz rozpocząć wyszukiwanie w określonym katalogu, zastępując modyfikator / ścieżką katalogu, na przykład /home/pat.
- Możesz użyć. inny niż /, aby wyszukiwania były wykonywane tylko w katalogu, w którym się znajdujesz, a także w podkatalogach w nim zawartych.
Krok 3. Użyj symboli wieloznacznych
* aby wyszukać wszystko, co częściowo pasuje do Twoich słów kluczowych.
Znaku wieloznacznego * można użyć do znalezienia plików, których pełnych nazw nie znasz, lub jeśli chcesz znaleźć wszystkie pliki z określonym rozszerzeniem.
znajdź /home/pat -iname "*.conf"
- Powyższe polecenie zwróci wszystkie pliki.conf w katalogu użytkownika o nazwie Pat (jak również znajdujące się w nim podkatalogi).
- Możesz go również użyć, aby znaleźć wszystko, czego nazwa częściowo pasuje do tego słowa kluczowego. Na przykład, jeśli masz dużo dokumentów związanych z wikiHow, możesz je znaleźć, wpisując "*wiki*".
Krok 4. Ułatw sobie zarządzanie wynikami wyszukiwania
Jeśli wyników wyszukiwania jest zbyt wiele, znalezienie odpowiedniego pliku będzie trudne. Użyj znaku | i wyślij wyniki wyszukiwania z powrotem do programu filtrującego „mniej”. W ten sposób możesz łatwiej przewijać i filtrować wyniki wyszukiwania.
znajdź /home/pat -iname "*.conf" | mniej
Krok 5. Znajdź wyniki wyszukiwania z określonym typem
Możesz użyć modyfikatorów, aby zwrócić tylko niektóre typy wyników. Możesz wyszukiwać zwykłe pliki (f), katalogi (d), dowiązania symboliczne (l), urządzenia znakowe (c) i urządzenia blokowe (b) za pomocą odpowiednich modyfikatorów.
find / -type f -iname "nazwa pliku"
Krok 6. Filtruj wyniki wyszukiwania według rozmiaru
Jeśli masz wiele plików o podobnych nazwach, ale znasz rozmiar żądanego pliku, możesz filtrować wyszukiwanie według rozmiaru.
find / -size +50M -iname "nazwa pliku"
- Powyższe polecenie zwróci wyniki wyszukiwania o wielkości co najmniej 50 megabajtów. Możesz użyć + lub -, aby wyszukać pliki o większym lub mniejszym rozmiarze. Pominięcie znaku + lub - powoduje, że wyszukiwanie zwraca tylko wyniki o naprawdę „poprawnym” rozmiarze.
- Wyszukiwanie można filtrować według bajtów (c), kilobajtów (k), megabajtów (M), gigabajtów (G) lub 512 bajtów (b). Należy pamiętać, że oznaczenia rozróżniają wielkie i małe litery.
Krok 7. Użyj operatorów logicznych do łączenia filtrów wyszukiwania
Do łączenia różnych wyszukiwań można używać operatorów -i, -lub i -not.
find /travelphotos -type f -size +200k -not -iname "*2015*"
Powyższe polecenie wyszuka pliki w katalogu „travelphotos”, które mają rozmiar ponad 200 kilobajtów, ale nie zawierają słowa „2015” w nazwie
Krok 8. Przeprowadź wyszukiwanie plików według nazwy właściciela lub uprawnień
Jeśli próbujesz znaleźć określony plik, który należy do określonego użytkownika lub szukasz pliku z określonymi uprawnieniami, możesz zawęzić wyszukiwanie.
find / -user pat -iname "nazwapliku" find / -group users -iname "nazwapliku" find / -perm 777 -iname "nazwapliku"
Powyższe przykłady przeprowadzą wyszukiwanie określonego użytkownika, grupy lub uprawnienia w ramach słowa kluczowego. Możesz również pominąć nazwę pliku, aby zwrócić wszystkie pliki pasujące do tego typu. Na przykład find / -perm 777 zwróci wszystkie pliki z uprawnieniami 777 (bez ograniczeń)
Krok 9. Połącz polecenia, aby wykonać akcję po znalezieniu pliku
Możesz połączyć polecenie find z innymi poleceniami, aby móc przetwarzać pliki zwrócone przez słowo kluczowe za pomocą tego polecenia. Oddziel polecenie find i drugie polecenie flagą -exec, a następnie zakończ wiersz {};
odnaleźć. -type f -perm 777 -exec chmod 755 {};
Powyższe polecenie przeszuka katalog, w którym się znajdujesz (i wszystkie znajdujące się w nim podkatalogi) w poszukiwaniu plików z uprawnieniami 777. Następnie polecenie chmod zmieni uprawnienia na 755
Metoda 2 z 3: Korzystanie z funkcji „zlokalizuj”
Krok 1. Zainstaluj
Znajdź funkcjonalność. Komenda locate jest zazwyczaj szybsza niż komenda find ze względu na wykorzystanie bazy danych w systemie plików. Nie wszystkie typy Linuksa są wyposażone w funkcję lokalizowania, więc wprowadź następujące polecenie, aby ją zainstalować:
- Wpisz sudo apt-get update, a następnie naciśnij Enter.
- Możesz zainstalować go na Debianie i ubuntu w następujący sposób: Wpisz sudo apt-get install mlocate, a następnie naciśnij Enter. Jeśli funkcja lokalizowania została zainstalowana wcześniej, zobaczysz komunikat mlocate to już najnowsza wersja.
- W Arch Linux użyj menedżera pakietów pacman: pacman -Syu mlocate
- W przypadku Gentoo użyj emerge: emerge mlocate
Krok 2. Aktualizacja
Znajdź Baza danych Ty. Polecenie zlokalizowania nie będzie w stanie niczego znaleźć, dopóki nie zostanie utworzone i zaktualizowane. Proces jest zwykle wykonywany codziennie automatycznie, ale można go również zaktualizować ręcznie. Musisz to zrobić, jeśli chcesz jak najszybciej korzystać z funkcji lokalizowania.
Wpisz sudo updatedb, a następnie naciśnij Enter
Krok 3. Użyj
Znajdź wykonać proste wyszukiwanie.
Funkcja lokalizowania działa szybko, ale nie ma tylu opcji, co polecenie find. Podstawowe wyszukiwanie plików można przeprowadzić w podobny sposób do polecenia find.
zlokalizuj -i "*.jpg"
- Powyższe polecenie przeszuka cały system w poszukiwaniu plików z rozszerzeniem.jpg. Symbol wieloznaczny * działa podobnie do polecenia find.
- Podobnie jak polecenie find, modyfikator -i sprawia, że wielkie i małe litery w słowach kluczowych są traktowane tak samo.
Krok 4. Ogranicz wyniki wyszukiwania
Jeśli wyszukiwanie zwraca tak wiele wyników, że trudno jest z nich skorzystać, możesz zmniejszyć te wyniki za pomocą modyfikatora -n, po którym podaje się liczbę wyników, które chcesz zwrócić.
zlokalizuj -n 20 -i "*.jpg"
- Zostanie wyświetlonych tylko 20 wyników wyszukiwania.
- Możesz także użyć | wysyłanie wyników wyszukiwania do programu mniej filtrującego w celu łatwiejszego przewijania wyników.
Metoda 3 z 3: Wyszukiwanie tekstu w plikach
Krok 1. Użyj polecenia
grep aby znaleźć ciąg tekstowy w pliku.
Jeśli szukasz pliku zawierającego określoną frazę lub ciąg znaków, możesz użyć polecenia grep. Podstawowe polecenie grep ma następujący format:
grep -r -i "zapytanie wyszukiwania" /ścieżka/do/katalogu/
- Modyfikator -r sprawia, że wyszukiwanie jest „rekurencyjne”, więc przeszukanie zostanie wykonane w katalogu i wszystkich jego podkatalogach, aby znaleźć pliki zawierające tekst ze słowem kluczowym search.
- Modyfikator -i wskazuje, że słowo kluczowe wyszukiwania nie rozróżnia wielkich i małych liter. Jeśli chcesz wymusić na wyszukiwaniu rozróżnienie wielkich i małych liter, zignoruj modyfikator -i.
Krok 2. Usuń nadmiar tekstu
Podczas wyszukiwania grep jak powyżej zobaczysz nazwę pliku z podświetlonymi pasującymi literami. Możesz ukryć pasujący tekst i pokazać tylko nazwę i ścieżkę katalogu plików, dodając:
grep -r -i "słowo kluczowe wyszukiwania" /ścieżka/do/katalogu/ | wyciąć -d: -f1
Krok 3. Ukryj komunikat o błędzie
Komenda grep zwróci błąd podczas próby dostępu do katalogu bez odpowiednich uprawnień lub podczas wchodzenia do pustego katalogu. Możesz wysyłać komunikaty o błędach do /dev/null, aby się nie pojawiały.
grep -r -i "słowo kluczowe wyszukiwania" /ścieżka/do/katalogu/ 2>/dev/null