Jestem początkującym w systemie Linux i chcę wyszukać wszystkie .confpliki w /etc/.
Próbowałem grep -r *.conf /etc, ale wynik jest nieprawidłowy.
Co ja robię źle?
Jestem początkującym w systemie Linux i chcę wyszukać wszystkie .confpliki w /etc/.
Próbowałem grep -r *.conf /etc, ale wynik jest nieprawidłowy.
Co ja robię źle?
Odpowiedzi:
Wystarczy nacisnąć Ctrl+ Alt+ Tna klawiaturze, aby otworzyć Terminal. Po otwarciu uruchom poniższe polecenie:
find . -type f -name "*.txt"
Spowoduje to wyświetlenie listy wszystkich plików z rozszerzeniem .txt.
.Na początku oznacza katalog bieżący. findprzeszukuje rekurencyjnie we wszystkich katalogach pod podaną ścieżką. Jeśli chcesz, aby wyszukiwanie rozpoczynało się w innym miejscu niż bieżący katalog roboczy, podaj ścieżkę, na przykład:
find /etc -type f -name "*.conf"
Przeszukuje /etckatalog i wszystkie jego podkatalogi w poszukiwaniu zwykłych plików z .confrozszerzeniem.
findjest tak szeroko stosowany, tak dobrze udokumentowany i ma tak wiele postów StackOverflow / Exchange, że trudniej byłoby znaleźć coś łatwiejszego do pracy. Prawie wszystko, co chcesz zrobić, zostało gdzieś spisane online.
Osobiście użyłbym find, ale możesz też globować dla tych rzeczy:
shopt -s globstar
ls /etc/{,**/}*.conf
Możesz użyć lokalizowania i jest szybki, ale nie jest niezawodny.
locate '/etc/**.conf'
locateniezawodny?
locatepolega na bazie danych mlocate, która została niedawno zaktualizowana, aby była dokładna. Domyślnie aktualizacja jest zaplanowana tylko raz dziennie (choć można to wymusić ręcznie updatedb).
grepprzeszukuje zawartość plików, a nie nazwy plików.
Aby znaleźć wszystkie .confpliki /etc/, znajdziesz:
find /etc -name "*.conf"
Polecenie znajdowania jest wolne, użyj tego polecenia, aby natychmiast uzyskać wynik:
locate "/etc/*.conf"
Więcej informacji na temat locatepolecenia (w mlocatepakiecie) można znaleźć tutaj: https://medium.com/@thucnc/the-fastest-way-to-find-files-by-filename-mlocate-locate-commands-55bf40b297ab
locatewspomniano dwa lata temu: askubuntu.com/a/333728/158442