Znajdź swoje pliki bez wysiłku z wiersza poleceń w systemie Linux
Użytkownicy zwykle próbują znaleźć plik za pomocą GUI. Czasami jednak znalezienie pojedynczego pliku w ogromnym stosie plików w systemie staje się bardzo żmudnym zadaniem. Znalezienie go w sposób konwencjonalny może być czasochłonnym zadaniem. Aby ułatwić to zadanie, Linux oferuje pewne polecenia, które wykonują tę pracę za Ciebie.
znajdować
to popularne polecenie używane w systemach Linux, które może pomóc w wyszukiwaniu różnych plików na podstawie ich nazwy, typu, rozszerzenia, uprawnień, właściciela itp.
W tym samouczku skupimy się na wyszukiwaniu plików według nazwy. Przyjrzymy się różnym argumentom, których można użyć z znajdować
Komenda. Dowiemy się również o Znajdź
polecenie, które jest również szybszym sposobem wyszukiwania plików według nazwy.
Składnia dla znajdować
Komenda
Używając znajdować
polecenie w odpowiedni sposób może ułatwić zadanie. Wyszukiwanie plików określonego typu lub rozszerzenia lub wyszukiwanie po nazwie będzie możliwe, jeśli dobrze zrozumiesz ogólną składnię tego polecenia.
Ogólna składnia dla znajdować
polecenie jest następujące.
find [ścieżka_wyszukiwania] [wyrażenie] [opcje] [znajdź_co]
Próbowałem uprościć składnię znajdować
polecenie, aby lepiej zrozumieć polecenie.
Przyjrzyjmy się każdemu atrybutowi składni, aby uzyskać wyobrażenie o znaczeniu każdego z nich.
Ścieżka_wyszukiwania: Tutaj pojawia się ścieżka, w której określamy ścieżkę, od której chcemy, aby system zaczął szukać pliku. Krótko mówiąc, określony jest katalog początkowy, w którym ma się rozpocząć wyszukiwanie.
Wyrażenie: Możesz określić wzorce wyszukiwania dla konkretnego przeszukiwanego pliku.
Opcje: Możesz użyć dostępnych opcji używanych z znajdować
polecenie w tym miejscu.
znajdź_co?: W tym atrybucie wstaw nazwę lub część nazwy pliku do przeszukania.
Zilustrujmy to polecenie przykładem.
znajdź /home/gaurav/workspace -name "source.c"
W tym poleceniu używam znajdować
polecenie, aby wyszukać plik „source.c”. Poprosiłem konkretnie o wyszukiwanie w ścieżce „/home/gaurav/workspace”. Używając -Nazwa
opcja pozwala mi przeszukać plik określony przez „source.c”.
To najprostsza demonstracja korzystania z znajdować
Komenda.
Wyszukiwanie plików w bieżącym katalogu
Używając znajdować
polecenie w swojej najprostszej formie polega na wyszukiwaniu plików w bieżącym katalogu roboczym.
znajdować .
To polecenie wyświetli wszystkie pliki w bieżącym katalogu roboczym. Tutaj '.
‘ oznacza ‘bieżący katalog roboczy’. Poniżej znajdują się dane wyjściowe z mojego bieżącego katalogu roboczego. Wszystkie pliki obecne w tym katalogu są wymienione bez żadnych filtrów
Wyjście:
. ./context_log.policy ./snap ./snap/couchdb ./snap/couchdb/current ./snap/eclipse ./snap/eclipse/current ./snap/vim-editor ./snap/vim-editor/current ./ snap/vim-editor/common ./snap/vim-editor/1 ./snap/htop ./snap/htop/current ./snap/htop/common ./snap/htop/common/.local ./snap/htop /common/.local/lib ./snap/htop/common/.local/lib/locale ./snap/htop/common/.local/lib/locale/en_IN.UTF-8 ./snap/htop/common/. local/lib/locale/en_IN.UTF-8/LC_CTYPE
Aby wyszukać plik, którego przybliżona nazwa jest znana, użyj znajdować
polecenie, jak pokazano poniżej.
znajdować . -nazwa [ciąg_z_nazwa_pliku\*]
Przykład:
znajdować . -nazwa kontekstu\*
To polecenie wyszukuje pliki zawierające w sobie ciąg „context”.
Wyjście:
./context_log.policy ./context.xml ./context_preview.c
Wyświetlane są wszystkie pliki w bieżącym katalogu, który zawiera w sobie ciąg „context”.
Teraz problem pojawia się z tym poleceniem, gdy próbujesz pozwolić sobie na rozróżnianie wielkości liter podczas wpisywania nazwy pliku lub przybliżonego ciągu.
Linux jest dość ostrożny w kwestii rozróżniania wielkości liter, dlatego istnieje duża szansa, że wyszukiwanie może się nie powieść. Nie otrzymam danych wyjściowych dla polecenia find, jeśli użyję ciągu jako „KONTEKST” zamiast „kontekstu”. Nawet jeśli pojedyncza litera w nazwie pliku ma inną wielkość niż oryginalna nazwa pliku, wyszukiwanie nie powiedzie się.
Ale nie musisz się tym martwić. Możesz po prostu wymienić -Nazwa
opcja z -ja nazywam
. Pozwala to na wyszukiwanie plików bez względu na to, w jakich przypadkach występuje ich nazwa. Po prostu dokonaj tej prostej zmiany w swoim poleceniu i wszystko będzie dobrze.
znajdować . -iname CONT\*
Dane wyjściowe będą takie same, nawet jeśli użyłem ciągu pisanego wielkimi literami.
./context_log.policy ./context.xml ./context_preview.c
Wyszukiwanie plików w różnych katalogach
Możesz łatwo wyszukiwać pliki w dowolnym katalogu w systemie Linux, niezależnie od katalogu, w którym aktualnie pracujesz.
find [ścieżka_katalogu] -iname [określona nazwa_pliku]
Przykład:
znajdź /home/gaurav/tomcat -iname ath.html
Tutaj szukałem konkretnego pliku „ath.html”, a nie plików podobnych do tego ciągu. Tak więc wyjściem będzie tylko określony plik, jak wspomniano powyżej.
/home/gaurav/tomcat/ath.html
Załóżmy teraz, że nie znamy pełnej nazwy pliku, a jedynie ciąg znaków tej nazwy pliku. Następnie możemy przeszukiwać pliki w następujący sposób.
znajdź /home/gaurav/tomcat -iname ath\*
To polecenie wyszuka wszystkie pliki, które na początku zawierają ciąg „ath”. użyłem -ja nazywam
opcja tutaj, więc nie muszę się martwić o rozróżnianie wielkości liter.
Wyjście:
/home/gaurav/tomcat/ATHENIAN_ART.html /home/gaurav/tomcat/ath_things.html /home/gaurav/tomcat/ath.html /home/gaurav/tomcat/ATHENIAN_ART.pdf /home/gaurav/tomcat/ATHHHHhow.html
Możesz także użyć tego polecenia, aby przeszukać wiele plików, które w nazwie kończą się podobnym rozszerzeniem.
Przykład:
znajdź /home/gaurav/tomcat -iname "*.c"
Polecenie wyszuka wszystkie pliki w określonym katalogu, który zawiera rozszerzenie .c w nazwie pliku.
Wyjście:
/home/gaurav/tomcat/stiil.c /home/gaurav/tomcat/project/temp.c /home/gaurav/tomcat/copy.c /home/gaurav/tomcat/gy.c
Dowiedzieliśmy się o znajdować
polecenie, aby wyszukać pliki określone przez nazwę pliku. Teraz przyjrzyjmy się jeszcze jednej komendzie, która jest szybsza niż konwencjonalna znajdować
Komenda.
Znajdź
przegląd poleceń
Jest jeszcze jedno polecenie do wyszukiwania plików w systemie, które jest szybsze niż znajdować
Komenda. To jest Znajdź
Komenda. To polecenie nie jest preinstalowane w dystrybucjach systemu Linux. Aby pobrać i zainstalować Znajdź
pakiet poleceń do systemu.
Dla systemów Ubuntu i Debian, posługiwać się:
sudo apt aktualizacja sudo apt zainstaluj mlocate
Dla systemów Cent Os i Fedora, posługiwać się:
sudo mniam zainstaluj mlocate
Polecenie locate wyszukuje plik zgodnie z podanym wzorcem na wejściu. Znajdź
używa pliku bazy danych do wyszukiwania plików, ten plik bazy danych jest generowany przez zaktualizowanyb
Komenda.
sudo zaktualizowaneb
Czas potrzebny na aktualizację tego pliku bazy danych może się różnić w zależności od użytkownika w zależności od plików w systemie.
Używając Znajdź
Komenda
Możesz użyć Znajdź
polecenie w następujący sposób. Pamiętaj, aby zaktualizować plik bazy danych za pomocą polecenia sudo zaktualizowaneb
.
Składnia:
zlokalizuj [nazwa_pliku_lub_część_nazwy_pliku]
To polecenie rozpocznie wyszukiwanie z katalogu głównego. Zwróci listę wszystkich plików w systemie, która zawiera nazwę pliku lub część nazwy pliku określoną w poleceniu.
Przykład:
znajdź kopię.c
Wyjście:
/home/gaurav/Downloads/git-2.23.0/copy.c /snap/core/9804/usr/lib/python3.5/__pycache__/copy.cpython-35.pyc /snap/core/9993/usr/lib /python3.5/__pycache__/copy.cpython-35.pyc /snap/core18/1880/usr/lib/python3.6/__pycache__/copy.cpython-36.pyc /snap/core18/1885/usr/lib/python3 .6/__pycache__/copy.cpython-36.pyc /snap/core20/634/usr/lib/python3.8/__pycache__/copy.cpython-38.pyc /usr/lib/python3.5/__pycache__/copy.cpython -35.pyc /usr/lib/python3.6/__pycache__/copy.cpython-36.pyc /usr/share/icons/MacBuntu-OS/apps/128/copy.com.png
Podświetlony wiersz pokazuje, że znaleziono dokładny plik „copy.c”. Wraz z tym wynikiem wyświetlane są również niektóre inne pliki, które zawierają „copy.c” jako część nazwy pliku.
Aby uniknąć bałaganu innymi niechcianymi plikami i znaleźć tylko żądany plik, możesz użyć polecenia zlokalizować w następujący sposób.
zlokalizować -b '\nazwa_pliku'
Przykład:
zlokalizować -b '\copy.c'
Wyjście:
/home/gaurav/Pobrane/git-2.23.0/copy.c
Konkretny plik wymieniony w kryteriach wyszukiwania jest wymieniony wraz ze ścieżką katalogu, w którym się znajduje.
Używając Znajdź
polecenie może wydawać się trochę trudne, ale jest szybszą metodą wyszukiwania plików, gdy nie znasz dokładnej lokalizacji tego pliku. Pobieranie plików staje się bardzo szybkie po zaktualizowaniu pliku bazy danych używanego przez polecenie zlokalizowania.
Wniosek
W tym krótkim samouczku poznaliśmy dwa ważne polecenia, znajdować
oraz Znajdź
. Teraz możesz łatwo wyszukiwać pliki w swoim systemie, nie gubiąc się w stosie plików. Korzystanie z tych poleceń z pewnością pozwoli zaoszczędzić czas i wydajnie wykonać zadanie wyszukiwania plików.