トップ 差分 一覧 ソース 置換 検索 ヘルプ PDF RSS ログイン

find コマンド

 サンプル

1日以内に修正されたファイルを検索する

find ./ -mtime -1

60分以内に修正されたファイルを検索する

find ./ -mmin -60

ルート直下からファイルを検索するが、エラーを表示しない

find / -name "*test*" |& grep -v "find:"
find / -name "*test*" >& /dev/null

60分以内に修正されたファイルのみを検索する

find ./ -mmin -60 -type f

 使い方

find [検索対象パス] [検索式]

カレント・ディレクトリ以下から,ファイル名の末尾が「.c」であるファイルを検索

$ find -name "*.c"
./hello.c
./mycat2.c
./my_cat.c
オプション 内容
-name <名> ファイル名を指定する
-size <数値> ファイルサイズを指定する。10c(10バイト),10k(10Kバイト)+10k(10Kバイト以上)のように指定する
-atime <日> 最終アクセス日を指定する
-amin <分> 最終アクセス時刻をX分前で指定する
-mtime <日> 最終修正日を指定する
-mmin <分> 最終更新時刻をX分前で指定する
-perm <MODE> アクセス権を指定する
-type <TYPE> ファイルタイプを指定する。f(ファイル),d(ディレクトリ),l(シンボリックリンク)のように指定する
-regex <名> ファイル名を正規表現で指定する
-iregex <名> 大文字小文字を区別せずファイル名を正規表現で指定する
-maxdepth <値> 検索するディレクトリの深さを指定する


カレント・ディレクトリ以下から,3日以内に更新されたファイルを検索。
「-3」なら3日以内,「3」なら3日前,「+3」なら3日以上。

$ find -mtime -3
./.bash_history
./hello.c
./globtest/1.txt
./globtest/44.txt
./globtest/33.txt
./globtest/11.txt
./globtest/35.txt
(以下省略)

カレント・ディレクトリ直下から,ファイルサイズが200バイト以内のファイルを検索。findコマンドは,サブディレクトリの中も再帰的に検索しますので,あるディレクトリ直下だけを調べたい場合は,「-maxdepth 1」を指定。

$ find -maxdepth 1 -size -200c
./calendar.txt
./hello.c
./.ICEauthority
./.gksu.lock
./.esd_auth
./Examples
./.Xauthority
./.dmrc

-regexもしくは-iregexオプションを使うと,ファイル名の指定に正規表現が使えます。

$ find -regex './[a-zA-Z]+.c'
./hello.c

findコマンドは,単にファイルを検索するだけではありません。検索結果のファイルに対して何らかのアクションを取ることもできます。次の図16の例では,カレント・ディレクトリ以下にあるファイルで120日以上アクセスのないファイルを削除します。

$ find -atime +120 -ok rm {} \;

-ok

はつど確認が出る

-exec は確認なしで実行

[カテゴリ: OS > Linux]



  • Hatenaブックマークに追加
  • livedoorクリップに追加
  • del.icio.usに追加
  • FC2ブックマークに追加

最終更新時間:2010年11月16日 20時18分15秒