どーも!marusukeです!
ファイルやディレクトリを検索するLinuxコマンド「find」について説明します!
コマンドの使い方
findコマンドは、指定したディレクトリ以下から、検索条件にマッチするファイルやディレクトリを見つけます
以下のようなコマンドの書式になります
find [検索ディレクトリ(省略時は、カレントディレクトリ)] [検索式]
コマンドのオプションについて
オプションは以下の種類があります。
- -H シンボリックリンクの場合でも、リンク先を検索します。
- -L シンボリックリンクの場合はリンク先のファイルを検索します。
- -P シンボリックリンクを追跡せず、リンク自体を検索します。
- -d <深さ> 指定した深さまでディレクトリを検索します。
- -maxdepth <深さ> 指定した深さまでディレクトリを検索します。
- -mindepth <深さ> 指定した深さからディレクトリを検索を開始します。
- -name <パターン> ファイル名が指定したパターンに一致する場合にマッチします。
- -iname <パターン> ファイル名が指定したパターンに一致する場合にマッチします(大文字・小文字を無視)。
- -type <型> 指定したファイル型に一致するファイルを検索します。
- -user <ユーザー> 指定したユーザーの所有するファイルを検索します。
- -group <グループ> 指定したグループが所有するファイルを検索します。
- -size <サイズ> 指定したサイズに一致するファイルを検索します。
- -mtime <日数> 指定した日数よりも新しい変更日時を持つファイルを検索します。
- -mmin <分数> 指定した分数よりも新しい変更日時を持つファイルを検索します。
- -empty 空のファイルまたはディレクトリを検索します。
- -exec <コマンド> \; マッチしたファイルに対して指定したコマンドを実行します。
- -print マッチしたファイルのパスを表示します。
個人的によく使うオプション
① 検索したいディレクトリ内のファイルだけを探したい時
find [検索したいディレクトリ] -type f
② 拡張子が「.txt」のファイルを探したいとき
find [検索したいディレクトリ] -name "*.txt"
③ 5MB以上のファイルを検索するとき
find /path/to/directory -type f -size +5M
などがあります!
man find
で英語表記でfindコマンドのマニュアルページを開くこともできます。お時間があれば、見るのも良いかもです
ここまで読んでくださりありがとうございました!
コメント