Unixコマンド/find

find

dokuwiki.fl8.jp転載済み

機能

条件を指定することによって、ファイルやディレクトリを検索する。演算子で結ぶことによって複数の判別式を使用できる。

構文

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 {} \;