Linuxにおけるファイルのタイムスタンプ (atime/ctime/mtime)
Linuxのファイルには3つのタイムスタンプがある。
- atime ... 最終アクセス日時
- mtime ... 最終変更日時
- ctime ... 最終ステータス変更日時
** タイムスタンプの表示
|sh| ls -lu # atimeの表示 ls -l # mtimeの表示 ls -lc # ctimeの表示 ||<
または、statコマンドでも表示できる。
|| $ stat hoge.txt File: `hoge.txt' Size: 79 Blocks: 8 IO Block: 4096 通常ファイル Device: ca01h/51713d Inode: 139937 Links: 1 Access: (0664/-rw-rw-r--) Uid: ( 1001/ user) Gid: ( 1001/ user) Access: 2014-12-04 07:20:06.979956045 +0900 # atime Modify: 2014-12-04 07:20:06.979956045 +0900 # mtime Change: 2014-12-05 00:17:48.490973560 +0900 # ctime Birth: - ||<
** タイムスタンプを変更するには
atime/mtime は touch コマンドで変更できる。
||
mtimeのみ変更
$ touch -m -d "2012/9/23 00:00:00" hoge.txt $ ls -l hoge.txt -rw-r--r-- 1 user group 5 9月 23 00:00 hoge.txt
atimeのみ変更
$ touch -a -d "2012/9/24 00:00:00" hoge.txt $ ls -lu hoge.txt -rw-r--r-- 1 user group 5 9月 24 00:00 hoge.txt
atime,mtimeを変更
$ touch -d "2012/9/25 00:00:00" hoge.txt $ ls -l hoge.txt -rw-r--r-- 1 user group 5 9月 25 00:00 hoge.txt $ ls -lu hoge.txt -rw-r--r-- 1 user group 5 9月 25 00:00 hoge.txt ||<
ctimeには任意の時刻を設定することはできない。
** find コマンド
findコマンドでは、atime, ctime, mtimeそれぞれでファイルを検索することができる。 例えば、以下のようにする
|sh|
ディレクトリ /path が対象とする
7日前以前にアクセスされたファイルを探す
find /path -atime +7
3日以内に変更されたファイルを探す
find /path -ctime -3 ||<
** 関連エントリ
** 参考