【Linux】ファイルやディレクトリを検索するコマンド:find

Linux

どーも!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コマンドのマニュアルページを開くこともできます。お時間があれば、見るのも良いかもです

ここまで読んでくださりありがとうございました!

コメント

タイトルとURLをコピーしました