linux コマンド find ファイルを探す

ファイルを探します。
検索対象となるディレクトリや階層の指定、ファイル名の条件指定等でフィルタリング可能です。更に、検索でヒットしたファイルに対して、別途アクションを定義することができます。

構文

find [DIRECTORY]… [OPTION]… ACTION

主なオプション

  • DIRECTORY
    検索場所を指定する。
  • -name
    ファイル名のパターンを指定して検索する。
    例:-name “a*.txt” (先頭がaで始まり、.txtという名前)
  • -type
    検索対象をファイル(f)、ディレクトリ(d)で指定する。
    例:-type f (ファイルのみを検索対象とする)
  • -size
    検索対象をファイルサイズで指定する。
    例:-size +100k (サイズが100Kバイト以上のファイル)
  • -and / -or / -not
    判別式の演算評価を行う。
    例:expr1 -and expr2 等
  • -exec/-ok command {} \;
    検索該当ファイルの1つ1つにコマンド実行する。
    例:-exec rm {} \; (該当ファイルを一括削除。問合せ無し)

実行例

  • 例:ファイルを名前パターンで検索します。
    $ find . -name "a*.txt"
  • 例:ファイルを名前パターンとサイズのどちらか一致の条件で検索します。
    $ find . -name "a*.txt" -or -size -10k
  • 例:ファイルを名前パターンで検索し、該当ファイルを一括削除します。
    $ find . -name "a*.txt" -exec rm {} \;