findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索方法
生徒
「Linuxでファイルを探したいとき、どうやって検索すればいいですか?」
先生
「Linuxではfindコマンドを使うことで、ファイルやディレクトリを効率的に検索できます。」
生徒
「コマンド操作って難しそうですが、初心者でも大丈夫ですか?」
先生
「もちろんです!簡単な例から順に説明していくので、一緒に覚えていきましょう。」
Linuxを初めて学ぶ人や、 OS・プロセス・メモリ管理・仮想マシン・コンテナの仕組みを図解で理解したい人におすすめの定番書籍です。
試して理解 Linuxのしくみを見る※ Amazonアソシエイト広告リンク
1. findコマンドとは?
findコマンドは、Linuxでファイルやディレクトリを検索する基本コマンドです。「どこにあるかわからないファイルを見つけたい」「特定の名前のファイルだけ探したい」「更新日時が新しいファイルだけ探したい」といった用途で活躍します。
Windowsの検索ボックスのようなイメージですが、findはターミナル(黒い画面)上で文字入力だけで操作します。その分、高速で正確な検索が可能です。ファイル名だけでなく、ファイルサイズや更新日時、権限などの条件でも検索できます。
2. 基本的なfindコマンドの書き方
findコマンドの基本書式は以下の通りです。
find [検索開始ディレクトリ] [検索条件] [実行アクション]
例えば、ホームディレクトリから全てのファイルを探す場合は、以下のように使います。
find ~
/home/user/file1.txt
/home/user/Documents
/home/user/Pictures/image.png
「~」はホームディレクトリを意味します。ファイル名やディレクトリ名、パスを含めて検索結果が一覧で表示されます。
3. 名前でファイルを検索する方法
特定の名前のファイルだけを探したい場合は、-nameオプションを使います。
find ~/Documents -name "report.txt"
/home/user/Documents/report.txt
ワイルドカードも使用可能です。例えば、「.txt」で終わる全てのファイルを探すときは以下の通りです。
find ~/Documents -name "*.txt"
/home/user/Documents/report.txt
/home/user/Documents/notes.txt
これで、特定の拡張子や部分一致のファイルを簡単に検索できます。
4. ファイルサイズや更新日時で検索する
ファイルサイズや更新日時に応じて検索したい場合は、-sizeや-mtimeオプションを使用します。
find ~/Downloads -size +1M
/home/user/Downloads/video.mp4
/home/user/Downloads/archive.zip
「+1M」は1メガバイト以上のファイルを意味します。また、最近7日以内に更新されたファイルを検索する場合は以下の通りです。
find ~/Documents -mtime -7
/home/user/Documents/report.txt
/home/user/Documents/summary.docx
5. ディレクトリだけを検索する方法
特定の名前のディレクトリだけを検索したい場合は、-type dオプションを使います。
find ~/ -type d -name "Documents"
/home/user/Documents
逆にファイルだけを検索する場合は、-type fを使います。これでディレクトリとファイルを簡単に区別して検索可能です。
6. 複数条件での検索と実行アクション
findは複数の条件を組み合わせて検索することもできます。例えば、拡張子が「.txt」でサイズが1MB以上のファイルを探す場合は以下の通りです。
find ~/Documents -name "*.txt" -size +1M
/home/user/Documents/long_report.txt
さらに、検索したファイルに対して実行アクションを指定することも可能です。例えば、検索したファイルを削除する場合は-execを使います。
find ~/Downloads -name "*.tmp" -exec rm {} \;
この例では、Downloadsフォルダ内の「.tmp」ファイルを全て削除します。{}は検索結果のファイルに置き換わります。
7. findコマンドでよく使うオプション一覧
-name:ファイル名で検索-type f/d:ファイル/ディレクトリを指定して検索-size:ファイルサイズで検索-mtime:更新日時で検索-exec:検索したファイルに対してコマンド実行-print:検索結果を表示(デフォルトで表示されます)
これらを組み合わせることで、Linux上でのファイル検索は非常に柔軟で強力になります。
8. 初心者でも安心して使えるfindコマンド
Linuxでファイルやディレクトリを探すときは、findコマンドが最も基本で便利な方法です。名前検索、サイズ検索、更新日時検索、ディレクトリ検索、実行アクションなど、多彩な条件を組み合わせて使えます。
初めは簡単な名前検索から始めて、徐々にオプションを覚えていくと、ターミナル操作に慣れると同時に、Linuxでの作業効率が格段にアップします。
初心者でも、findコマンドを使えば迷子になったファイルもすぐに見つけられます。
LPICレベル1の合格を目指している人や、 Linuxコマンド・シェル・ネットワーク・セキュリティの試験対策を効率よく進めたい人におすすめの定番問題集です。
Linux教科書 LPICレベル1 スピードマスター問題集を見る※ Amazonアソシエイト広告リンク
まとめ
本記事では、Linuxのfindコマンドの基本から応用までを詳しく解説しました。findコマンドは、特定のファイルやディレクトリを効率的に検索するための強力なツールであり、名前、サイズ、更新日時、種類など多彩な条件で検索が可能です。特に初心者にとっては、ターミナル操作に慣れるための最適な方法であり、Windowsの検索機能に慣れた人でも、コマンド操作の理解を深めることで、Linux上での作業効率が大幅に向上します。
検索条件の種類と実践例
例えば、ファイル名で検索したい場合は-nameオプションを使用します。拡張子や部分一致検索も可能で、ワイルドカードを使えばより柔軟な検索ができます。
find ~/Documents -name "*.txt"
/home/user/Documents/report.txt
/home/user/Documents/notes.txt
また、ファイルサイズで絞り込みたい場合は-sizeオプション、更新日時で絞り込みたい場合は-mtimeオプションを使います。これにより、不要なファイルを効率的に管理したり、最近更新されたファイルだけを確認したりすることができます。
find ~/Downloads -size +1M
/home/user/Downloads/video.mp4
/home/user/Downloads/archive.zip
find ~/Documents -mtime -7
/home/user/Documents/report.txt
/home/user/Documents/summary.docx
ディレクトリだけを検索したい場合は-type d、ファイルだけを検索したい場合は-type fを活用します。さらに、複数条件を組み合わせることで、より高度な検索も可能です。
find ~/Documents -name "*.txt" -size +1M
/home/user/Documents/long_report.txt
検索した結果に対して削除や移動、コピーなどの実行アクションを行う場合は-execオプションを使います。これにより、検索と同時にファイル操作ができるため、管理作業が非常に効率化されます。
find ~/Downloads -name "*.tmp" -exec rm {} \;
ポイントは、まず基本の検索から始めて徐々に条件やアクションを組み合わせて覚えていくことです。初めはホームディレクトリ全体やドキュメントディレクトリでの名前検索から練習すると、迷子になったファイルもすぐに見つけられます。
SEOキーワードを意識したまとめのポイントとしては、「Linux ファイル検索」「find コマンド 使い方」「Linux ファイル管理」「Linux コマンド 初心者」などのキーワードを自然に文章中に散りばめることで、検索エンジンでもヒットしやすくなります。
生徒
「先生、findコマンドを使うと、どんな条件でもファイルを見つけられるんですね。」
先生
「そうです。名前だけでなく、サイズや更新日時、ディレクトリかファイルかも指定できます。これがLinuxでの効率的なファイル検索の基本です。」
生徒
「複数条件を組み合わせて検索することもできるんですか?」
先生
「もちろんです。例えば、特定の拡張子でサイズが1MB以上のファイルを探すことも可能ですし、見つけたファイルに対して削除や移動などの処理も実行できます。」
生徒
「初めは少し難しそうですが、実際にコマンドを打ちながら覚えると慣れてきますね。」
先生
「その通りです。基本を押さえておけば、どんなLinux環境でも迷子になったファイルを効率よく探せるようになります。findコマンドを使いこなすことで、作業効率も格段にアップします。」