UNIX入門 > Linuxコマンド一覧 > find

find ファイルの検索


コマンドの機能

指定されたディレクトリ以下の階層から、与えられた条件に適合するファイルを検索します。

コマンドの書式([]は省略可)

find [パス] [動作]

コマンドのオプション

パス 検索を開始するパスを指定します。複数指定も可能です。
動作 後述する判別式、アクションを記述します。判別式で真が返ってきたファイルに対して、アクションを実行します。

判別式
-amin n 最終アクセス時刻がn分前ならば真を返します。
-atime n 最終アクセス時刻がn×24時間前ならば真を返します。
-anewer file 指定されたファイルの更新時刻よりも後にアクセスされたファイルならば真を返します。
-cmin n 最終変更時刻がn分前ならば真を返します。この解説でいう「変更」とは、内容、名前、属性、タイムスタンプなど、あらゆる変更を指します。
-ctime n 最終変更時刻がn×24時間前ならば真を返します。
-cnewer file 指定されたファイルの更新時刻よりも後に変更されたファイルならば真を返します。
-empty ファイルまたはディレクトリが空ならば真を返します。
-mmin n 最終更新時刻がn分前ならば真を返します。この解説でいう「更新」内容の変更を指します。
-mtime n 最終更新時刻がn×24時間前ならば真を返します。
-newer file 指定されたファイルの最終更新時刻よりも後に変更されたファイルならば真を返します。
-name pattern ファイル名が指定されたパターンに一致したら真を返します。
-type T 指定されたタイプのファイルならば真を返します。指定できるタイプ記号は以下の通りです。
  b  ブロック型特殊ファイル(バッファ付き)
  c  キャラクタ型特殊ファイル(バッファなし)
  d  ディレクトリ
  p  名前付きパイプ(FIFO)
  f  通常のファイル
  l  シンボリック・リンク
  s  ソケット
-user uname 指定されたユーザーが所有者ならば真を返します。

アクション
-exec command \; 指定されたコマンドを実行します。コマンドの後に{ }を書くと、検索結果をファイル名に置き換えます。
-ok command \; 指定されたコマンドを実行します。実行前に確認を行います。コマンドの後に{ }を書くと、検索結果をファイル名に置き換えます。
-ls 「ls」コマンドのロング・フォーマット形式で検索結果を表示します。
-print 検索結果を絶対パスで表示します。ファイルごとに改行します。


コマンドの使用例

$ find /wrk/* -type d -mtime '+10' -ok rm -r {}\; 「/wrk」以下から、ディレクトリかつ、最終更新時刻が10日以上前のファイルを検索し、確認の上、ディレクトリごと削除します。


関連するコマンド

ls      

戻る