ディレクトリ内で同じ拡張子を持つすべてのファイルを見つける方法


62

私はLinuxの初心者で、ですべての.confファイルを検索したいです/etc/

試しましたgrep -r *.conf /etcが、結果は正しくありません。

何が間違っていますか?

回答:


95

キーボードのCtrl+ Alt+ Tを押すだけで、ターミナルが開きます。開いたら、次のコマンドを実行します。

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

これにより、拡張子が付いたすべてのファイルがリストされます.txt

.開始時には、現在のディレクトリを示しています。find指定されたパスの下のすべてのディレクトリを再帰的に検索します。現在の作業ディレクトリ以外の場所で検索を開始する場合は、たとえば次のようにパスを指定します。

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

これにより、/etcディレクトリとそのすべてのサブディレクトリで、.conf拡張子を持つ通常のファイルが検索されます。


1
できます。このコマンドの代替手段はありますか?
エイドリアンジョージ

1
Locateを見ることができます
ミッチ

@AdrianGeorge findは非常に広く使用されており、十分に文書化されており、StackOverflow / Exchangeに関する投稿が非常に多いため、操作しやすいものを見つけるのは困難です。あなたがやりたいことは、どこかでオンラインで書かれています。
BallpointBen

6

私は個人的に使用しfindますが、これらのこともグロブできます:

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

また、locateを使用することもできますが、高速ですが信頼性はありません。

locate '/etc/**.conf'

なぜlocate信頼できないのですか?
ギラルディ

1
@Giraldi locateはmlocateデータベースに依存しており、最近正確に更新されました。デフォルトでは、1日に1回だけ更新されるようにスケジュールされています(ただし、手動で強制的に更新できますupdatedb)。
オリ

@OliはMacには当てはまりませんよね?Mac OSがmlocateを更新し続けると考える
d8aninja

6

grepファイル名ではなく、ファイルの内容を検索します。

すべての.confファイルを検索するには、検索/etc/する必要があります。

find /etc -name "*.conf"

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.