Unixコマンド/find の変更点


*&size(15){''find''}; [#o1a1cf41]

[[dokuwiki.fl8.jp転載済み>http://dokuwiki.fl8.jp/doku.php/02_freebsd/80_unix%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89/find]]

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

**''構文'' [#k704b93a]
find [検索するディレクトリ] (option) 

**''オプション'' [#bf1f6edc]
***''条件'' [#dbd86d39]
 -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バイト) 

***''処理'' [#gfa15d29]
 -print                   検索結果の標準出力(省略可) 
 -fprint [filename]       検索結果を指定したファイルに書き出す 
 -exec   [command] {} \; 検索結果をコマンドに引き渡して実行 

**''コマンド例'' [#mb7b2ac9]
■./以下から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 {} \;