Linuxでは、ファイルやディレクトリに対してWindowsと同じようにタイムスタンプ(最終更新日時、作成日時、最終アクセス日時)が記録されています。
そこでここでは、RedHat系LinuxのAlmaLinuxを例に、ファイルのタイムスタンプを表示する方法や、ファイルのタイムスタンプを変更する方法を紹介します。
目次
タイムスタンプの確認(表示)
ファイルのタイムスタンプ(最終更新日時、状態更新日時、最終アクセス日時)を確認するときは、lsコマンドやstatコマンドを使います。
最終更新日時(mtime)
ファイルの最終更新日時(mtime)を確認するときは、以下のようにコマンドを実行します。
$ ls -l file_1.dat
-rw-r--r-- 1 root root 28 5月 29 19:55 file_1.dat
最終状態変更日時(ctime)
ファイルの最終状態変更日時(ctime)を確認するときは、以下のようにコマンドを実行します。
$ ls -cl file_1.dat
-rw-r--r-- 1 root root 28 6月 1 17:49 file_1.dat
最終アクセス日時(atime)
ファイルの最終アクセス日時(atime)を確認するときは、以下のようにコマンドを実行します。
$ ls -ul file_1.dat
-rw-r--r-- 1 root root 28 6月 1 17:53 file_1.dat
一括で確認したいときは
lsコマンドでは、上のようにオプションを変えてタイムスタンプ(最終更新日時、状態更新日時、最終アクセス日時)を確認する必要がありますが、statコマンドを使えば、タイムスタンプを一括で確認することができます。
- Access:最終アクセス日時
- Modify:最終更新日時
- Change:最終状態変更日時
$ stat file_1.dat
File: file_1.dat
Size: 28 Blocks: 8 IO Block: 4096 通常ファイル
Device: fd00h/64768d Inode: 33687576 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2024-06-01 17:53:06.917617690 +0900
Modify: 2024-05-29 19:55:12.613361549 +0900
Change: 2024-06-01 17:49:57.539326055 +0900
Birth: 2024-05-29 19:55:12.613361549 +0900
タイムスタンプの変更
ファイルのタイムスタンプを変更するときは、touchコマンドを使うことで、最終更新日時や最終アクセス日時を任意の日時に変更できます。
最終更新日時の変更
ファイルの最終更新日時を「2023 12/31 15:00」に変更したいときは、以下のようにコマンドを実行します。
$ touch -m -t 202312311500 file_1.dat
$ ls -l file_1.dat --time-style=+'%Y/%m/%d %H:%M:%S'
-rw-r--r-- 1 root root 28 2023/12/31 15:00:00 file_1.dat
最終アクセス日時の変更
ファイルの最終アクセス日時を「2023 12/31 15:00」に変更したいときは、以下のようにコマンドを実行します。
$ touch -a -t 202312311500 file_1.dat
$ ls -ul file_1.dat --time-style=+'%Y/%m/%d %H:%M:%S'
-rw-r--r-- 1 root root 28 2023/12/31 15:00:00 file_1.dat