[主なオプション]
-name ファイル名及びディレクトリ名にマッチするものを表示
-iname -nameと同じだが、大文字小文字を区別しない
-regex ファイル名が正規表現にマッチするものを表示
-iregex regexと同じだが、大文字小文字を区別しない
-type ファイルタイプを指定。タイプにはd(ディレクトリ)、f(ファイル)、l(シンボリックリンク)を指定
-emtpy ファイルが0byteもしくは中身のないディレクトリを表示
-size ファイルのサイズで検索。通常kオプションをつけてキロバイトにて指定
[使用例]
#空のファイルを削除
find . -empty -exec rm {}\; #ユーザ確認を求めない
find . -empty -ok rm {}\; #ユーザ確認を求める
※{}にはfindで引っかかったファイル名が引数として渡ります
#ファイルの数を調べる
find . -type f |wc -l
#findで見つかったファイルの中身をgrepする
find ./ -type f -exec grep https://www.ksknet.net {} \;
#ディレクトリ以下を再帰的に置換
sudo find . -type f -exec sed -i 's/置換前/置換後/g' {} \;
#1000kを越えるファイルを検索
find ./ -size +1000k
#ファイル所有者がtomのユーザを検索
find ./ -user tom
#ファイル名がhtmlもしくはcgiで終わるファイルを表示
find ./ -type f -iregex ".*\.html$" -or -iregex ".*\.cgi$"
#ファイル属性による検索(アクセス権限による検索)
find ./ -perm 755
#日付による検索
find ./ -daystart -ctime +2
補足 +2 と -2 では動作が異なります。+2では2日前より古いファイル、-2では2日前より新しいファイルを返します。
-ctime の他に -mtime -atime などがあります。
#日付による検索その2 (30日前より以前に作成されたファイルを削除)
find ./ -ctime +30 -type f -exec rm -f {} \;
[補足]
findは基本的にand検索をします。OR検索の場合は-oオプションを使用すること。
'테크노오로지' 카테고리의 다른 글
| [Linux] 서버의 부하조사 (0) | 2011/10/12 |
|---|---|
| [Linux] find (1) | 2011/09/14 |
| 구글코드에 google chart (0) | 2011/07/29 |
| [Linex]Hinemos Part3 (0) | 2011/04/15 |
| [Linux]Hinemos Part2 (0) | 2011/04/15 |
| [Linux]Hinemos Part1 (0) | 2011/04/15 |