If-Koubou

Jak znaleźć pliki i foldery w systemie Linux za pomocą wiersza poleceń

Jak znaleźć pliki i foldery w systemie Linux za pomocą wiersza poleceń (Jak)

Większość ludzi używa graficznego menedżera plików do znajdowania plików w Linuksie, takich jak Nautilus w Gnome, Dolphin w KDE i Thunar w Xfce. Istnieje jednak kilka sposobów użycia wiersza poleceń w celu znalezienia plików w systemie Linux, bez względu na to, jakiego menedżera pulpitu używasz.

Używanie polecenia Znajdź

Polecenie "znajdź" umożliwia wyszukanie plików, dla których znasz przybliżone nazwy plików. Najprostsza forma polecenia wyszukuje pliki w bieżącym katalogu i rekurencyjnie poprzez swoje podkatalogi, które pasują do dostarczonych kryteriów wyszukiwania. Możesz wyszukiwać pliki według nazwy, właściciela, grupy, typu, uprawnień, daty i innych kryteriów.

Wpisując poniższe polecenie w liście wyświetla się lista wszystkich plików znajdujących się w bieżącym katalogu.

odnaleźć .

Kropka po "Znajdź" wskazuje bieżący katalog.

Aby znaleźć pliki pasujące do określonego wzorca, użyj znaku -imię argument. Możesz użyć metaznaków nazw plików (takich jak * ), ale powinieneś umieścić znak ucieczki ( \ ) przed każdym z nich lub ująć je w cudzysłów.

Na przykład, jeśli chcemy znaleźć wszystkie pliki zaczynające się od "pro" w katalogu Dokumenty, użyjemy cd Dokumenty / polecenie, aby przejść do katalogu Documents, a następnie wpisz następujące polecenie:

odnaleźć . -name pro \ *

Wyświetlane są wszystkie pliki w bieżącym katalogu zaczynające się od "pro".

UWAGA: Polecenie find domyślnie uwzględnia wielkość liter. Jeśli chcesz, aby wyszukiwanie słowa lub frazy było niewrażliwe na wielkość liter, użyj znaku -ja nazywam opcja za pomocą polecenia find. Jest to wersja niewrażliwa na wielkość liter -imię dowództwo.

Jeśli odnaleźć nie znajduje plików zgodnych z Twoimi kryteriami, nie generuje żadnych danych wyjściowych.

Polecenie find ma wiele opcji do udoskonalenia wyszukiwania. Aby uzyskać więcej informacji o poleceniu find, uruchom znaleźć człowieka w oknie Terminala i naciśnij Enter.

Korzystanie z polecenia Locate

Polecenie locate jest szybsze niż polecenie find, ponieważ używa wcześniej zbudowanej bazy danych, podczas gdy polecenie find wyszukuje w rzeczywistym systemie, przez wszystkie rzeczywiste katalogi i pliki. Komenda lokalizuje zwraca listę wszystkich nazw ścieżek zawierających określoną grupę znaków.

Baza danych jest okresowo aktualizowana z crona, ale możesz również zaktualizować ją w dowolnym momencie, dzięki czemu uzyskasz najaktualniejsze wyniki. Aby to zrobić, wpisz następujące polecenie w wierszu polecenia:

sudo updatedb

Po wyświetleniu monitu wpisz hasło.

Podstawowa forma polecenia lokalizowania znajduje wszystkie pliki w systemie plików, począwszy od katalogu głównego, które zawierają wszystkie lub dowolne części kryteriów wyszukiwania.

zlokalizuj mydata

Na przykład powyższe polecenie znalazło dwa pliki zawierające "mydata" i jeden plik zawierający "dane".

Jeśli chcesz znaleźć wszystkie pliki lub katalogi, które zawierają dokładnie i tylko twoje kryteria wyszukiwania, użyj -b opcję z poleceniem lokalizacji, jak poniżej.

zlokalizuj -b '\ mydata'

Odwrotny ukośnik w powyższym poleceniu jest znakiem globalnym, który umożliwia rozszerzanie znaków wieloznacznych w nieokreślonej nazwie pliku do zbioru określonych nazw plików. Symbol wieloznaczny to symbol, który można zastąpić jednym lub większą liczbą znaków, gdy wyrażenie jest oceniane. Najczęstszymi symbolami wieloznacznymi są znaki zapytania ( ? ), co oznacza pojedynczy znak i gwiazdkę ( * ), co oznacza ciąg ciąg znaków. W powyższym przykładzie ukośnik odwrotny wyłącza domyślne zastąpienie "mydata" przez "* mydata *", więc kończy się na wynikach zawierających tylko "mydata".

Polecenie mlocate jest nową implementacją lokalizacji. Indeksuje cały system plików, ale wyniki wyszukiwania obejmują tylko pliki, do których bieżący użytkownik ma dostęp. Po aktualizacji bazy danych programu mlocate przechowuje ona informacje o znacznikach czasowych w bazie danych. Dzięki temu mlocate wie, czy zawartość katalogu zmieniła się bez ponownego czytania zawartości i powoduje, że aktualizacje bazy danych są szybsze i mniej wymagające na dysku twardym.

Kiedy instalujesz program mlocate, plik / usr / bin / zlokalizuj plik binarny zmieniając go na mlocate. Aby zainstalować program mlocate, jeśli nie jest jeszcze uwzględniony w dystrybucji systemu Linux, wpisz następujące polecenie w wierszu polecenia.

sudo apt-get install mlocate

UWAGA: W dalszej części tego artykułu pokażemy polecenie, które pozwoli ci określić, gdzie znajduje się plik wykonywalny dla polecenia, jeśli istnieje.

Komenda mlocate nie używa tego samego pliku bazy danych, co standardowe polecenie lokalizacji.Dlatego możesz utworzyć bazę danych ręcznie, wpisując następujące polecenie w wierszu polecenia:

sudo /etc/cron.daily/mlocate

Polecenie mlocate nie będzie działać, dopóki baza danych nie zostanie utworzona ręcznie lub gdy skrypt zostanie uruchomiony z cron.

Aby uzyskać więcej informacji na temat polecenia locate lub mlocate, wpisz zlokalizować człowieka lub człowiek mlocate w oknie Terminala i naciśnij Enter. Ten sam ekran pomocy wyświetla się dla obu poleceń.

Używanie tego polecenia

Polecenie "which" zwraca bezwzględną ścieżkę do pliku wykonywalnego, który jest wywoływany podczas wydawania polecenia. Jest to przydatne przy znajdowaniu położenia pliku wykonywalnego do tworzenia skrótu do programu na pulpicie, panelu lub innym miejscu w menedżerze pulpitu. Na przykład wpisanie polecenia który jest firefox wyświetla wyniki pokazane na obrazku poniżej.

Domyślnie polecenie which wyświetla tylko pierwszy pasujący plik wykonywalny. Aby wyświetlić wszystkie pasujące pliki wykonywalne, użyj znaku -za opcja za pomocą polecenia:

który -a firefox

Możesz wyszukać wiele plików wykonywalnych naraz, jak pokazano na poniższym obrazie. Wyświetlane są tylko ścieżki do znalezionych plików wykonywalnych. W poniższym przykładzie znaleziono plik wykonywalny "ps".

UWAGA: Komenda która wyszukuje tylko zmienną PATH bieżącego użytkownika. Jeśli wyszukasz plik wykonywalny, który jest dostępny tylko dla użytkownika root jako zwykły użytkownik, żadne wyniki nie będą wyświetlane.

Aby uzyskać więcej informacji o tym poleceniu, wpisz "man which" (bez cudzysłowów) w wierszu polecenia w oknie terminala i naciśnij klawisz Enter.

Korzystanie z polecenia Whereis

Komenda whereis służy do znajdowania plików binarnych, źródłowych i stron man dla polecenia. Na przykład wpisywanie gdzie jest firefox na ekranie wyświetla wyniki, jak pokazano na poniższym obrazie.

Jeśli chcesz wyświetlić tylko ścieżkę do pliku wykonywalnego, a nie ścieżki do strony źródłowej i strony man (u), użyj -b opcja. Na przykład polecenie whereis -b firefox wyświetli tylko / usr / bin / firefox jako wynik. Jest to przydatne, ponieważ najprawdopodobniej będziesz szukał pliku wykonywalnego programu częściej niż szukał strony źródłowej i strony man dla tego programu. Możesz także wyszukiwać tylko pliki źródłowe ( -s ) lub tylko dla stron podręcznika ( -m ).

Aby uzyskać więcej informacji o poleceniu whereis, wpisz mężczyzna whereis w oknie Terminala i naciśnij Enter.

Zrozumienie różnicy między poleceniem Whereis a poleceniem

Polecenie whereis pokazuje położenie stron binarnych, źródłowych i strony man dla polecenia, podczas gdy polecenie which pokazuje tylko położenie pliku binarnego dla polecenia.

Polecenie whereis przeszukuje listę określonych katalogów dla plików binarnych, źródłowych i plików man, podczas gdy polecenie which przeszukuje katalogi wymienione w zmiennej środowiskowej PATH bieżącego użytkownika. Aby uzyskać polecenie whereis, listę określonych katalogów można znaleźć w sekcji PLIKI na stronach man dla polecenia.

Jeśli chodzi o wyniki wyświetlane domyślnie, polecenie whereis wyświetla wszystko, co znajdzie, podczas gdy polecenie which wyświetla tylko pierwszy znaleziony plik wykonywalny. Możesz to zmienić za pomocą -za opcja omówiona wcześniej, dla której polecenia.

Ponieważ polecenie whereis używa tylko ścieżek zakodowanych w komendzie, możesz nie zawsze znaleźć to, czego szukasz. Jeśli szukasz programu, który Twoim zdaniem może być zainstalowany w katalogu nie wymienionym na stronach man dla polecenia whereis, możesz użyć polecenia which z -za opcja wyszukiwania wszystkich wystąpień polecenia w całym systemie.