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

find -newerオプションの使い方を完全ガイド!基準ファイルより新しいファイルを検索しよう

find -newerオプション|基準ファイルより新しいファイルを検索する
find -newerオプション|基準ファイルより新しいファイルを検索する

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

生徒

「Linuxで、あるファイルより新しく作られたファイルを探すにはどうすればいいですか?」

先生

「それならfindコマンドの-newerオプションが便利だよ。」

生徒

「たとえば、ログファイルより新しいファイルを探したいときにも使えますか?」

先生

「もちろん。基準となるファイルの更新時刻と比べて、それより新しいファイルだけを探せるんだ。さっそく詳しく見てみよう!」

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

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

find -newerオプションは、Linuxのfindコマンドでよく使われる検索オプションのひとつです。指定した基準ファイルと比べて、更新日時(mtime)が新しいファイルだけを検索したいときに使います。

たとえば、「backup.logというファイルより新しく更新されたファイルを探したい」というような場面で活躍します。

2. 基本の構文を確認しよう

2. 基本の構文を確認しよう
2. 基本の構文を確認しよう

-newerオプションの基本的な使い方は、以下の通りです。


find [検索ディレクトリ] -newer [基準ファイル]

このコマンドは、「指定したファイルよりも新しい更新日時を持つファイル」を検索します。

3. 例:log.txtより新しいファイルを探す

3. 例:log.txtより新しいファイルを探す
3. 例:log.txtより新しいファイルを探す

たとえば、ホームディレクトリにあるlog.txtより新しく更新されたファイルを検索したいときは、次のように入力します。


find ~ -newer ~/log.txt
/home/user/Documents/new_doc.txt
/home/user/Desktop/updated_config.ini

この結果では、log.txtよりあとに更新されたファイルだけが表示されます。

4. -type fと組み合わせてファイルのみに限定

4. -type fと組み合わせてファイルのみに限定
4. -type fと組み合わせてファイルのみに限定

findコマンドは、通常ディレクトリも検索対象に含めます。ファイルだけを対象にしたい場合は-type fを追加しましょう。


find ~ -type f -newer ~/log.txt
/home/user/Pictures/image.jpg
/home/user/Notes/summary.txt

5. 更新日時(mtime)とは?

5. 更新日時(mtime)とは?
5. 更新日時(mtime)とは?

-newerが参照する「更新日時(mtime)」とは、ファイルの中身が変更された時刻のことです。

つまり、ファイルを開いただけでは変更されません。実際に保存操作などを行い、内容が変わったときだけ更新時刻が変わります。

確認したいときはstatコマンドを使います。


stat sample.txt
  File: sample.txt
  Size: 1024       Blocks: 8        IO Block: 4096 regular file
Access: 2025-09-14 14:23:00
Modify: 2025-09-16 11:45:10
Change: 2025-09-16 11:45:10

この中の「Modify」が更新日時(mtime)にあたります。

6. 逆に「新しくないファイル」を検索するには?

6. 逆に「新しくないファイル」を検索するには?
6. 逆に「新しくないファイル」を検索するには?

-newerは「基準ファイルより新しいファイル」ですが、逆に「古いファイル」を探したいときは少し工夫が必要です。

まずはtouchコマンドで一時的な基準ファイルを作成し、それより古いファイルを! -newerで検索します。


touch -r target.txt ref.tmp
find . ! -newer ref.tmp
./oldfile1.txt
./log/backup_old.tar

! -newerは、「新しくない(=基準より古い)」という意味になります。

7. バックアップ時の差分抽出に便利

7. バックアップ時の差分抽出に便利
7. バックアップ時の差分抽出に便利

ある時点でバックアップを取ったファイルと比較して、「それ以降に変更があったファイルだけ」を抽出したいときにも-newerは便利です。

たとえば、backup.timestampという空のファイルを保存しておき、次のように使います。


find ~/project -type f -newer backup.timestamp
~/project/src/main.c
~/project/docs/readme.md

このようにすると、バックアップ以降に変更されたファイルだけを効率よく抽出できます。

8. ファイルのタイムスタンプは自分で作れる

8. ファイルのタイムスタンプは自分で作れる
8. ファイルのタイムスタンプは自分で作れる

基準ファイルは、自分で作ることもできます。touchコマンドで空のファイルを作るだけです。


touch backup.timestamp

このbackup.timestampを基準にして-newerを使えば、任意の時刻を起点としたファイル検索が可能になります。

9. -newerXYオプションとの違い

9. -newerXYオプションとの違い
9. -newerXYオプションとの違い

-newermtime(更新時間)を基準にしますが、もっと細かく条件を変えたい場合は-newerXYというオプションがあります。

  • X=参照元の種類(a:アクセス、m:更新、c:変更)
  • Y=比較対象の種類(a:アクセス、m:更新、c:変更)

たとえば、-newermmは「基準ファイルの更新時間より新しいファイルの更新時間」という意味になります。

ただし、初心者のうちはまず-newerから覚えるのがオススメです。

10. find -newerは安全に使える優秀ツール

10. find -newerは安全に使える優秀ツール
10. find -newerは安全に使える優秀ツール

find -newerは、日時を正確に比較できる優秀な検索オプションです。特定のファイルを基準にした差分検索や、バックアップ時の確認、ログ調査など幅広く使えます。

初心者でも扱いやすく、失敗の少ないコマンドなので、ぜひ積極的に活用してみてください。

まとめ

まとめ
まとめ

ここまで、Linuxのfindコマンドにおける-newerオプションの使い方について、基本から実践的な活用例まで順を追って見てきました。 find -newerは、指定した基準ファイルと更新日時を比較し、それより新しく変更されたファイルだけを検索できる便利な機能です。 日付や時刻を直接指定しなくても、既存のファイルを基準に検索できる点が大きな特徴であり、ログ管理やバックアップ、作業履歴の確認など、Linuxを使った日常的な運用の中で非常に役立ちます。

特に覚えておきたいのは、-newerが参照しているのが「更新日時(mtime)」であるという点です。 ファイルを開いただけではmtimeは変わらず、内容が実際に変更されたときだけ更新されます。 この仕組みを理解しておくことで、「なぜ検索結果に表示されないのか」「なぜこのファイルが対象になるのか」といった疑問も自然と解消できます。

また、-type fを組み合わせることで通常ファイルのみに絞り込める点や、! -newerを使って基準ファイルより古いファイルを検索する方法も重要です。 これらを組み合わせれば、単なるファイル検索にとどまらず、差分抽出や整理作業にも応用できます。 たとえば、前回バックアップ以降に更新されたファイルだけを洗い出すといった作業は、実務でも頻繁に行われます。

基準となるファイルは、必ずしも既存の重要ファイルである必要はありません。 touchコマンドで空のファイルを作成すれば、その作成時刻を起点にした検索が可能になります。 この考え方を知っておくと、作業開始時点や確認ポイントを自分で自由に設定できるようになり、Linuxでの作業効率が大きく向上します。

さらに、-newerXYオプションの存在にも触れました。 こちらはアクセス時刻や変更時刻など、より細かな条件で比較できる上級者向けの機能ですが、基本となる考え方は-newer

find -newerを使った振り返りサンプル

最後に、今回学んだ内容を振り返るためのシンプルなサンプルを確認しておきます。 次の例では、基準ファイルbackup.timestampより新しく更新された通常ファイルのみを検索しています。


find ~/work -type f -newer backup.timestamp
/home/user/work/report.txt
/home/user/work/src/app.c

このように、検索条件が一目で分かる形でコマンドを書けるようになると、findコマンドへの苦手意識も薄れていきます。 小さな確認作業から積み重ねていくことが、Linux操作に慣れる近道です。

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

生徒

「findコマンドって難しそうな印象がありましたけど、-newerは意外と分かりやすいですね。 基準になるファイルと比べるだけなら、日時を覚えなくても使えそうです。」

先生

「その通りだね。ファイルを基準にできるのが-newerの強みなんだ。 作業の区切りやバックアップのタイミングと相性がいいから、覚えておくと役立つよ。」

生徒

「更新日時がmtimeだという点も印象に残りました。 ただ開いただけじゃ変わらないって知っておくと、検索結果に納得できますね。」

先生

「うん、その理解はとても大切だよ。 仕組みを知っていると、コマンドの結果を落ち着いて判断できるようになる。」

生徒

「まずは-newerを使って、次は必要に応じて-newerXYにも挑戦してみます。」

先生

「それがいいね。焦らず、実際にコマンドを打ちながら少しずつ慣れていこう。 findコマンドは使いこなせるようになると、Linux作業が一段と楽になるよ。」

関連記事:
カテゴリの一覧へ
新着記事
New1
ファイル・ディレクトリ操作
rm --helpオプションを使ってみよう!初心者でもわかるLinuxのヘルプ表示方法
New2
テキスト処理とフィルタ
moreコマンドとlessコマンドの違いと使い方を完全ガイド!初心者でもわかるLinuxのページ表示の基本
New3
ファイル・ディレクトリ操作
basenameの--helpオプションを使ってヘルプ表示!オプション一覧でLinuxコマンドを理解しよう
New4
ファイル・ディレクトリ操作
stat --helpオプションの使い方|オプション一覧を表示してLinuxコマンドの使い方を確認しよう
人気記事
No.1
Java&Spring記事人気No1
ファイル・ディレクトリ操作
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
No.2
Java&Spring記事人気No2
テキスト・データ処理
catコマンドとは?Linuxでファイル内容を表示・連結する基本
No.3
Java&Spring記事人気No3
ファイル・ディレクトリ操作
pwdコマンドとは?初心者でもわかる現在の作業ディレクトリの確認方法を解説!
No.4
Java&Spring記事人気No4
ファイル・ディレクトリ操作
cd ~ の使い方を完全解説!ホームディレクトリへの移動方法と初心者向けLinuxコマンド入門