ファイルが持っている日付の話。
Posted on 2010/10/15
|
No Comments
オサライオサライ。
ファイルは、3つの時間を持っています。
普段あまり気にしないけど、時々思い出すのでオサライです。
- mtime (modify time)
- atime (access time)
- ctime (change time)
・mtime
最終更新時間の事です。 ls -lすると出てくるのがコレ。
・atime
最後にファイルにアクセス(読み込んだり)した時間です。
・ctime
最後にファイルの属性を変更した時間です。inode情報の更新時間。
。。
よくわかりませんね。特にctime。
ls -lでmtimeが、ls -luでatime が、そしてls -lcでctimeが表示出来るので、
ちょっと実験してみます。
$ touch acmtime.file $ ls -l acmtime.file ; ls -lu acmtime.file ; ls -lc acmtime.file -rw-rw-r-- 1 st0m st0m 0 Oct 15 21:04 acmtime.file -rw-rw-r-- 1 st0m st0m 0 Oct 15 21:04 acmtime.file -rw-rw-r-- 1 st0m st0m 0 Oct 15 21:04 acmtime.file $ cat acmtime.file $ ls -l acmtime.file ; ls -lu acmtime.file ; ls -lc acmtime.file -rw-rw-r-- 1 st0m st0m 0 Oct 15 21:04 acmtime.file -rw-rw-r-- 1 st0m st0m 0 Oct 15 21:07 acmtime.file -rw-rw-r-- 1 st0m st0m 0 Oct 15 21:04 acmtime.file $ chmod 777 acmtime.file $ ls -l acmtime.file ; ls -lu acmtime.file ; ls -lc acmtime.file -rwxrwxrwx 1 st0m st0m 0 Oct 15 21:04 acmtime.file -rwxrwxrwx 1 st0m st0m 0 Oct 15 21:07 acmtime.file -rwxrwxrwx 1 st0m st0m 0 Oct 15 21:11 acmtime.fileどうでしょうか。ファイルを開いたらatimeが、属性を変更したらctimeが更新されました。
$ date > acmtime.file $ ls -l acmtime.file ; ls -lu acmtime.file ; ls -lc acmtime.file -rwxrwxrwx 1 st0m st0m 29 Oct 15 21:18 acmtime.file -rwxrwxrwx 1 st0m st0m 29 Oct 15 21:07 acmtime.file -rwxrwxrwx 1 st0m st0m 29 Oct 15 21:18 acmtime.filemtimeだけではなく、ctimeも更新されました。
$ ln acmtime.file acmtime.file.hl $ ls -l acmtime.file ; ls -lu acmtime.file ; ls -lc acmtime.file -rwxrwxrwx 2 st0m st0m 29 Oct 15 21:24 acmtime.file -rwxrwxrwx 2 st0m st0m 29 Oct 15 21:24 acmtime.file -rwxrwxrwx 2 st0m st0m 29 Oct 15 21:29 acmtime.file $ ls -lic acmtime.file* 222646566 -rwxrwxrwx 2 st0m st0m 29 Oct 15 21:29 acmtime.file 222646566 -rwxrwxrwx 2 st0m st0m 29 Oct 15 21:29 acmtime.file.hlまた、属性情報にはリンクも含まれる様なので、ハードリンクを作成しても変わります。
あとは、同じボリュームでmoveしても、ctimeだけ変わります。
オサライオサライでした。