はじめに
Linuxで作業していると、
-
「あのファイルどこだっけ?」
-
「この拡張子のファイルだけ探したい」
-
「最近更新されたファイルを見たい」
こんな場面が必ず出てきます。
そんなときに使うのが findコマンド。
このコマンド、使ってはいるけど
-
findって何をしているの?
-
どういう仕組みで探しているの?
-
オプションが多くてよく分からない
という人も多いと思います。
この記事では、
-
findコマンドの役割
-
何を対象に「探している」のか
-
最低限覚えておきたい使い方
-
LinuC試験でなぜ出てくるのか
を 初心者向けに整理して 解説します。
findコマンドとは何をしているのか
まずは一言で。
findは、ディレクトリの中から条件に一致する「ファイルやディレクトリ」を探すコマンド
grepと同じく「検索」という言葉が使われますが、
findが探しているのは ファイルの中身ではありません。
findの検索対象
findが見ているのは主に:
-
ファイル名
-
ディレクトリ名
-
更新日時
-
サイズ
-
種類(ファイル / ディレクトリ)
といった ファイルそのものの情報 です。
findの基本構文
findは、基本的にこの形で使います。
例:
意味は、
-
.→ 今いるディレクトリから -
-name "test.txt"→ この名前のファイルを探す
とてもシンプルです。
findは「ディレクトリをたどって探す」
findの大きな特徴は、
指定したディレクトリ配下を、再帰的にすべて調べる
という点。
この場合、
-
/var/log以下の -
すべてのサブディレクトリをたどりながら
-
.logファイルを探す
という動きをしています。
👉
「どこにあるか分からないファイル」を探すのに強い理由です。
よく使うfindオプション(まずはこれだけ)
findはオプションが多いですが、
最初はこの辺だけで十分 です。
-name:名前で探す(基本)
拡張子検索で一番使われます。
※ 大文字小文字を区別します。
-iname:大文字小文字を無視
JPG / jpg どちらもヒット。
-type:ファイルかディレクトリかを指定
-
f:ファイル -
d:ディレクトリ
ディレクトリだけ探したい時によく使います。
-mtime:更新日時で探す
-
-1:1日以内 -
+7:7日より前
ログ整理や運用作業でよく使われます。
-size:サイズで探す
容量を圧迫しているファイル探しに便利。
findは「結果を出すだけ」のコマンド
ここも大事なポイント。
findは基本的に、
条件に一致したファイルを一覧表示する
だけのコマンドです。
そのため、実務ではよくこんな使い方をします。
👉
findの結果を、
パイプで別のコマンドに渡す ことで本領を発揮します。
※ パイプの仕組みについては、別記事で詳しく解説しています。
findがLinuC試験でよく出る理由
LinuCでは、
-
ファイル操作
-
ディレクトリ構造
-
検索コマンドの理解
が重要視されます。
findは、
-
再帰的な検索
-
条件指定
-
パイプとの組み合わせ
といった Linuxの基本思想が詰まったコマンド。
オプション暗記ではなく、
「何を対象に、どう探しているのか」
を理解しているかが問われます。
findを理解するとLinux作業が楽になる
ファイルが増えてくると、
-
目で探す
-
ls を何回も叩く
のは現実的じゃなくなります。
findを使えるようになると、
-
探す時間が減る
-
作業が速くなる
-
運用作業が楽になる
というメリットが大きいです。
まとめ
-
findは「ファイルやディレクトリ」を探すコマンド
-
ファイルの中身は見ない
-
指定したディレクトリ配下を再帰的に検索する
-
オプションはまず
-nameと-typeから -
LinuC対策としても重要
grepと同じ「検索系コマンド」でも、
役割はまったく違う という点を意識すると、
Linuxコマンドの理解が一段深まります。


コメント