find
スポンサーリンク
何するコマンド?
書き方
find [オプション] [検索対象のディレクトリ] [検索条件や検索結果の処理方法]
オプション
| オプション | 説明 |
|---|---|
| -H | シンボリックリンクの場合、リンク先のファイルを検索する。リンク先のファイルがない場合はシンボリックリンク自体を検索する |
| -L | シンボリックリンクの場合、リンク先のファイルを検索する |
| -P | シンボリックリンクの場合、シンボリックリンク自体を検索する |
検索条件
| 検索条件 | 説明 |
|---|---|
| -amin 【数字】 | 最終アクセス日時が【数字】分前のファイルを検索する |
| -anewer 【ファイル名】 | ファイルの最終アクセス日時が【ファイル名】より新しいファイルを検索する |
| -atime 【数字】 | 最終アクセス日時が【数字】日前のファイルを検索する |
| -cnewer 【ファイル名】 | ファイルのステータス変更日時が【ファイル名】より新しいファイルを検索する |
| -ctime 【数字】 | ステータス変更日時が【数字】日前のファイルを検索する |
| -empty | 空のファイルを検索する |
| -group 【グループ名】 | グループが【グループ名】のファイルを検索する |
| -inum 【数字】 | inode番号とやらが【数字】のファイルを検索する |
| -maxdepth 【数字】 | 検索基準のディレクトリから【数字】階層以内のファイルを検索する |
| -mindepth 【数字】 | 検索基準のディレクトリから【数字】階層以上のファイルを検索する |
| -mmin 【数字】 | 変更日時が【数字】分前のファイルを検索する |
| -mtime 【数字】 | 変更日時が【数字】日前のファイルを検索する |
| -name 【パターン】 | ファイル名が【パターン】に一致するファイルを検索する |
| -newer 【ファイル名】 | ファイルの変更日時が【ファイル名】より新しいファイルを検索する |
| -path 【パターン】 | ファイルのパス全体が正規表現パターン【パターン】にマッチするファイルを検索する。「-regex」との違いは正規表現の書き方。例えばパスのどこかに「A」を含むファイルを検索したい場合は「-path "*A*"」のように指定する |
| -perm 【パーミッション】 | ファイルのアクセス権が【パーミッション】に一致するファイルを検索する。【パーミッション】は「0644」のような8進数表記での指定が一般的 |
| -regex 【パターン】 | ファイルのパス全体が正規表現パターン【パターン】にマッチするファイルを検索する。「-path」との違いは正規表現の書き方。例えばパスのどこかに「A」を含むファイルを検索したい場合は「-regex ".*A.*"」のように指定する |
| -size 【数字】 | ファイルサイズが【数字】×512bytesのファイルを検索する |
| -size 【数字】c | ファイルサイズが【数字】バイトのファイルを検索する |
| -type 【種類】 | ファイルの種類が【種類】のファイルを検索する →「-type b」:ブロック型特殊ファイルとやらを検索する →「-type c」:キャラクタ型特殊ファイルとやらを検索する →「-type d」:ディレクトリを検索する →「-type f」:普通のファイルを検索する →「-type l」:シンボリックリンクを検索する →「-type p」:名前付きパイプを検索する →「-type s」:ソケットを検索する |
| -user 【ユーザ】 | ユーザが【ユーザ】のファイルを検索する。【ユーザ】にはユーザID/ユーザ名の指定が可能 |
| !【条件】 | 【条件】の否定 |
| 【条件1】 【条件2】 | 【条件1】と【条件2】のANDを取る |
| 【条件1】 -a 【条件2】 | 【条件1】と【条件2】のANDを取る |
| 【条件1】 -and 【条件2】 | 【条件1】と【条件2】のANDを取る |
| 【条件1】 -o 【条件2】 | 【条件1】と【条件2】のORを取る |
| 【条件1】 -or 【条件2】 | 【条件1】と【条件2】のORを取る |
索結果の処理方法
| 処理方法 | 説明 |
|---|---|
| -delete | 検索結果のファイルを削除する |
| -exec 【コマンド】\; | 検索結果をパラメータとしてコマンド【コマンド】を実行 |
| -ls | 条件にあてはまるファイルを「ls -dils」コマンド実行時と同じ形式で表示する |
| -ok 【コマンド】\; | 動きは「-exec」と同じだが実行前に「やって良い?」って聞いてくる |
| 条件にあてはまるファイル名を画面に表示する |
補足事項
指定できるパラメータ項目が多くて涙目になりそうですが、とりあえず
find ./ -name 【ファイル名】 -print
だけ覚えておけば最低限ファイルを探すことはできます。
あとは余裕がでてきたら、自分がよく使うものから順に徐々に覚えていけば良いと思いますよ。
ちなみに何も指定しないで
find
と打った場合、現在いるディレクトリ配下の全ファイルを表示します。
