3 sposoby na znalezienie pliku w systemie Linux

Spisu treści:

3 sposoby na znalezienie pliku w systemie Linux
3 sposoby na znalezienie pliku w systemie Linux

Wideo: 3 sposoby na znalezienie pliku w systemie Linux

Wideo: 3 sposoby na znalezienie pliku w systemie Linux
Wideo: Protect Your Devices From Unauthorized Access! 2024, Kwiecień
Anonim

Znalezienie pliku w systemie Linux może być trudne, jeśli nie wiesz jak. Najlepszym sposobem na znalezienie plików jest użycie kilku różnych poleceń terminala. Opanowanie tych poleceń może zapewnić pełną kontrolę nad plikami i są one znacznie bardziej wydajne niż proste funkcje wyszukiwania w innych systemach operacyjnych.

Kroki

Metoda 1 z 3: Korzystanie z funkcji „zlokalizuj”

690519 10 1
690519 10 1

Krok 1. Zainstaluj

Znajdź funkcjonalność.

Polecenie locate działa na ogół znacznie szybciej niż find, ponieważ działa na bazie danych struktury plików. Nie wszystkie dystrybucje Linuksa mają zainstalowaną funkcję lokalizowania, więc wprowadź następujące polecenia, aby spróbować ją zainstalować:

  • Wpisz sudo apt-get update i naciśnij ↵ Enter.
  • Możesz go zainstalować w Debianie i Ubuntu w następujący sposób: Wpisz sudo apt-get install mlocate i naciśnij ↵ Enter. Jeśli locate jest już zainstalowany, zobaczysz komunikat mlocate to już najnowsza wersja.
  • W Arch Linux użyj menedżera pakietów pacman: pacman -S mlocate
  • W przypadku Gentoo użyj emerge: emerge mlocate
690519 11 1
690519 11 1

Krok 2. Zaktualizuj swój

Znajdź Baza danych.

Polecenie locate nie będzie w stanie niczego znaleźć, dopóki jego baza danych nie zostanie zbudowana i zaktualizowana. Dzieje się to automatycznie codziennie, ale możesz też ręcznie aktualizować. Musisz to zrobić, jeśli chcesz od razu zacząć korzystać z lokalizacji.

Wpisz sudo updatedb i naciśnij ↵ Enter

690519 12 1
690519 12 1

Krok 3. Użyj

Znajdź do wykonywania prostych wyszukiwań.

Polecenie find jest szybkie, ale nie ma tylu opcji, co polecenie find. Podstawowe wyszukiwanie plików można przeprowadzić w taki sam sposób, jak polecenie find.

zlokalizuj -i "*.jpg"

  • To polecenie przeszuka cały system w poszukiwaniu plików z rozszerzeniem.jpg. Symbol wieloznaczny * działa tak samo, jak w przypadku polecenia find.
  • Podobnie jak polecenie find, opcja -i ignoruje wielkość liter w zapytaniu.
690519 13 1
690519 13 1

Krok 4. Ogranicz wyniki wyszukiwania

Jeśli twoje wyszukiwania zwracają zbyt wiele wyników do obsłużenia, możesz je zmniejszyć, używając opcji -n, a następnie liczby wyników, które chcesz wyświetlić.

zlokalizuj -n 20 -i "*.jpg"

  • Zostanie wyświetlonych tylko pierwszych 20 wyników pasujących do zapytania.
  • Możesz także użyć | pipe, aby wysłać wyniki do less w celu łatwego przewijania.

Metoda 2 z 3: Korzystanie z funkcji „znajdź”

690519 1 1
690519 1 1

Krok 1. Wyszukaj plik według jego nazwy

Jest to najbardziej podstawowe wyszukiwanie, jakie można przeprowadzić za pomocą polecenia find. Poniższe polecenie wyszuka zapytanie w bieżącym katalogu i dowolnych podkatalogach.

find -iname "nazwa pliku"

Użycie -iname zamiast -name ignoruje wielkość liter w zapytaniu. W komendzie -name rozróżniana jest wielkość liter

690519 2 1
690519 2 1

Krok 2. Ustaw wyszukiwanie, aby rozpoczynało się w katalogu głównym

Jeśli chcesz przeszukać cały system, możesz dodać do zapytania modyfikator /. Dzięki temu find ma przeszukać wszystkie katalogi, zaczynając od katalogu głównego.

znajdź / -iname "nazwa pliku"

  • Możesz rozpocząć wyszukiwanie w określonym katalogu, zastępując / ścieżką katalogu, taką jak /home/pat.
  • Możesz użyć. zamiast /, aby wymusić wyszukiwanie tylko w bieżącym katalogu i podkatalogach.
690519 3 1
690519 3 1

Krok 3. Użyj znaku wieloznacznego

* aby wyszukać wszystko, co pasuje do części zapytania.

Symbol wieloznaczny * może być przydatny do znalezienia czegoś, jeśli nie znasz pełnej nazwy lub chcesz znaleźć wszystko z określonym rozszerzeniem.

znajdź /home/pat -iname "*.conf"

  • Spowoduje to zwrócenie wszystkich plików.conf w folderze użytkownika Pat (i podkatalogach).
  • Możesz go również użyć, aby znaleźć wszystko, co pasuje do części nazwy pliku. Na przykład, jeśli masz dużo dokumentów związanych z wikiHow, możesz znaleźć je wszystkie, wpisując "*wiki*".
690519 4 1
690519 4 1

Krok 4. Ułatw sobie zarządzanie wynikami wyszukiwania

Jeśli otrzymujesz dużo wyników wyszukiwania, przesiewanie ich może być trudne. Użyj | znak i wyślij wyniki wyszukiwania do programu filtrującego "mniej". Dzięki temu możesz znacznie łatwiej przewijać i filtrować wyniki.

znajdź /home/pat -iname "*.conf" | mniej

690519 5 1
690519 5 1

Krok 5. Znajdź określone typy wyników

Modyfikatorów można używać do zwracania tylko określonych typów wyników. Możesz wyszukiwać zwykłe pliki (f), katalogi (d), dowiązania symboliczne (l), urządzenia znakowe (c) i urządzenia blokowe (b), używając odpowiedniego modyfikatora.

find / -type f -iname "nazwa pliku"

690519 6 1
690519 6 1

Krok 6. Filtruj wyniki wyszukiwania według rozmiaru

Jeśli masz wiele plików o podobnych nazwach, ale znasz rozmiar, którego szukasz, możesz filtrować nasze wyniki według rozmiaru.

find / -size +50M -iname "nazwa pliku"

  • Spowoduje to zwrócenie wyników o wielkości 50 megabajtów lub większych. Możesz użyć + lub -, aby wyszukać większe lub mniejsze rozmiary. Pominięcie + lub - spowoduje wyszukanie plików o dokładnie określonym rozmiarze.
  • Możesz filtrować według bajtów (c), kilobajtów (k), megabajtów (M), gigabajtów (G) lub bloków 512-bajtowych (b). Zauważ, że we fladze rozmiaru rozróżniana jest wielkość liter.
690519 7 1
690519 7 1

Krok 7. Użyj operatorów logicznych do łączenia filtrów wyszukiwania

Aby połączyć różne typy wyszukiwań w jedno, można użyć operatorów -i, -lub i -not.

find /travelphotos -type f -size +200k -not -iname "*2015*"

Polecenie znajdzie pliki w katalogu „travelphotos”, które mają rozmiar większy niż 200 kilobajtów, ale w nazwie pliku nie ma „2015”

690519 8 1
690519 8 1

Krok 8. Wyszukaj pliki według właściciela lub uprawnień

Jeśli próbujesz znaleźć określony plik należący do użytkownika lub pliki 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 przeszukają określonych użytkowników, grupy lub uprawnienia dla zapytania. Możesz także pominąć zapytanie o 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ń)

690519 9 1
690519 9 1

Krok 9. Połącz polecenia, aby wykonać akcje po znalezieniu plików

Polecenie find można połączyć z innymi poleceniami, aby można je było wykonać na plikach zwróconych przez zapytanie. Oddziel polecenie find i drugie polecenie flagą -exec, a następnie zakończ wiersz {};

odnaleźć. -type f -perm 777 -exec chmod 755 {};

Spowoduje to przeszukanie bieżącego katalogu (i wszystkich podkatalogów) w poszukiwaniu plików, które mają uprawnienia 777. Następnie użyje polecenia chmod, aby zmienić uprawnienia na 755

Metoda 3 z 3: Wyszukiwanie tekstu w plikach

690519 14 1
690519 14 1

Krok 1. Użyj

grep polecenie, aby wyszukać ciągi tekstu w plikach.

Jeśli szukasz pliku zawierającego określoną frazę lub ciąg znaków, możesz użyć polecenia grep. Podstawowe polecenie grep jest sformatowane w następujący sposób:

grep -r -i "zapytanie wyszukiwania" /ścieżka/do/katalogu/

  • Opcja -r ustawia wyszukiwanie na "rekursywne", więc przeszuka bieżący katalog i wszystkie podkatalogi w poszukiwaniu dowolnego pliku zawierającego ciąg zapytania.
  • -i wskazuje, że w zapytaniu nie jest rozróżniana wielkość liter. Jeśli chcesz wymusić w wyszukiwaniu zwracanie uwagi na wielkość liter, pomiń operator -i.
690519 15 1
690519 15 1

Krok 2. Wytnij dodatkowy tekst

Gdy przeprowadzasz wyszukiwanie grep jak powyżej, zobaczysz nazwę pliku wraz z tekstem z podświetlonym pasującym zapytaniem. Możesz ukryć pasujący tekst i po prostu wyświetlić nazwy plików i ścieżki, dołączając następujące elementy:

grep -r -i "zapytanie wyszukiwania" /ścieżka/do/katalogu/ | wyciąć -d: -f1

690519 16 1
690519 16 1

Krok 3. Ukryj komunikaty o błędach

Polecenie grep zwróci błąd, gdy spróbuje uzyskać dostęp do folderów bez odpowiednich uprawnień lub uruchomi się w pustych folderach. Możesz wysłać komunikaty o błędach do /dev/null, co ukryje je z danych wyjściowych.

grep -r -i "zapytanie wyszukiwania" /ścieżka/do/katalogu/ 2>/dev/null

Zalecana: