====== 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バイト) | |-type [type]|typeに指定したものだけ検索| === -type の[type] === |b|ブロックデバイス| |c|キャラクタデバイス| |d|ディレクトリ| |f|ファイル| |l|シンボリックリンク| |p|名前付きパイプ| |s|ソケット (UNIX ドメインソケット)| |D|Door (Solaris のみ) | ==== 処理 ==== |-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 {} \; {{tag>Unixコマンド ファイル操作}}