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