findコマンドとは?ファイルを探す仕組みと基本的な使い方をやさしく解説




はじめに

Linuxで作業していると、

  • 「あのファイルどこだっけ?」

  • 「この拡張子のファイルだけ探したい」

  • 「最近更新されたファイルを見たい」

こんな場面が必ず出てきます。

そんなときに使うのが findコマンド

find . -name "*.log"

このコマンド、使ってはいるけど

  • findって何をしているの?

  • どういう仕組みで探しているの?

  • オプションが多くてよく分からない

という人も多いと思います。

この記事では、

  • findコマンドの役割

  • 何を対象に「探している」のか

  • 最低限覚えておきたい使い方

  • LinuC試験でなぜ出てくるのか

初心者向けに整理して 解説します。


findコマンドとは何をしているのか

まずは一言で。

findは、ディレクトリの中から条件に一致する「ファイルやディレクトリ」を探すコマンド

grepと同じく「検索」という言葉が使われますが、
findが探しているのは ファイルの中身ではありません

findの検索対象

findが見ているのは主に:

  • ファイル名

  • ディレクトリ名

  • 更新日時

  • サイズ

  • 種類(ファイル / ディレクトリ)

といった ファイルそのものの情報 です。


findの基本構文

findは、基本的にこの形で使います。

find 検索開始ディレクトリ 条件

例:

find . -name "test.txt"

意味は、

  • . → 今いるディレクトリから

  • -name "test.txt" → この名前のファイルを探す

とてもシンプルです。


findは「ディレクトリをたどって探す」

findの大きな特徴は、

指定したディレクトリ配下を、再帰的にすべて調べる

という点。

find /var/log -name "*.log"

この場合、

  • /var/log 以下の

  • すべてのサブディレクトリをたどりながら

  • .log ファイルを探す

という動きをしています。

👉
「どこにあるか分からないファイル」を探すのに強い理由です。


よく使うfindオプション(まずはこれだけ)

findはオプションが多いですが、
最初はこの辺だけで十分 です。


-name:名前で探す(基本)

find . -name "*.php"

拡張子検索で一番使われます。

※ 大文字小文字を区別します。


-iname:大文字小文字を無視

find . -iname "*.jpg"

JPG / jpg どちらもヒット。


-type:ファイルかディレクトリかを指定

find . -type f
  • f:ファイル

  • d:ディレクトリ

ディレクトリだけ探したい時によく使います。


-mtime:更新日時で探す

find . -mtime -1
  • -1:1日以内

  • +7:7日より前

ログ整理や運用作業でよく使われます。


-size:サイズで探す

find . -size +100M

容量を圧迫しているファイル探しに便利。


findは「結果を出すだけ」のコマンド

ここも大事なポイント。

findは基本的に、

条件に一致したファイルを一覧表示する

だけのコマンドです。

そのため、実務ではよくこんな使い方をします。

find . -name "*.log" | less
find . -name "*.tmp" | wc -l

👉
findの結果を、
パイプで別のコマンドに渡す ことで本領を発揮します。

※ パイプの仕組みについては、別記事で詳しく解説しています。


findがLinuC試験でよく出る理由

LinuCでは、

  • ファイル操作

  • ディレクトリ構造

  • 検索コマンドの理解

が重要視されます。

findは、

  • 再帰的な検索

  • 条件指定

  • パイプとの組み合わせ

といった Linuxの基本思想が詰まったコマンド

オプション暗記ではなく、

「何を対象に、どう探しているのか」

を理解しているかが問われます。


findを理解するとLinux作業が楽になる

ファイルが増えてくると、

  • 目で探す

  • ls を何回も叩く

のは現実的じゃなくなります。

findを使えるようになると、

  • 探す時間が減る

  • 作業が速くなる

  • 運用作業が楽になる

というメリットが大きいです。


まとめ

  • findは「ファイルやディレクトリ」を探すコマンド

  • ファイルの中身は見ない

  • 指定したディレクトリ配下を再帰的に検索する

  • オプションはまず -name-type から

  • LinuC対策としても重要

grepと同じ「検索系コマンド」でも、
役割はまったく違う という点を意識すると、
Linuxコマンドの理解が一段深まります。

コメント

タイトルとURLをコピーしました