Linuxのファイル検索のやり方、コマンド完全ガイド|サブディレクトリ・部分一致・全ディレクトリ対応テクニック

「目的のファイルが見つからない」「サーバ内でどこにファイルがあるかすぐに知りたい」——Linuxを使っていると、こうした悩みに直面する場面は少なくありません。とくに階層構造が深いディレクトリでのファイル検索や、部分一致での絞り込みには、ちょっとしたコマンドの知識が求められます。この記事では、Linuxでのファイル検索方法を、初心者でも使える基本から応用的なテクニックまで、再帰検索やgrepとの組み合わせも含めて徹底解説します。

目次

Linuxのファイル検索とは?基本をおさらい

Linuxにおけるファイル検索とは、コマンドライン上でファイル名やファイルの中身を条件に合った形で探し出す作業のことを指します。GUIがない環境やサーバ管理では必須のスキルです。

よく使われる検索系コマンド一覧

  • find:ファイル名・属性で検索できる万能コマンド
  • grep:ファイルの中身から文字列検索
  • locate:あらかじめインデックス化されたファイル情報から高速検索
  • which / whereis:コマンドの場所を検索する

findコマンドの基本的な使い方

findは最も使用頻度が高く、柔軟性が高いファイル検索コマンドです。

find [検索開始ディレクトリ] [検索条件] [実行アクション]

例:find / -name "test.txt" → ルートディレクトリ以下すべての場所からtest.txtを探す

サブディレクトリまで含めた再帰検索の方法

Linuxのファイル検索では、サブディレクトリも含めた“再帰的検索”が重要です。findコマンドはデフォルトで再帰検索となっています。

例:サブディレクトリを含めて拡張子で検索

find /home/user -type f -name "*.sh"

→ /home/user以下の全サブディレクトリも含め、拡張子.shのファイルを検索

全ディレクトリからファイルを探すには

すべてのディレクトリを対象に検索したい場合、検索の起点をルート(/)にします。

sudo find / -type f -name "filename.txt"

sudoをつけることで、権限が必要な領域も含めて検索が可能です。

ファイル名の部分一致で検索する方法

完全一致だけでなく、ファイル名の一部だけで検索したい場合はワイルドカード(*)を活用します。

find /var/log -type f -name "*log*"

→ ファイル名に”log”を含むすべてのファイルを検索

ワイルドカードを使った柔軟な検索例

ワイルドカードの基本:

  • *:任意の文字列(0文字以上)
  • ?:任意の1文字

応用例

find /etc -type f -name "config?.conf"

→ config1.conf, configA.confなど、1文字違いのファイルを検索

grepでファイルの中身を検索する

ファイル名ではなく「ファイルの中の文字列」で検索したいときに使うのがgrepです。

grep "検索したい文字列" ファイル名

サブディレクトリも含めてgrepする方法(再帰)

grep -r "エラー" /var/log

→ /var/log以下の全ファイルを再帰的に検索し、「エラー」を含む行を表示

findとgrepの組み合わせで高度な検索

findgrepを組み合わせることで、柔軟な条件検索が可能になります。

例:拡張子が.logのファイルから特定キーワードを検索

find /var/log -type f -name "*.log" | xargs grep "error"

locateコマンドで超高速検索

locateコマンドは事前にインデックスされたデータベースから検索を行うため、非常に高速です。

locate sample.txt

注意点

  • updatedbコマンドでデータベースを最新化しておく必要あり

よく使うファイル検索コマンドまとめ表

コマンド特徴用途
find再帰検索・属性検索に強いディレクトリ全体検索
grepファイル内容の検索ログファイルの中身検索など
locate超高速だがデータベース依存即時検索に便利
xargsパイプと組み合わせて使うfindやgrepとセットで活用

よくあるエラーとトラブルシューティング

ファイルが見つからないときの原因

  • 権限不足 → sudoの使用を検討
  • 大文字・小文字の違い → -inameで大文字小文字無視
  • updatedb未実行(locate) → sudo updatedb

まとめ|Linuxのファイル検索は”型”を覚えれば強力な武器になる

Linuxでのファイル検索は、構文を少し理解するだけで非常に強力なツールになります。

  • findで再帰・ワイルドカード・部分一致を使いこなす
  • grepでファイルの中身まで検索
  • locateで一瞬で検索結果を出す

初心者のうちは、まずはfindgrepの基本形から覚えることをおすすめします。日々の業務やサーバ管理を格段に効率化できるはずです。

あわせて読みたい
Linuxのfindコマンドでサブディレクトリのみ検索する方法を具体例付きで解説 Linuxでファイルやディレクトリを検索する際に便利なコマンドの一つがfindです。しかし、サブディレクトリのみを検索したい場合、通常の検索方法では余計なファイルも含...
あわせて読みたい
Linuxのファイル・ディレクトリ削除のやり方|一括削除・中身ごと削除・ワイルドカードも解説 「Linuxで不要なファイルやディレクトリを削除したいけど、間違えると怖い」──そんな不安を抱える方も多いのではないでしょうか。Linuxの削除操作は強力で便利ですが、...

資料ダウンロード

弊社のサービスについて詳しく知りたい方はこちらより
サービスご紹介資料をダウンロードしてください