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

find -printオプションとは?初心者でも理解できるLinux検索結果の出力方法

find -printオプション|結果を出力する(デフォルトだが明示的に指定可能)
find -printオプション|結果を出力する(デフォルトだが明示的に指定可能)

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

生徒

「先生、findコマンドを使うと勝手にファイルの一覧が表示されますよね?」

先生

「そのとおりです。実はそれ、内部的には-printというオプションが働いているんですよ。」

生徒

「えっ、そんなの指定した覚えないのに、勝手に出てくるんですか?」

先生

「はい、実は-printはデフォルトで有効になっているんです。でも明示的に書くこともできますよ。」

1. find -printオプションとは?

1. find -printオプションとは?
1. find -printオプションとは?

findコマンドは、Linuxでファイルやディレクトリを検索するために使う基本的なコマンドです。その際、見つけたファイルのパスを出力(画面に表示)するために使われるのが-printオプションです。

実はこの-printは、明示的に書かなくても自動的に有効になっています。ですが、他の処理と組み合わせる場合や、意図を明確にしたいときに-printを明示的に記述すると便利です。

2. 実際にfindコマンドを使ってみよう

2. 実際にfindコマンドを使ってみよう
2. 実際にfindコマンドを使ってみよう

カレントディレクトリ(現在いる場所)からすべてのファイルとフォルダを探して表示する基本的なコマンドは以下のとおりです。


find .
./
./test.txt
./sample
./sample/data.log

このように、findだけでもちゃんとファイルが出力されます。実はこの裏で-printが働いています。

3. 明示的に-printを使うとどうなる?

3. 明示的に-printを使うとどうなる?
3. 明示的に-printを使うとどうなる?

試しに、同じ検索を-printを明示的に書いて実行してみましょう。


find . -print
./
./test.txt
./sample
./sample/data.log

結果は全く同じですが、-printを明示することで意図がはっきりと伝わるというメリットがあります。特に複雑な条件や他の処理と組み合わせるときに、読みやすさが向上します。

4. 他のオプションとの組み合わせ例

4. 他のオプションとの組み合わせ例
4. 他のオプションとの組み合わせ例

たとえば、名前に「log」が含まれるファイルだけを検索して出力したい場合、以下のように書くことができます。


find . -name "*log*" -print
./sample/data.log

-printがあることで、検索結果をちゃんと画面に表示してくれるわけです。もしこの-printを省略して、別のアクションを指定しないと、何も表示されないこともあります。

5. -printを省略しても動く場合と動かない場合

5. -printを省略しても動く場合と動かない場合
5. -printを省略しても動く場合と動かない場合

実は、-printを省略しても、検索結果は表示されることが多いです。しかし、次のように複数の条件を組み合わせているときには、結果が表示されないことがあります。


find . -name "*.txt" -type f

このように条件だけ指定していると、何も出力されません。これを解決するために、明示的に-printを入れると、確実に結果が見られます。


find . -name "*.txt" -type f -print
./test.txt

6. -printと他のアクションの違い

6. -printと他のアクションの違い
6. -printと他のアクションの違い

-printは検索結果を表示するだけですが、-exec-deleteなどの他のアクションと同時に使うことで、より明確に動作内容を確認できます。


find . -name "*.log" -print -exec rm {} \;
./sample/data.log

このように-printを入れておくと、削除する前に表示もしてくれるので安心です。

7. -print0との違い

7. -print0との違い
7. -print0との違い

似た名前の-print0というオプションもあります。これは、出力の区切り文字を改行ではなく「NULL文字」にするためのものです。

スペースや改行が含まれるファイル名を安全に扱う場面で使います。例としてはxargs -0とセットで使うことが多いです。


find . -type f -print0 | xargs -0 rm

ただし、初心者のうちはまず-printだけをしっかり覚えておけば問題ありません。

8. sudoやrootでの実行も同じ

8. sudoやrootでの実行も同じ
8. sudoやrootでの実行も同じ

-printオプションは、管理者権限(root)で実行するときでも同じように使えます。例えば、ログディレクトリを調べたい場合は次のようになります。


find /var/log -name "*.log" -print
/var/log/syslog.log
/var/log/kern.log

このように、検索結果を画面に出力して確認できるので、他の処理と組み合わせる前に状況を把握できます。

まとめ

まとめ
まとめ

findコマンドのprintオプションは、Linuxにおけるファイル検索の基本でありながら、意外と見落とされがちな重要な機能です。普段何気なく実行しているfindコマンドの裏側では、このprintオプションが自動的に働き、検索結果を画面に表示してくれています。つまり、ユーザーが明示的に指定しなくても、findコマンドは検索結果を出力する仕組みを持っているということです。しかし、実務や学習を進めていく中で、処理内容を明確にしたり、他のオプションと組み合わせたりする場面では、このprintオプションを意識的に使うことがとても重要になります。

特にLinuxコマンドを使ったサーバー運用や開発環境の構築では、検索結果を確認しながら処理を進めることが安全性の向上につながります。たとえば、ログファイルの削除やバックアップ対象の確認など、誤った操作が大きな影響を与える場面では、printオプションを使って事前に対象ファイルを確認することが基本となります。このような手順を習慣化することで、トラブルを未然に防ぐことができるようになります。

また、findコマンドは条件指定が非常に柔軟であり、nameやtypeといったオプションと組み合わせることで、目的のファイルを効率的に絞り込むことができます。その際にprintを明示的に記述しておくことで、コマンドの可読性が向上し、後から見直したときにも処理内容が理解しやすくなります。これはチーム開発や運用ドキュメント作成においても大きなメリットとなります。

さらに、print0オプションとの違いも理解しておくと、より実践的なスキルとして活用できます。ファイル名に空白や改行が含まれている場合でも、安全に処理を行うためにはprint0とxargsの組み合わせが有効です。このような知識は、単なるコマンド操作を超えて、実務で役立つ応用力につながります。

Linux初心者の方は、まずfindコマンドとprintオプションの基本的な使い方をしっかり身につけることが大切です。そして、徐々に他のオプションと組み合わせながら、自分の目的に合ったコマンドを作れるようになっていきましょう。検索結果を正しく出力し、確認しながら作業を進める習慣を身につけることで、Linux操作の理解が一段と深まります。

サンプルプログラムで振り返る

以下は、printオプションを活用した代表的なコマンド例です。基本から応用までを確認しておきましょう。


find . -name "*.txt" -print
./test.txt
./docs/readme.txt

find . -type f -name "*log*" -print
./logs/app.log
./logs/error.log

find . -name "*.log" -print -exec rm {} \;
./logs/old.log

find /var/log -type f -name "*.log" -print
/var/log/syslog.log
/var/log/auth.log

このように、printオプションを使うことで検索結果を明確に把握しながら安全に操作を行うことができます。特に削除や移動などの処理を伴う場合には、必ず出力結果を確認する習慣を身につけておきましょう。

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

生徒

先生、findコマンドって何も指定しなくても結果が表示されるのはなぜなんですか

先生

それはprintオプションが内部で自動的に動いているからです。つまり、最初から結果を表示する仕組みになっているんですね

生徒

じゃあprintは書かなくてもいいんですか

先生

基本的には動きますが、明示的に書いたほうが処理内容が分かりやすくなります。特に複雑な条件や他のオプションと組み合わせるときには重要です

生徒

なるほど、可読性を高めるためなんですね

先生

その通りです。さらに削除などの操作を行う前に、printで対象を確認することで安全に作業できます

生徒

print0というのもありましたが、あれは何が違うんですか

先生

print0は区切り文字を変えることで、空白を含むファイル名でも安全に処理できるようにするためのものです。実務ではよく使いますよ

生徒

findコマンドって奥が深いですね。しっかり使いこなせるように練習します

先生

ぜひ繰り返し使って慣れてください。Linuxの基本コマンドを理解することは、確実にスキルアップにつながります

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

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

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

Linuxのfindコマンドとは何ですか?初心者でもわかる使い方を知りたいです

Linuxのfindコマンドは、ファイルやディレクトリを検索するための基本的なコマンドです。カレントディレクトリや指定したパスから条件に一致するファイルを探すことができ、検索結果は通常自動的に表示されます。
関連記事:
カテゴリの一覧へ
新着記事
New1
圧縮・アーカイブ
bunzip2 -fオプションの使い方を完全ガイド!Linuxで圧縮ファイルを強制上書きする方法
New2
テキスト・データ処理
headコマンドとは?Linuxでファイルの先頭部分を表示する基本
New3
Linuxコマンドの基本
Linuxのパスの基本!絶対パスと相対パスの違いを初心者向けにやさしく解説
New4
ディスクとファイルシステム管理
mountコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイルシステムマウント方法
人気記事
No.1
Java&Spring記事人気No1
ファイル・ディレクトリ操作
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
No.2
Java&Spring記事人気No2
テキスト・データ処理
catコマンドとは?Linuxでファイル内容を表示・連結する基本
No.3
Java&Spring記事人気No3
ファイル・ディレクトリ操作
cd ~ の使い方を完全解説!ホームディレクトリへの移動方法と初心者向けLinuxコマンド入門
No.4
Java&Spring記事人気No4
圧縮・アーカイブ
tarコマンドの使い方を完全ガイド!初心者でもわかるLinuxのアーカイブ作成と解凍の基本