Główna » jak » Jak znaleźć pliki i foldery w systemie Linux za pomocą wiersza poleceń

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

    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 korzystania z wiersza poleceń w celu znajdowania 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 rekursywnie przez jego 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 "find" 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.

    Używanie polecenia Locate

    Polecenie lokalizowania jest szybsze niż polecenie find, ponieważ używa wcześniej zbudowanej bazy danych, natomiast polecenie find przeszukuje w rzeczywistym systemie, przez wszystkie rzeczywiste katalogi i pliki. Komenda lokalizuje zwraca listę wszystkich ś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, aby uzyskać aktualne 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 ( ? ), który oznacza pojedynczy znak i gwiazdkę ( * ), co oznacza ciąg ciągów znaków. W powyższym przykładzie ukośnik odwrotny wyłącza domyślną zamianę "mydata" na "* mydata *", dzięki czemu otrzymasz tylko wyniki zawierające "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 przechowywane są informacje o znacznikach czasowych w bazie danych. Dzięki temu program mlocate wie, czy zawartość katalogu zmieniła się bez ponownego czytania zawartości i powoduje, że aktualizacje bazy danych są szybsze i mniej obciążające na dysku twardym.

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

    sudo apt-get install mlocate

    UWAGA: W następnym artykule pokażemy polecenie, które pozwoli ci określić, gdzie znajduje się plik wykonywalny dla polecenia, jeśli istnieje.

    Polecenie 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 znaleźć 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ę pliku wykonywalnego, który jest wywoływany podczas wydawania polecenia. Jest to przydatne przy znajdowaniu lokalizacji 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żna wyszukiwać wiele plików wykonywalnych za jednym razem, jak pokazano na poniższym obrazie. Wyświetlane są tylko ścieżki do znalezionych plików wykonywalnych. W poniższym przykładzie znaleziono tylko 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 zostaną wyświetlone.

    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 man ( -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 man dla polecenia, podczas gdy polecenie which pokazuje tylko lokalizację pliku binarnego dla polecenia.

    Polecenie whereis przeszukuje listę określonych katalogów 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 podręcznika man dla tego 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, nie zawsze możesz 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.