find

構文

find [オプション] [検索開始位置パス] [検索条件]

ファイルを検索をするコマンド。
[検索開始位置パス]以下のサブディレクトリのファイル・ディレクトリを[検索条件]で検索する。

検索条件
-name [文字列] :[文字列]を含んだファイル・ディレクトリを検索する。
-atime [数値] :[数値]日前にアクセスされたファイル・ディレクトリを検索する。
-ctime [数値] :[数値]日前にステータスが変更されたファイル・ディレクトリを検索する。
-mtime [数値] :[数値]日前に変更されたファイル・ディレクトリを検索する。
-type [ファイルタイプ] :ファイルタイプで検索する。 [ ファイルタイプ d:ディレクトリ f:ファイル l:シンボリックリンク ]
-user [ユーザ名] :[ユーザ名]のファイル・ディレクトリを検索する。
-perm [モード]:パーミッションが[モード]のファイル・ディレクトリを検索する。
-regex [正規表現] :path名全体が[正規表現]にマッチするファイル・ディレクトリを検索する。(path名全体にマッチしないものは出力されない)
-and :検索条件をAND演算子で結ぶ。
-or :検索条件をOR演算子で結ぶ。
-not :検索条件の否定。

検索結果に対する処理
-ls :検索結果の一覧を表示する。
-exec [コマンド] {} \; :検索結果に[コマンド]を実行する。

実行例

# カレントディレクトリ以下でファイル名に.logという文字列が含まれるファイルエントリを検索する。
$ find . -name "*.log"

# カレントディレクトリ以下のファイル名に.bakという文字列が含まれるアクセスが3日以上前のファイルを削除する。
$ find . -name "*.bak" -atime +3 -type f -exec rm {} \;

# /home/以下のシンボリックリンクを検索する。
$ find /home -type l

スポンサードリンク