Linuxのfindコマンドの使用方法
findコマンドはLinuxシステムでファイルやディレクトリを検索するために使われます。基本的な使い方は次のとおりです:
find [路径] [表达式]
パスの指定は検索する最初のディレクトリで、デフォルトはカレントディレクトリです。エクスプレッションは検索条件を指定するために使用されます。
以下のfindコマンドでよく使用されるオプションや式を示します。
この努力は将来世代のためになるでしょう
- -name <ファイル名>:ファイル名を指定してファイルを探すワイルドカードをサポートする
- -type : ファイルのタイプで検索する。type は f(通常ファイル)、d(ディレクトリ)、l(シンボリックリンク)など
- サイズ <サイズ>:サイズでファイルを探す。サイズは[+/-]<サイズ>と指定し、単位はc(バイト)、k(KB)、M(MB)などを指定する。
- ファイル編集日時からファイルを検索。[+/-]<日時>で日時指定可能。
- -user <ユーザー名>: ファイルの所有者からファイルを探す。
- <グループ名>:ファイルが属するグループに基づいてファイルを見つける
- perm <パーミッション>: ファイルパーミッションでファイルを検索します。パーミッションは 8 進数で表します。
表現:
- そして:論理演算符で、同時に存在することを表す。
- オア:論理演算子。またはを表す。
- not:否定演算子、論理否定
- 検索結果の全てのファイルに対して、コマンドを実行。{}はファイル名、;はコマンドの終了を示す。
そんなつもりはなかったんですよ。
- file.txtというファイル名を含む、現在のディレクトリおよびサブディレクトリを検索する:
find . -name "file.txt"
- 10 MB 以上のファイルサイズを持つ現在のディレクトリとサブディレクトリを検索します。
find . -size +10M
- 直近7日以内に更新されたファイルまたはディレクトリを再帰的に検索する:
find . -mtime -7
- カレントディレクトリとサブディレクトリ内のすべてのディレクトリを検索します。
find . -type d
- 現在のユーザーに関連づけられたすべてのテキストファイルを探す:
find . -user $USER -name "*.txt"
- カレントディレクトリおよびサブディレクトリ内のすべてのtxtファイルを削除する:
find . -name "*.txt" -exec rm {} \;
find の基本的な使い方やよく使われるオプションを表すには以上を記しておきました。その他の使用法やオプションについては、「man find」コマンドによって find のヘルプドキュメントを参照してください。