Linux でファイルを検索するにはどうすればいいですか?

Linux でファイルを検索するにはどうすればいいですか?

find . | grep test.htmlLinux で ms-windows 関数の検索と同様に、名前でファイルまたはコンテンツを再帰的に検索する良い方法をご存知ですか?最善の方法ではないことは推測できます。ご回答いただければ幸いです。

たとえば、実行するfind . | grep terms.htmlと期待どおりの結果が得られますが、locate terms.htmllocate ではデータベースが更新されても結果は得られません。これは、ファイルが保存されているのが USB スティックであることに関係している可能性があります。

答え1

コマンドはfindです。

 find . -iname '*hellofiles*'

find ·location· -iname は大文字と小文字を区別しないことを意味し、 '' は必要に応じて正規表現になります。

find /home/user -iname '*zip' は、/home/user 内のすべての zip ファイルを検索します。

より高速な検索が必要な場合は、locateを使用できます。設定に応じて、毎週または毎日など、定期的にディスクをスキャンするユーティリティがあります。

locate myfile

そして、updatedb がデータベース内で myfile を見つけたかどうかを確認します。

答え2

find名前、正規表現、あるいはサイズや所有権などのより複雑な条件でファイルを検索できるオプションがいくつかあります。例:

find . -iname '*.txt'

リンクされたマニュアル ページの例のセクションも参照してください。

ただし、find呼び出すたびにファイルシステムを検索するという明らかな欠点があります。locate一方、ユーティリティのさまざまなバリエーションでは、システム内のファイルの定期的に更新されるデータベースが使用されます。

答え3

パッケージの場合: dpkg -L パッケージ名

または、特定のフォルダーにあることがわかっている場合は、次のように grep の使用を追加します。

dpkg -L パッケージ名 | grep フォルダ名

たとえば、Chromiumをインストールしたばかりで、binがどこにあるかを知る必要がある場合

dpkg -L chromium-browser | grep bin

答え4

find . -name test.htmlまたはワイルドカードも使用できます:find . -name \*test.html

関連情報