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