 |
find [ 検索ディレクトリ ] [ 検索式 ] |
検索式 |
内容 |
-name <ファイル名> |
ファイル名で検索する |
-atime <日数> |
最終アクセス時刻(日数 x 24h)で検索する |
-mtime <日数> |
最終更新時刻(日数 x 24h)で検索する |
-perm <アクセス権> |
アクセス権で検索する |
-size <サイズ> |
ファイルサイズ(ブロック単位)で検索する |
-type <ファイル種別> |
ファイルの種類で検索する(f:ファイル、d:ディレクトリ) |
-user <ユーザー名> |
ファイルの所有者で検索する |
-exec <コマンド> \; |
マッチしたファイルに対してコマンドを実行する |
|
findコマンドは指定したディレクトリ以下から、検索条件にマッチするファイルやディレクトリを検索するコマンドです。
下の例では「/dir」ディレクトリ以下から、拡張子が「.txt」のファイルを検索しています。
次の例では「/dir」ディレクトリ以下から、所有者が「u1」のディレクトリ(ファイルタイプが「d」)を検索しています。結果として「u1_dir」のみが抽出されています。
-mtimeオプションを使って、最終更新時刻で検索する場合は日数を指定しますが、指定する日数の符号によって下図のような範囲の検索となります。
まず、符号をつけずに「-mtime 10」と指定した場合は、最終更新日が10日前ぴったりのファイルが検索されます。(より正確に言うと、最終更新時刻が10x24=240時間前ぴったりのファイルが検索されます。)
プラスの符号をつけて「-mtime +10」と指定した場合は、最終更新日が10日前より前のファイルが、マイナスの符号をつけて「-mtime -10」と指定した場合は、最終更新日が10日前より後のファイルが検索されます。
指定する日数の符号と検索範囲の関係は-atimeオプションの場合も同様です。
-sizeオプションを使って、ファイルサイズで検索する場合は、ファイルサイズをブロック単位で指定します。1ブロック=512バイトですので、「-size 1」とした場合、512バイトのファイルが検索されます。
プラスの符号をつけて「-size +1」とした場合は、1ブロック(512バイト)より大きなファイルが、マイナスの符号をつけて「-size -1」とした場合は、1ブロック(512バイト)より小さなファイルが検索されます。
-execオプションを使うと、検索にマッチしたファイルに対してコマンドを実行することができます。
このオプションの後に実行したいコマンドを入力し、終了文字「\;」で閉じます。「{ }」の部分は検索にマッチしたファイル名に置き換わります。
下の実行例では、「find /test -user u1」の部分で所有者が「u1」のファイル「b.txt」と「c.txt」が検索され、「{ }」の部分がそれらのファイル名で置き換わることにより、「rm b.txt」と「rm c.txt」が実行され、それらのファイルが削除されています。
 |
 |
・検索ディレクトリを省略した場合は、カレントディレクトリが検索対象となります。
・アクセス権のないディレクトリを検索することはできません。
・各オプション値の符号の解釈がわかりづらいので注意してください。
|
|
|