Linuxのfindコマンドはファイルやディレクトリを検索するコマンド。
「-name」オプションを付与した場合はファイル名/ディレクトリ名を検索するのであってファイルの中身を検索するのではないことに注意。
※中身を検索するにはgrepコマンドを使用する。
ファイル/ディレクトリ名の検索
|
find 検索をする起点となるディレクトリ -name ファイル名/ディレクトリ名 |
「-ls」オプションを付けることで検索結果のファイルの詳細情報を表示する。
例
|
find ./ -name '*.git' |
オプション
オプションを付与することでファイル名だけではなく様々な条件で検索できる。
| -mmin 分数 |
最終更新日で検索(分数を条件にする) 例: $ find ./ -mmin -10 10分以内に更新されたファイルを検索 |
| -mtime 日数 |
最終更新日で検索(日数を条件にする) |
| -ammin 分数 |
最終アクセス日時で検索(分数を条件にする) |
| -atime 日数 |
最終アクセス日時で検索(日数を条件にする) |
| -name ファイル名 |
ファイル名で検索 |
| -perm 権限 |
権限で検索する |
| -size ファイル容量 |
ファイル容量で検索 例: find -size +10M 10MB以上のファイルを検索 |
| -type ファイルの種類 |
f: ファイル d: ディレクトリ l: リンク |
| -exec コマンド \: |
検索で引っかかったファイルに対して任意のコマンドを実行する。 例: find ./ -name sample.txt -exec rm {} \; 上記の例ではsample.txtファイルを削除する。 {} は検索結果の全てに対してという意味。 |