Chociaż istnieje wiele sposobów, za pomocą których możemy wyszukiwać i lokalizować pliki i katalogi na Linuksie, najprostszym i najszybszym jest prawdopodobnie terminal. Jednak niewielu użytkowników Linuksa o tym wie, co prowadzi do niepotrzebnej frustracji. Oto krótki przewodnik, który, mam nadzieję, pomoże Ci zlokalizować to, czego szukasz w systemie.
użyj polecenia Locate
polecenie „locate” jest pierwszym rozwiązaniem, które użytkownik Linuksa powinien wykorzystać, ponieważ jest znacznie szybsze niż cokolwiek innego., Powodem tej niezrównanej prędkości jest to, że polecenie locate nie przeszukuje lokalnych dysków twardych w poszukiwaniu plików lub katalogów, które musisz znaleźć, ale bardziej przypomina czytanie przez mlocate.plik bazy danych db zawierający wszystkie ścieżki plików w systemie.
Jeśli nie zainstalowałeś jeszcze locate, użyj następujących poleceń:
Debian i Ubuntu
sudo apt-get install locate
CentOS
yum install locate
przygotuj polecenie locate do pierwszego użycia
aby zaktualizować mlocate.,baza danych db przed pierwszym użyciem Uruchom:
sudo updatedb
aby użyć locate, otwórz terminal i wpisz locate, a następnie nazwę pliku, którego szukasz. W tym przykładzie Szukam plików, które zawierają słowo „sunny” w nazwie.
locate sunny
Locate może również powiedzieć, ile razy wyszukiwane słowo kluczowe jest dopasowane w bazie danych. Jest to osiągane przez włączenie parametru”- c „w poleceniu, co oznacza”count”.,
locate -c sunny
użytkownicy muszą pamiętać o tym, że „locate” wymaga konkretnej i dokładnej nazwy pliku, którego szukasz, w przeciwieństwie do innych bardziej elastycznych narzędzi. Oznacza to, że locate jest świetny do znalezienia czegoś, co masz pewność co do jego nazwy, ale nie tak dobrze, gdy nie pamiętasz dokładnie nazwy pliku.
locate howtoforge
vs
locate Howtoforge
ponadto, a ponieważ „locate” odczytuje plik bazy danych, Wyniki mogą być nieaktualne i nie do końca prawdziwe., Aby złagodzić ten problem, możesz zaktualizować bazę danych ścieżek plików, wpisując „sudo updatedb” w sesji terminala.
tutaj znajdziesz więcej przykładów użycia polecenia locate.
Jeśli po tym czasie nadal nie otrzymujesz tego, czego szukasz, lub po prostu jesteś przytłoczony liczbą wyników, przejdź do następnego kroku, którym jest komenda „znajdź”.
użyj polecenia Znajdź
polecenie „Znajdź” jest o wiele potężniejszym, ale także wolniejszym narzędziem wyszukiwania., Dzieje się tak dlatego, że w przeciwieństwie do polecenia „locate”, „find” faktycznie przeszukuje dyski w poszukiwaniu plików i katalogów, których szuka użytkownik. Funkcja Find jest idealna, gdy próbujesz zlokalizować plik lub katalog, ale nie pamiętasz jego nazwy, ponieważ „find” może wyszukiwać pliki należące do określonego użytkownika lub grupy użytkowników, pliki zmodyfikowane lub ostatnio dostępne, pliki o określonym zakresie rozmiarów, ukryte pliki, pliki wykonywalne, pliki tylko do odczytu i pliki z określonymi uprawnieniami., Najlepsze jest to, że użytkownik może dowolnie łączyć wiele z powyższych kryteriów w jednym poleceniu „znajdź”, zasadniczo zawężając wyniki.
mówiąc o zawężaniu, pierwszą rzeczą, którą chcesz zrobić, gdy uruchomisz „znajdź”, jest nakaz przeszukania określonego katalogu. To znacznie przyspieszy proces wyszukiwania, ale zawsze w zależności od wielkości katalogu. Jeśli wiesz, gdzie może być Plik, Otwórz terminal, przejdź do katalogu i uruchom „znajdź . ”. Ta kropka mówi find, aby przeszukał bieżący katalog., Jeśli chcesz przeszukać katalog domowy zamiast tego, zastąp kropkę przez”~/”, a jeśli chcesz przeszukać cały system plików, użyj zamiast tego”/”.
jako przykład chcę wyszukać plik, który zawiera plakat w moim katalogu pobierania. Wiem, że nazwa pliku zawiera słowo „plakat”, ale nie pamiętam dokładnie nazwy., Z tego powodu, chciałbym przejść do mojego folderu pobierania przez terminal z „CD Downloads”, a następnie wprowadzić polecenie:
sudo find . -name "*poster*"
oto wynik:
To mówi mi, że istnieje plik pdf o nazwie „billy_poster copy” w folderze Pobrane. Gdybym nie wiedział, gdzie to jest, „znajdź” nadal dałby mi znać, że jest w folderze Pobrane, jeśli szukałbym w katalogu nadrzędnym.
teraz, jeśli zamienię parametr „-name” NA „-iname”, mogę uzyskać wyniki bez względu na wielkość liter., Jest to coś, czego nie ma w „locate” , więc kolejny pomocny element, gdy nie jesteś pewien co do nazwy pliku.
sudo find . -iname "*poster*"
Załóżmy teraz, że wciąż szukam tego samego pliku plakatu, a jedyne, co pamiętam, to to, że ma mniej niż 5 MB rozmiaru. Polecenie, które chciałbym użyć w tym przypadku jest:
find ~/ -size -5M
gdybym wiedział, że jest wyższa niż powiedzmy 2MB, komenda będzie „find ~/ -size +2m”. Najlepsze jest to, że find obsługuje operatory logiczne, aby wyszukiwanie było jeszcze silniejsze., W tym przykładzie użyję polecenia, które łączy w sobie moją wiedzę, że plik ma rozmiar mniejszy niż 5 megabajtów, a także więcej niż 2. Polecenie to brzmiałoby:
find / -size -5M -and -size +2M
Ostatnia, sugerujmy, że nic nie pamiętamy o pliku, ale pamiętamy, że uzyskaliśmy do niego dostęp w ciągu trzech minut temu. Aby go znaleźć, użyj polecenia find jako:
find / -amin -3
będzie to „find / -amin -30” przez pół godziny, a „-amin -120” przez dwie godziny itd., Jeśli uzyskałeś dostęp do pliku dwa dni temu, użyj tego zamiast:
find / -time -2
spowoduje to wyświetlenie wszystkich plików dostępnych w ciągu ostatnich dwóch dni w lokalizacji wyszukiwania.
myślę, że powyższe obejmuje większość zwykłych scenariuszy przypadków użycia. Aby uzyskać więcej informacji o potężnym poleceniu „znajdź”, otwórz terminal i wpisz „Man find”. Powodzenia w znalezieniu tego, czego szukasz.
więcej przykładów polecenia Linux find można znaleźć tutaj.
Leave a Reply