Cara menemukan semua file dengan ekstensi yang sama di dalam direktori

63

Saya pemula di Linux dan saya ingin mencari semua .conffile di /etc/.

Saya sudah mencoba grep -r *.conf /etc, tetapi hasilnya tidak benar.

Apa yang saya lakukan salah?

Adrian George
sumber

Jawaban:

96

Cukup tekan Ctrl+ Alt+ Tdi keyboard Anda untuk membuka Terminal. Saat terbuka, jalankan perintah di bawah ini:

find . -type f -name "*.txt"

Ini akan mencantumkan semua file dengan ekstensi .txt.

Di .awal menunjukkan direktori saat ini. findmencari secara rekursif di semua direktori di bawah jalur yang diberikan. Jika Anda ingin pencarian dimulai di suatu tempat selain direktori kerja saat ini, tentukan path, misalnya:

find /etc -type f -name "*.conf"

Ini mencari /etcdirektori dan semua subdirektori untuk file biasa dengan .confekstensi.

Mitch
sumber
1
Berhasil. Apakah ada alternatif untuk perintah ini?
Adrian George
1
Anda dapat melihat Locate .
Mitch
@AdrianGeorge findsangat banyak digunakan, didokumentasikan dengan sangat baik, dan memiliki begitu banyak posting StackOverflow / Exchange tentang hal itu sehingga akan lebih sulit untuk menemukan sesuatu yang lebih mudah untuk dikerjakan. Apa saja yang ingin Anda lakukan telah ditulis online di suatu tempat.
BallpointBen
6

Saya pribadi menggunakan find, tetapi Anda bisa menggumpal untuk hal-hal ini juga:

shopt -s globstar
ls /etc/{,**/}*.conf

Dan Anda dapat menggunakan cari dan cepat tetapi tidak dapat diandalkan.

locate '/etc/**.conf'
Oli
sumber
Kenapa tidak bisa locatediandalkan?
Giraldi
1
@ Giraldi locatebergantung pada basis data mlocate telah diperbarui baru-baru ini untuk menjadi akurat. Secara default, itu hanya dijadwalkan untuk memperbarui sekali sehari (meskipun Anda dapat memaksanya secara manual dengan updatedb).
Oli
@Oli tidak benar di mac, kan? berpikir mac os terus mlocate diperbarui
d8aninja
6

grepmencari isi file, bukan nama file.

Untuk menemukan semua .conffile di dalamnya, /etc/Anda ingin mencari:

find /etc -name "*.conf"
pengguna184890
sumber