linuxでファイルを検索するfindコマンドについて知りたい方いらっしゃるのではないでしょうか。
本記事では、linuxのfindコマンドの使い方についてわかりやすく解説しています。
linux初心者の方やfindコマンドについて知りたい方はぜひ、参考にしてみてください。
目次
- 1 findコマンドとは
- 2 findコマンドの基本的な使い方
- 3 findコマンドのオプション・判別式・演算子
- 3.1 -name・・・ファイルやディレクトリ名を検索する
- 3.2 -atime・・・任意の日数にアクセスされたファイルやディレクトリを検索する
- 3.3 -mtime・・・任意の日数に更新されたファイルやディレクトリを検索する
- 3.4 -empty・・・ファイルやディレクトリの容量がないものを検索する
- 3.5 -type f・・・ファイルのみを対象として検索する
- 3.6 -type d・・・ディレクトリのみを対象として検索する
- 3.7 -perm・・・パーミッションで検索する
- 3.8 -and・・・複数の条件を使い、すべての条件に当てはまるファイルやディレクトリを検索する
- 3.9 -or・・・複数の条件を使い、いずれかの条件に当てはまるファイルやディレクトリを検索する
- 3.10 -not・・・条件に当てはまらないファイルやディレクトリを検索する
- 3.11 -exec・・・検索結果に対してコマンドを実行する
- 4 findコマンド 類似コマンド
- 5 まとめ
findコマンドとは
findコマンドとは、linuxでファイルやディレクトリを検索したいときに利用されます。
検索対象としては、単体で検索できるのはもちろん複数のファイルやディレクトリでも検索することができます。
また、findコマンドはgrepコマンドと組み合わせて使われることが多いです。
findコマンドの使い方については、この後詳しく解説していきます。
findコマンドの基本的な使い方
findコマンドには、多くのオプションや識別式などがあります。
その中で、基本的なfindコマンドの使い方は以下になります。
上記のような書式でファイルやディレクトリを検索することができます。
ですが、検索結果を名前の順番などで出力することができないので注意が必要です。
findコマンドのオプション・判別式・演算子
findコマンドでよく使う判別式・演算子の使い方について解説します。
オプション | 説明 |
-name | ファイルやディレクトリ名を検索する |
-atime | 任意の日数にアクセスされたファイルやディレクトリを検索する |
-mtime | 任意の日数に更新されたファイルやディレクトリを検索する |
-empty | ファイルやディレクトリの容量がないものを検索する |
-type f | ファイルのみを対象として検索する |
-type d | ディレクトリのみを対象として検索する |
-perm | パーミッションで検索する |
-and | 複数の条件を使い、すべての条件に当てはまるファイルやディレクトリを検索する |
-or | 複数の条件を使い、いずれかの条件に当てはまるファイルやディレクトリを検索する |
-not | 条件に当てはまらないファイルやディレクトリを検索する |
-exec | 検索結果に対してコマンドを実行する |
-name・・・ファイルやディレクトリ名を検索する
ファイル名やディレクトリ名を指定して検索したい場合の方法です。
書式は以下のようになります。
例えば、/tmp配下のtestというファイルを検索したい場合には以下のようになります。
-atime・・・任意の日数にアクセスされたファイルやディレクトリを検索する
ファイルやディレクトリにアクセスした日は覚えているが、ファイル名などがわからない場合に使用します。
書式は以下のようになります。
例えば、/tmp配下で今日アクセスしたファイルやディレクトリを知りたい場合には、以下のようになります。
今日の場合0、昨日の場合1になります。
2日以内にアクセスしたファイルやディレクトリを検索したい場合は、以下のようになります。
2日より前にアクセスされたファイルやディレクトリを検索する場合は、以下のようになります。
-mtime・・・任意の日数に更新されたファイルやディレクトリを検索する
ファイルの更新を行った日がわかる場合に使用します。
書式は以下のようになります。
例えば、今日更新したファイルのみを検索したい場合は、以下のようになります。
今日の場合0、昨日の場合1になります。
-empty・・・ファイルやディレクトリの容量がないものを検索する
容量がないファイルやディレクトリを検索したい場合に使用します。
書式は以下のようになります。
例えば、/tmpの容量がないファイルやディレクトリを検索したい場合は、以下のようになります。
-type f・・・ファイルのみを対象として検索する
ディレクトリは検索せず、ファイルのみを検索したい場合に使用します。
書式は以下のようにになります。
例えば、/tmp配下にある末尾に.logと就いているファイルのみを検索したい場合は以下のようになります。
-type d・・・ディレクトリのみを対象として検索する
ファイルは検索せず、ディレクトリのみ検索する際に使用します。
書式は以下のようになります。
例えば、/tmp配下のtest~ディレクトリを検索したい場合は、以下のようになります。
-perm・・・パーミッションで検索する
指定したパーミッションのみを検索する際に使用します。
書式は以下のようになります。
例えば、/tmp配下の644のパーミッションのみを検索したい場合は以下のようになります。
-and・・・複数の条件を使い、すべての条件に当てはまるファイルやディレクトリを検索する
複数の検索条件を使用し、すべての検索条件に当てはまっているファイルやディレクトリを検索する場合に使用します。
書式は以下のようになります。
例えば、/tmp配下のtestという名前でパーミッションが664のファイルやディレクトリを検索したい場合は以下のようになります。
-or・・・複数の条件を使い、いずれかの条件に当てはまるファイルやディレクトリを検索する
複数の検索条件を使用し、いずれかに当てはまっているファイルやディレクトリを検索したい場合に使用します。
書式は以下のようになります。
例えば、/tmp配下のtestという名前またはパーミッションが664のファイルやディレクトリを検索したい場合は以下のようになります。
-not・・・条件に当てはまらないファイルやディレクトリを検索する
複数の検索条件を使用し、条件に当てはまらないファイルやディレクトリを検索する場合に使用します。
書式は以下のようになります。
例えば、パーミッションが664のファイルやディレクトリでないものを検索したい場合は以下のようになります。
-exec・・・検索結果に対してコマンドを実行する
検索したファイルやディレクトリにコマンドを実行したい場合に使用します。
書式は以下のようになります。
例えば、/tmp配下にあるtestファイルを検索してファイルの中身を参照する場合には以下のようになります。
findコマンド 類似コマンド
linux findコマンドと似ているコマンドについて紹介します。
場面によってどちらのコマンドを使用するのか決めましょう。
grepコマンド
grepコマンドはファイル内でワードを検索するコマンドになります。
そのため、findコマンドでファイルを検索した上で、ファイル内のワードを調べることができます。
まとめ
いかがでしたか。
本記事では、ファイルを検索するlinux findコマンドについて詳しく解説しました。
linux初心者の方やfindコマンドについて知りたい方はぜひ、参考にしてみてください。
・findコマンドの使い方
・findコマンドオプション・判別式・演算子・アクション