Unixコマンド/find
find †
機能 †
条件を指定することによって、ファイルやディレクトリを検索する。演算子で結ぶことによって複数の判別式を使用できる。
構文 †
find [検索するディレクトリ] (option)
オプション †
条件 †
-name [file name] 指定した文字列を検索 -user [user name] 指定したユーザー名のファイルを検索 -atime (+/-)n 最後にアクセスしたのがn日前のファイルを検索 (+n:n日以上、-n:n日以下) -mtime (+/-)n 最後にデータが修正されたのがn日前のファイルを検索 (+n:n日以上、-n:n日以下) -mmin (+/-)n 最後にデータが修正されたのがn分前のファイルを検索 (+n:n分以上、-n:n分以下) -size n[c/k/b] nのサイズのファイルを検索 (c:バイト、k:キロバイト、b:ブロック−1ブロック=512バイト)
処理 †
-print 検索結果の標準出力(省略可) -fprint [filename] 検索結果を指定したファイルに書き出す -exec [command] {} \; 検索結果をコマンドに引き渡して実行
コマンド例 †
■./以下から30日以上前に更新されたpng形式のファイルを検索する
$ find ./ -name "*.png" -atime +30
■./以下でユーザーmatuiのファイルを検索し削除する。
$ find ./ -user matsui -exec rm -rf {} \;
■./以下でファイルサイズが10M以上のものを表示。
$ find ./ -size +10000k -exec ls -ahl {} \; -rwxr--r-- 1 matsui matsui 15M 7 22 14:24 ./TEST/EvtRpt92JP.zip -rwxr--r-- 1 matsui matsui 3.3G 7 3 10:09 ./TEST/Fedora-9-i386-DVD.iso -rwxr--r-- 1 matsui matsui 15M 5 30 2008 ./TEST/FreePrimo32Setup_JP.exe
■ /var/log以下で1M以上のファイルを検索
$ find /var/log/ -size +1000k -exec ls -ahl {} \;