カテゴリ: Linuxコマンド集 更新日: 2026/01/09

findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本

findコマンドとは?Linuxでファイルやディレクトリを検索する基本
findコマンドとは?Linuxでファイルやディレクトリを検索する基本

先生と生徒の会話形式で理解しよう

生徒

「Linuxでファイルを探したいときって、どうすればいいですか?」

先生

「Linuxではfindコマンドを使うことで、ファイルやディレクトリを検索できますよ。」

生徒

「それって難しい操作じゃないですか?初心者でも使えますか?」

先生

「大丈夫!簡単な例から説明していきます。一緒に覚えていきましょう。」

1. findコマンドとは?

1. findコマンドとは?
1. findコマンドとは?

findコマンドは、Linuxでファイルやディレクトリを探すための基本的なコマンドです。「どこに保存したかわからないファイルを見つけたい」「特定の名前をもつファイルを探したい」「最近更新されたファイルだけを探したい」といったときに非常に役立ちます。

Windowsの「検索ボックス」のようなイメージですが、findはターミナル(黒い画面)で使う文字だけの命令です。その代わり、とても速くて正確です。

2. 基本の書き方

2. 基本の書き方
2. 基本の書き方

findコマンドの基本的な書き方は、以下のようになります。


find [検索する場所] [検索条件]

たとえば、「現在のフォルダから名前がmemo.txtのファイルを探す」場合は、以下のようになります。


find . -name "memo.txt"
./Documents/memo.txt

ここで.は「今いる場所(カレントディレクトリ)」を意味します。-nameは「名前で検索する」という意味のオプションです。

3. よく使うfindのオプション

3. よく使うfindのオプション
3. よく使うfindのオプション

findコマンドには多くのオプションがありますが、初心者がよく使う代表的なものを紹介します。

  • -name:ファイル名で検索(大文字・小文字を区別)
  • -iname:ファイル名で検索(大文字・小文字を区別しない)
  • -type:ファイルの種類(fならファイル、dならディレクトリ)
  • -size:ファイルサイズで検索
  • -mtime:最終更新日からの日数で検索

例として「すべてのディレクトリを検索」するには次のようにします。


find . -type d
.
./Documents
./Downloads
./Pictures

4. 大文字・小文字を無視して検索する

4. 大文字・小文字を無視して検索する
4. 大文字・小文字を無視して検索する

Linuxは大文字と小文字を区別するため、memo.txtMemo.txtは別のファイルと認識されます。しかし、-inameオプションを使えば、大文字と小文字を無視して検索できます。


find . -iname "memo.txt"
./Documents/Memo.txt

初心者がつまずきやすいポイントなので、覚えておくと安心です。

5. 特定の拡張子だけを探す

5. 特定の拡張子だけを探す
5. 特定の拡張子だけを探す

「.txt」や「.jpg」など、特定の拡張子のファイルだけを探したいときは、*を使います。これは「ワイルドカード」と呼ばれ、なんでもOKという意味です。


find . -name "*.txt"
./Documents/memo.txt
./Notes/todo.txt

"*.txt"は「最後が.txtで終わる名前」のファイルを意味します。

6. サイズで検索する

6. サイズで検索する
6. サイズで検索する

ファイルのサイズで検索したいときは-sizeを使います。たとえば、1MB以上のファイルを探すには次のようにします。


find . -size +1M
./Videos/movie.mp4

+1Mは「1MBより大きい」、-1Mは「1MBより小さい」、1Mは「ちょうど1MB」という意味です。

7. 最終更新日で検索する

7. 最終更新日で検索する
7. 最終更新日で検索する

-mtimeを使うと、何日前に更新されたかを基準に検索できます。たとえば「過去3日以内に更新されたファイル」を探すには次のようにします。


find . -mtime -3
./Reports/today.txt

逆に「3日以上前に更新されたファイル」は+3を使います。

8. 複数の条件を組み合わせる

8. 複数の条件を組み合わせる
8. 複数の条件を組み合わせる

findでは、複数の条件を組み合わせてより詳しく検索することも可能です。

たとえば、「名前にlogを含み、かつ3日以内に更新されたファイル」を探すにはこうします。


find . -name "*log*" -mtime -3
./Logs/errorlog.txt

条件を増やすことで、目的のファイルをより正確に見つけられます。

9. 他の検索コマンドとの違い

9. 他の検索コマンドとの違い
9. 他の検索コマンドとの違い

Linuxにはlocateという検索コマンドもありますが、これはupdatedbというデータベースが必要です。一方、findリアルタイムで現在の状態を確認しながら検索するため、最新のファイル構成を反映して探してくれます。

ただし、findは深いフォルダを調べると時間がかかることがあります。その点ではlocateの方が高速な場合もあります。

まとめ

まとめ
まとめ

Linuxで日常的に行うファイル検索の操作は、作業効率を大きく左右する重要な技術です。とくにfindコマンドは、ただの検索手段にとどまらず、さまざまな条件を柔軟に組み合わせて活用できる奥深いコマンドです。今回扱った名前検索、拡張子検索、サイズ検索、最終更新日検索などは、どれも初心者がまず覚えておくと役立つ基本的な操作であり、実際の現場でも頻繁に使われます。さらにLinuxのディレクトリ構造と相性が良く、特定の範囲に絞り込んでの検索も直感的に扱えるため、慣れるほどに手放せなくなる便利さがあります。

また、ワイルドカードを使った柔軟な一致検索や、大文字・小文字を意識せずに探せるinameのようなオプションを覚えておくことで、不要な見落としを減らし、想定外のディレクトリに保存されていたファイルも素早く見つけられます。特に初心者がつまずきがちなポイントとして、「意図したファイルが見つからない」という状況がありますが、その多くは検索条件の不足や大小文字の違いといった単純な理由であることも多く、今回の学習内容がそのままトラブル解消に役立つでしょう。

さらに、複数条件を組み合わせるfindの特色は、検索精度を一段と高めてくれます。ログファイルの調査やバックアップの確認、整理が必要なファイル群の抽出など、実務での用途は尽きません。用途が増えるほど、「検索条件をどのように組み立てるか」が重要になりますが、この柔軟さこそがfindが長年愛用され続けている理由と言えます。

ここでfindの実践例として、検索と確認を組み合わせた簡単なサンプルも振り返っておきましょう。

サンプルプログラム:指定ディレクトリ内の特定拡張子を一覧表示

たとえば、「指定フォルダにある全てのtxtファイルを探して一覧にしたい」という場合、次のようなシンプルなコマンドが役立ちます。


find ./Documents -name "*.txt"
./Documents/memo.txt
./Documents/worklist.txt

単純な操作ですが、検索範囲をあらかじめ指定することで結果が高速になり、必要な情報を無駄なく取得できます。このように細かな工夫を積み重ねていくことで、検索技術が自然と身につき、Linux操作への理解も深まっていきます。

また、サイズ基準の検索を行うときは、ファイル管理の視点でも役立ちます。特に容量の大きいファイルを整理したいときは、以下のような検索が便利です。


find . -size +2M
./Videos/archive_video.mp4
./Images/highres_photo.jpg

容量の把握はサーバ管理やバックアップにも直結するため、ただファイルを探すだけでなく、Linux全体の健全な運用にも関わる重要な作業です。findの活用範囲が広いほど、Linuxの理解も自然と深まっていくでしょう。日々の操作で少しずつ応用できる幅を広げていき、作業効率やトラブル対応力を高めていくことをおすすめします。

先生と生徒の振り返り会話

生徒

「findコマンドって、思ったより奥が深いですね。最初はただ探すだけの操作だと思っていました。」

先生

「そうなんです。単純に見えますが、多くの条件を組み合わせることで、かなり細かい検索ができるようになりますよ。」

生徒

「大文字・小文字を区別するって聞いたときはびっくりしました。でもinameを使えば気にせず探せるんですね。」

先生

「その通りです。ちょっとした工夫で作業がぐっと楽になります。条件を増やすほど、自分の意図に近い検索ができるようになりますよ。」

生徒

「サイズ検索や更新日検索も便利ですね。サーバの容量管理にも使えそうだと思いました。」

先生

「まさにそのとおり。findは管理作業にも欠かせないコマンドです。まずは今日の内容を何度か試して、自然に使えるようにしていきましょう。」

生徒

「はい、実際に触って慣れていこうと思います!」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Linuxでファイルを検索するにはどのコマンドを使えばいいですか?

Linuxでファイルを検索するにはfindコマンドを使うのが基本です。findコマンドはファイル名、サイズ、更新日などさまざまな条件でファイルやディレクトリを探せる便利なコマンドです。
関連記事:
カテゴリの一覧へ
新着記事
New1
ファイル・ディレクトリ操作
stat -Lオプションの使い方を解説|シンボリックリンクをたどってファイル情報を確認しよう
New2
ファイル・ディレクトリ操作
realpath -eオプションの使い方を解説!Linuxで存在するファイルのみ絶対パスを取得する方法
New3
ファイル・ディレクトリ操作
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
New4
ファイル・ディレクトリ操作
touch --referenceオプションの使い方を完全ガイド!初心者でもわかるタイムスタンプのコピー方法
人気記事
No.1
Java&Spring記事人気No1
ファイル・ディレクトリ操作
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
No.2
Java&Spring記事人気No2
ファイル・ディレクトリ操作
rmコマンドとは?Linuxでファイルやディレクトリを削除する基本
No.3
Java&Spring記事人気No3
ファイル・ディレクトリ操作
cpコマンドとは?Linuxでファイルやディレクトリをコピーする基本操作を初心者向けに解説
No.4
Java&Spring記事人気No4
ファイル・ディレクトリ操作
Linuxのls --full-timeオプションを完全ガイド!初心者でもわかるタイムスタンプのフル表示方法