私はLinuxの初心者で、ですべての.confファイルを検索したいです/etc/。
試しましたgrep -r *.conf /etcが、結果は正しくありません。
何が間違っていますか?
私はLinuxの初心者で、ですべての.confファイルを検索したいです/etc/。
試しましたgrep -r *.conf /etcが、結果は正しくありません。
何が間違っていますか?
回答:
キーボードのCtrl+ Alt+ Tを押すだけで、ターミナルが開きます。開いたら、次のコマンドを実行します。
find . -type f -name "*.txt"
これにより、拡張子が付いたすべてのファイルがリストされます.txt。
.開始時には、現在のディレクトリを示しています。find指定されたパスの下のすべてのディレクトリを再帰的に検索します。現在の作業ディレクトリ以外の場所で検索を開始する場合は、たとえば次のようにパスを指定します。
find /etc -type f -name "*.conf"
これにより、/etcディレクトリとそのすべてのサブディレクトリで、.conf拡張子を持つ通常のファイルが検索されます。
findは非常に広く使用されており、十分に文書化されており、StackOverflow / Exchangeに関する投稿が非常に多いため、操作しやすいものを見つけるのは困難です。あなたがやりたいことは、どこかでオンラインで書かれています。
私は個人的に使用しfindますが、これらのこともグロブできます:
shopt -s globstar
ls /etc/{,**/}*.conf
また、locateを使用することもできますが、高速ですが信頼性はありません。
locate '/etc/**.conf'
locate信頼できないのですか?
locateはmlocateデータベースに依存しており、最近正確に更新されました。デフォルトでは、1日に1回だけ更新されるようにスケジュールされています(ただし、手動で強制的に更新できますupdatedb)。
grepファイル名ではなく、ファイルの内容を検索します。
すべての.confファイルを検索するには、検索/etc/する必要があります。
find /etc -name "*.conf"
findコマンドは遅いです。このコマンドを使用すると、すぐに結果が得られます。
locate "/etc/*.conf"
locate(mlocateパッケージ内の)コマンドの詳細については、https://medium.com/@thucnc/the-fastest-way-to-find-files-by-filename-mlocate-locate-commands-55bf40b297abを参照してください。
locate2年前に言及されました:askubuntu.com/a/333728/158442