コマンド · 1 min read · Sep 14, 2025

findコマンドを使ったファイルとフォルダの検索

findコマンドを使ったファイルとフォルダの検索

このチュートリアルでは、findコマンドと、それを使用してファイルシステム内のファイルを迅速に見つける方法を見ていきます。Findは、マウントされたドライブやリムーバブルストレージを含むシステム内のどこにでもファイルを見つけることができる強力なユーティリティで、正規表現を処理し、さらにはそれらのファイルに対して他のコマンドを実行することもできます。幸いなことに、ほとんどのユーザーが必要とするすべての機能を提供するためには、いくつかの簡単なオプションだけが必要です。

findコマンドの形式は次のとおりです:

find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path…] [expression]

H、L、Pオプションは、シンボリックリンクをたどるかどうかを指定します。debugoptsはデバッグ情報を提供するために存在し、-0levelはクエリの最適化を提供します。このチュートリアルおよびfindのほとんどの使用においては、パスと式を指定するだけで十分です。

パス

パスはファイルシステム内の検索場所を指定します。Findはこのパスとすべてのサブディレクトリを検索します。ファイルシステム全体を検索するには、パスに’/‘を指定します。

式はOPTIONS、TESTS、ACTIONSの3つの部分で構成されています。

OPTIONS

-help これにより、findコマンドの使用法の簡単な概要が表示されます

find -help

-mount このオプションは、findに他のファイルシステム上のディレクトリを検索しないように指示します。たとえば、マウントされたUSBドライブや検索が遅くなる可能性のある他のボリュームです。

TESTS

テストセクションは、findに何を探すかを指示します。

-executable これは、findに実行可能ファイルとディレクトリのみを返すように指示します。これは、名前がわかっているディレクトリを見つけるために便利です(-file dフラグと組み合わせて使用)または実行可能ファイルを見つけるために便利です(-file fフラグと組み合わせて使用)。

-name/-iname これは、検索しているファイル(またはディレクトリ)の名前の文字列を指定します。二重引用符(”)で囲む必要があります。メタキャラクター(*'、?’、および[]')を名前の一部に使用できます。-nameは検索を大文字と小文字を区別するようにし、-inameは大文字と小文字を区別しないようにします。 -regex -nameの代わりにこれを使用して、Emacsスタイルの正規表現を使用して名前を検索します。 -type これを使用して、ファイル(-type f)またはディレクトリ(-type d)を探しているかを指定します。 #### ACTIONS このセクションは、findコマンドの結果に対してアクションを実行するために使用されます。 -exec 見つかった各ファイルに対してコマンドを実行し、ファイル名をコマンドに渡します。 ### エラーの抑制 通常、非ルートユーザーアカウントですべてのディレクトリを検索すると、「find:/var/spool/cron/crontabs`: Permission denied」のような多くのエラーが表示されます。これらを出力から削除するには、findコマンドに2>/dev/nullを追加して/dev/nullに送信します。 ### 例 実行可能ファイルを検索するためにファイルシステム全体を検索します find / -name "grep" -executable -type f 2>/dev/null マウントされたドライブを除いてディレクトリを検索するためにファイルシステム全体を検索します find / -mount -executable -iname "music" -type d 2>/dev/null ### さらなる読み物 このチュートリアルでは、findの機能の一部のみをカバーしています。これがあなたの必要なほとんどのことを行うのに十分であることを願っていますが、findマニュアルにはさらに多くのオプションがあります。 man find 検索用語に柔軟性を持たせるための正規表現に関する情報は、POSIX正規表現のmanページを参照してください man 7 regex

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。