Pięć poleceń wyszukiwania plików w systemie Linux

Wprowadzenie

Istnieje pięć komend przeszukiwanie plików w systemie Linux: whereis, locate, which, type, i find. Każdy z nich ma swoją własną charakterystykę i jest przeznaczony do określonych scenariuszy wyszukiwania. Ten przewodnik zapozna Cię z każdym poleceniem i pokaże przykładowe zastosowania. W celu dalszego czytania dowolnego z tych poleceń najlepiej przejrzeć odpowiednią stronę podręcznika.

whereis

whereisKomenda służy do wyszukiwania plików binarnych, kod źródłowy, a podręcznik stron w kilku standardowych zainstalować katalogi dla każdej podanej nazwy programu.

Ponieważ whereisnie przeszukuje wszystkich lokalizacji w systemie, żadne pliki z tych konkretnych katalogów nie zostaną znalezione. Z tego samego powodu szybko otrzymasz wynik wyszukiwania, niezależnie od tego, czy został znaleziony, czy nie.

Ponadto nie będzie szukał poleceń wbudowanych bezpośrednio w powłokę.

Na przykład jeśli chcesz znaleźć informacje o lspoleceniu, uruchom następujące polecenie na swoim terminalu:

whereis ls

Otrzymasz informacje zwrotne, takie jak:

ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz

W rezultacie /bin/lsznajduje się plik binarny, który chcesz zlokalizować, pozostałe dwa to strony podręcznika dla lsprogramu, nie lsznaleziono kodu źródłowego dla programu.

Skopiuj /bin/lsplik do katalogu domowego i do /usr/binkatalogu, a następnie whereisponownie uruchom komendę:

cp /bin/ls ~
cp /bin/ls /usr/bin/ls
whereis ls

Jak widać, tylko /bin/lsi /usr/bin/lszostały znalezione w wyniku wyszukiwania. lsProgram w swoim katalogu domowym nie zostało znalezione, ponieważ nasz katalog domowy nie jest jednym z tych, średnia zainstalować katalogów.

ls: /bin/ls /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz

Jeśli uruchomisz następujące polecenie:

whereis cd

Zobaczysz wynik podobny do poniższego wiersza. Nie znaleziono pliku binarnego, ponieważ cdjest to wbudowane polecenie powłoki.

cd: /usr/share/man/man1/cd.1.gz /usr/share/man/man1p/cd.1p.gz

locate

locateKomenda służy do wyszukiwania plików według nazwy z pomocą bazy danych ( /var/lib/mlocate/mlocate.db). Ta baza danych jest w zasadzie migawką układu twojego systemu plików. Wszelkie rekordy w tej bazie danych, które pasują do zapytania, zostaną wyświetlone w wynikach wyszukiwania. Domyślnie locatepolecenie użyje zapytania, aby dopasować dowolną część całej nazwy każdego rekordu, w tym nazwę ścieżki. Dlatego liczba dopasowanych plików w wyniku wyszukiwania może być większa niż się spodziewano.

Ponieważ baza danych staje się nieaktualna, wynik wyszukiwania locatepolecenia staje się mniej dokładny. Możesz zauważyć pliki, które już nie istnieją, lub nie zobaczysz pasujących plików dla nowo utworzonych plików. Domyślnie mlocate.dbbaza danych jest aktualizowana automatycznie raz dziennie. Możesz użyć updatedbpolecenia, aby go ręcznie zaktualizować.

Ponieważ wyszukiwanie odbywa się w bazie danych zamiast w systemie plików, szybkość wyszukiwania jest bardzo duża.

Jeśli uruchomisz następujące polecenie:

locate ls

Otrzymasz wiele rekordów zamiast oczekiwanego wyniku.

Aby zwiększyć dokładność wyniku wyszukiwania, możesz użyć -bflagi do ograniczenia zakresu wyszukiwania, używając zapytania do dopasowania tylko nazwy basenowej każdego rekordu:

locate -b "\ls"

Tym razem otrzymasz lokalizację każdego pliku dokładnie wywołanego lsw systemie plików:

/bin/ls

which

whichPolecenie wyszuka polecenia określonego w wartości zmiennej środowiskowej PATHi zwróci pierwszy rezultat domyślnie. W przypadku zapytania o alias, whichpolecenie określi rzeczywiste polecenie dla aliasu przed rozpoczęciem wyszukiwania.

whichPolecenia jest również bardzo szybko ze względu na jego prostotę.

Użycie whichpolecenia jest proste:

which your_command

Jeśli chcesz pokazać wszystkie pasujące polecenia zamiast pierwszego, użyj -aflagi:

which -a your_command

Oto przykład wyszukiwania aliasu polecenia:

which ll

Wynik wyszukiwania to:

alias ll='ls -l --color=auto'
    /bin/ls

type

Domyślnie typepolecenie wskaże, jak interpretowana będzie nazwa polecenia. Możliwe wyniki obejmują alias, słowo kluczowe, funkcję, funkcję wbudowaną lub plik. Podobnie jak whereispolecenie, typepolecenie przeszuka tylko kilka standardowych katalogów instalacyjnych, aby odpowiedzieć na zapytanie.

Kilka przykładów pisania różnych poleceń:

Wbudowane polecenie powłoki:

type cd

cd is a shell builtin

Plik binarny w systemie plików:

type sudo

sudo is /usr/bin/sudo

Alias:

type ls

ls is aliased to `ls --color=auto'

find

Spośród pięciu poleceń wyszukiwania plików przedstawionych w tym samouczku, findpolecenie to jest najsilniejsze. Jest to również najwolniejszy. W przeciwieństwie do pozostałych czterech poleceń, findpolecenie faktycznie wyszuka Twój plik w całym systemie plików, jeden i-węzeł po jednym i-węźle. Za pomocą tego findpolecenia możesz użyć zaawansowanych kryteriów zapytania, aby znaleźć każdy potrzebny plik, a nawet dodatkowo wykonać działania na znalezionych plikach.

Kryteria wyszukiwania dla findpolecenia są zbyt skomplikowane, aby można je było wyjaśnić w tak krótkim artykule, zamiast tego podano kilka przykładów.

Podstawowy format findpolecenia:

find [path] [option] [action]

Aby znaleźć wszystkie pliki w katalogu roboczym i wszystkich jego podkatalogach:

find

Aby znaleźć plik wywołany aaaw katalogu domowym i wszystkich jego podkatalogach:

find ~ -name 'aaa'

Aby znaleźć wszystkie pliki w systemie plików, które zostały zmodyfikowane w ciągu ostatnich 24 godzin:

find / -mtime 0

Aby znaleźć wszystkie pliki w katalogu internetowym i wszystkie jego podkatalogi należące do użytkownika nginx:

find /usr/share/nginx/html/ -user nginx

Aby znaleźć wszystkie pliki w katalogu roboczym, których uprawnienia to 0744:

find -perm -0744

Aby znaleźć plik o nazwie aaaw katalogu roboczym i wyświetlić jego szczegółowe informacje:

find -name 'aaa' -exec ls -l {} \;


Leave a Comment

Funkcjonalności warstw architektury referencyjnej Big Data

Funkcjonalności warstw architektury referencyjnej Big Data

Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Chcesz zobaczyć rewolucyjne wynalazki Google i jak te wynalazki zmieniły życie każdego człowieka dzisiaj? Następnie czytaj na blogu, aby zobaczyć wynalazki Google.

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Whatsapp w końcu uruchomił aplikację Desktop dla użytkowników komputerów Mac i Windows. Teraz możesz łatwo uzyskać dostęp do Whatsapp z systemu Windows lub Mac. Dostępne dla Windows 8+ i Mac OS 10.9+

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

Energia jądrowa jest zawsze pogardzana, nigdy jej nie szanujemy z powodu przeszłych wydarzeń, ale nie zawsze jest zła. Przeczytaj post, aby dowiedzieć się więcej na ten temat.

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Koncepcja autonomicznych samochodów, które wyjadą na drogi za pomocą sztucznej inteligencji, to marzenie, które mamy już od jakiegoś czasu. Ale pomimo kilku obietnic nigdzie ich nie widać. Przeczytaj ten blog, aby dowiedzieć się więcej…

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Wzrasta liczba ataków ransomware, ale czy sztuczna inteligencja może pomóc w radzeniu sobie z najnowszym wirusem komputerowym? Czy AI jest odpowiedzią? Przeczytaj tutaj, wiedz, że sztuczna inteligencja jest zmorą lub zgubą

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

Sztuczna inteligencja nie jest dla ludzi nową nazwą. Ponieważ sztuczna inteligencja jest włączona do każdego strumienia, jednym z nich jest opracowywanie narzędzi zwiększających ludzką wydajność i dokładność. Skorzystaj z tych niesamowitych narzędzi uczenia maszynowego i uprość swoje codzienne zadania.

Wgląd w 26 technik analizy Big Data: część 2

Wgląd w 26 technik analizy Big Data: część 2

Zawsze potrzebujemy Big Data Analytics do efektywnego zarządzania danymi. W tym artykule omówiliśmy kilka technik analizy Big Data. Sprawdź ten artykuł.

Ataki DDOS: krótki przegląd

Ataki DDOS: krótki przegląd

Czy jesteś również ofiarą ataków DDOS i nie masz pewności co do metod zapobiegania? Przeczytaj ten artykuł, aby rozwiązać swoje pytania.