Jak znaleźć plik według nazwy w systemie Linux?

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.