ファイル検索で利用するfindコマンドの使い方を解説します。ファイル名以外にも、色々な条件をつけて目的のファイルを探すことができます。
書式
find [検索パス] [オプション] [検索式]
利用例
基本
カレントディレクトリ内
で Kernel.phpというファイル
を検索
$ find . -name "Kernel.php"
./app/Http/Kernel.php
./app/Console/Kernel.php
大文字小文字区別なし
カレントディレクトリ内
で controllerという文字を含む(大文字小文字区別せず)ファイル
を検索
$ find . -iname "*controller*"
xargsとの応用
カレントディレクトリ内
の tmp拡張子ファイル
を削除
$ find . -name "*.tmp" | xargs rm -f
更新日を条件に
カレントディレクトリ内
で 3時間以内に更新されたファイル
を検索
find . -mtime -3h
検索階層を指定
カレントディレクトリ内(下位第2階層まで)
で 3日以内に更新されたファイル
を検索
$ find . -maxdepth 2 -mtime -3
ディレクトリのみ
appディレクトリ内(下位階層は対象外)
の ディレクトリ
のみ表示
$ find app -maxdepth 0 -type d
ファイルのみ
appディレクトリ内
の ファイル
のみ表示
$ find app -type f
ファイル権限を条件に
カレントディレクトリ内
で 777権限のファイル
を検索
$ find . -perm 777
ファイル容量を条件に
カレントディレクトリ内
で 10MB以上のファイル
を検索
$ find . -size +10M
k
M
G
など指定できます。