カテゴリ: Linuxコマンド集 更新日: 2025/12/11

find -atimeオプションの使い方を完全ガイド!アクセス日でファイルを検索する方法

find -atimeオプション|アクセス日を基準に検索する
find -atimeオプション|アクセス日を基準に検索する

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

生徒

「Linuxで、最後に開いたファイルを探す方法ってありますか?」

先生

「それなら、findコマンドの-atimeオプションを使えば簡単に見つけられるよ。」

生徒

「えっ!?アクセス時間ってどういう意味ですか?」

先生

「アクセス時間とは、ファイルを開いた日時のことだよ。詳しく見ていこう!」

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

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

find -atimeオプションは、Linuxのfindコマンドの一部で、「ファイルが最後にアクセスされた日(開かれた日)」を基準に検索できる機能です。

アクセス日とは、ファイルを編集したり削除したりしていなくても、「開いただけ」で記録される日時のことです。例えば、テキストエディタや画像ビューアで開いただけでも、「アクセスした」とみなされます。

2. 基本的な使い方:直近3日以内にアクセスされたファイル

2. 基本的な使い方:直近3日以内にアクセスされたファイル
2. 基本的な使い方:直近3日以内にアクセスされたファイル

ホームディレクトリ内で、3日以内にアクセスされたファイルを検索するには、次のように書きます。


find ~ -atime -3
/home/user/Documents/notes.txt
/home/user/Downloads/sample.jpg

-3のように「マイナス記号(-)」をつけると、「3日より新しい(=直近3日以内)」という意味になります。

3. ぴったり◯日前にアクセスされたファイルを探す

3. ぴったり◯日前にアクセスされたファイルを探す
3. ぴったり◯日前にアクセスされたファイルを探す

例えば、「ちょうど5日前にアクセスされたファイル」を探したい場合は、次のように指定します。


find ~ -atime 5
/home/user/logs/old_log.txt

5とだけ書くと、「5日前の深夜0時から23時59分59秒の間にアクセスされたファイル」だけが検索対象になります。

4. ◯日より前にアクセスされた古いファイルを検索する

4. ◯日より前にアクセスされた古いファイルを検索する
4. ◯日より前にアクセスされた古いファイルを検索する

例えば、「30日以上前にアクセスされた古いファイル」を探したいなら次のように書きます。


find ~ -atime +30
/home/user/old_data/archive.zip

+30とすると、「30日より前」にアクセスされたファイルだけが検索されます。

5. atimeの計算は「24時間単位」

5. atimeの計算は「24時間単位」
5. atimeの計算は「24時間単位」

ここが重要ポイントです。-atimeの「日」は、カレンダーの日付ではなく、で計算されます。

たとえば、今が9月16日 15時であれば、「1日前」は9月15日15時以降にアクセスされたもの、「+1」は9月15日15時よりも前にアクセスされたものが対象です。

6. -typeと組み合わせてファイルだけを検索

6. -typeと組み合わせてファイルだけを検索
6. -typeと組み合わせてファイルだけを検索

findコマンドは、ファイルだけでなくディレクトリも検索します。ファイルだけに限定したい場合は、-type fを組み合わせます。


find ~ -type f -atime +60
/home/user/old/backup.tar.gz

この例では、「60日以上前にアクセスされたファイル」を探しています。

7. 管理者向け:不要ファイルの整理にも便利

7. 管理者向け:不要ファイルの整理にも便利
7. 管理者向け:不要ファイルの整理にも便利

-atimeオプションは、サーバー管理やシステムの保守作業で、しばらく使われていないファイルを洗い出すのに役立ちます。

特に、ログファイルや一時ファイルが大量にある場合、「古いけど誰も使っていないファイル」を見つけて整理できます。


find /var/log -type f -atime +90
/var/log/apache2/access.log.1
/var/log/mysql/old.err

8. -deleteと組み合わせて自動削除(注意!)

8. -deleteと組み合わせて自動削除(注意!)
8. -deleteと組み合わせて自動削除(注意!)

さらに、-deleteオプションと組み合わせることで、一定期間アクセスされていないファイルを自動で削除することも可能です。

ただし、間違えると必要なファイルまで消してしまうので、-deleteの前に必ず-printで確認しましょう。


find /tmp -type f -atime +10 -print -delete
/tmp/temp_file1.txt
/tmp/temp_file2.log

この例では、/tmp内で10日以上アクセスされていないファイルを表示してから削除しています。

9. mtimeやctimeとの違いは?

9. mtimeやctimeとの違いは?
9. mtimeやctimeとの違いは?

atimeと似たオプションに、mtimectimeがあります。それぞれの違いは次の通りです。

  • atime:ファイルを「開いた」日時
  • mtime:ファイルを「編集・変更」した日時
  • ctime:ファイルの「属性が変化した」日時(パーミッション変更など)

「読み取ったかどうか」を基準にしたい場合は、atimeを使いましょう。

10. 検索時間の精度を上げるには-noatimeマウントの確認も

10. 検索時間の精度を上げるには-noatimeマウントの確認も
10. 検索時間の精度を上げるには-noatimeマウントの確認も

環境によっては、ファイルアクセス時間が更新されないこともあります。それは、noatimeというマウントオプションが有効になっているためです。

ディスクのアクセス速度を上げるために、atimeの更新を無効にする設定ですが、-atimeで正しく検索できなくなる場合があります。

正確に調査したいときは、まず自分の環境がnoatimeになっていないか確認しましょう。

関連記事:
カテゴリの一覧へ
新着記事
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
ファイル・ディレクトリ操作
lsコマンドとは?Linuxでファイルやディレクトリを一覧表示する基本を初心者向けに解説