Linuxコマンド - find

提供:MochiuWiki : SUSE, EC, PCB
2020年8月6日 (木) 19:37時点におけるWiki (トーク | 投稿記録)による版 (ページの作成:「== 概要 == findコマンドとは、ファイルやディレクトリを検索するコマンドである。<br> <br> findコマンドで検索できるものは、名…」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

概要

findコマンドとは、ファイルやディレクトリを検索するコマンドである。

findコマンドで検索できるものは、名前、名前の一部、タイムスタンプ、ファイルサイズ等がある。
検索した結果に対しては、他のコマンドを組み合わせることで何かの処理をすることも可能である。

CMSをインストールする作業の中では、ある条件のファイルのみにパーミッションを設定するような作業がよくある。
そのような時は、このfindコマンドを使用することで効率が良くなる。

ここでは、findコマンドの基本的な使用方法および便利な使用方法を記載する。


findコマンドの基本

findコマンドの基本的な書式は次の通りである。

find <検索開始ディレクトリ> <検索条件> <アクション>


findコマンドは、<検索開始ディレクトリ>を起点として、<検索条件>を満たすファイルを探して、<アクション>を実行する。
<検索条件>に何も指定しない場合、全てのファイルとディレクトリが対象となる。

例えば、以下の例では、.(カレントディレクトリ)を起点として、hoge.txtファイルを探して、そのパスを表示している。
この例では、<検索条件>として-name hoge.txtを指定しており、ファイル名を絞り込んでいる。
また、<アクション>として-printを指定しており、パス名を表示するためのものである。
<アクション>を指定しない場合は、標準で-printが指定されるので、省略しても構わない。

find . -name hoge.txt -print



findコマンドのオプション

オプション 説明
-name ワイルドカードを使用して、ファイルやディレクトリ名の一部のみ指定した検索する。
-atime 任意の日数にアクセスされたファイルやディレクトリを検索する。
-mtime 任意の日数に更新されたファイルやディレクトリを検索する。
-amin 任意の分数にアクセスされたファイルやディレクトリを検索する。
-mmin 任意の分数に更新されたファイルやディレクトリを検索する。
-anewer 任意のファイルの更新日時よりも後にアクセスしたファイルやディレクトリを検索する。
-newer 任意のファイルの更新日時よりも後に変更したファイルやディレクトリを検索する。
-empty ファイル容量が0のファイルやディレクトリを対象とし検索する。
-size ファイル容量を指定し検索する。
-type f ファイルのみを対象とし検索する。
-type d ディレクトリを対象とし検索する。
-perm パーミッションで検索する。
-and 複数の条件を使って、全ての条件に当てはまるファイルやディレクトリを検索する。
-or 複数の条件を使って、いずれかの条件に当てはまるファイルやディレクトリを検索する。
-not 条件に当てはまらないファイルやディレクトリを検索する。
-exec 検索結果に対してコマンドを実行する。