ラボ > OS:Linux

linux ファイルの検索(find)

作成日:2018-11-05, 更新日:2023-04-06

基本

# find ディレクトリ 検索条件1 検索条件2 検索条件3... アクション

検索条件

指定方法と内容を記述
・「-name パターン」 ファイル名(or ディレクトリ名)
・「-type f」 ファイル。
・「-type d」 通常のファイルではなくディレクトリ。
・「-empty」 空のファイル(or 空のディレクトリ)
※他にも色々とあるけど、割愛。

アクション

・「-ls」 lsコマンドみたいな感じで表示。
・「-print」 ファイルのパスを改行区切りで表示。デフォルト。
※他にも色々とあるけど、割愛。

検索

ひとまずカレントディレクトリを対象して、lsで出力

# find . 検索条件1 検索条件2 検索条件3... -ls

※「find」のあとの「.」がカレントディレクトリ。

カレントディレクトリ内(サブディレクトリを含む)の「.php」のファイルたち

# find . -type f -name "*.php" -ls

※検索条件は「-type f」と「-name "*.php"」

カレントディレクトリ内(サブディレクトリを含ない)の「.php」のファイルたち

# find . -type f -maxdepth 1 -name "*.php" -ls

※検索条件は「-type f」と「-maxdepth 1」と「-name "*.php"」
※「-maxdepth 1」で第一階層。2や3とすれば子、孫の階層まで対象に含む。

カレントディレクトリ内(サブディレクトリを含む)の「.php」のファイルたちが多いとき(→lessで見る)

# find . -type f -name "*.php" -ls | less

※「q」で終了。