文件的Access\Modify\Change时间

3556阅读 0评论2008-03-01 mystérieux
分类:LINUX

Access\Modify\Change的初始时间记录都是文件被创建的时间。这三种行为与文件的三个权限rwx虽然有某些类似,但不是完全对应的,不可以混淆。
# stat foo
  File: “foo”
  Size: 55              Blocks: 8          IO Block: 4096   普通文件
Device: 301h/769d       Inode: 98319       Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2008-02-27 02:39:44.000000000 +0000
Modify: 2008-01-05 12:10:47.000000000 +0000
Change: 2008-01-05 12:10:47.000000000 +0000

Access 意思是“访问”。
用编辑器打开一个文件的时候;
在终端上用cat、more 、less、grep、sed读取文件的内容;
一个被设为壁纸的图片文件在我们进入xwindow;
把一个文件作为输入文件进行cp;
用file命令来查看文件类型;
可执行文件被执行;
音频视频文件被播放;
此文件的Access的时间记录都会被更新(空文件例外),纯粹的access是不会影响后面两项指标的,但会受到modify行为的影响。用ls -lu看到的文件时间是最近一次access的时间。
对于目录而言,只是进入目录的话不会改变它的access时间,但只要用ls查看了此目录的内容(无论在何处),这个目录的access时间就会被更新。

Modify 意思是“更改(内容)“,或者“写入”。
当更改了一个文件的内容的时候,此文件的modify的时间记录会被更新。用ls -l看到的文件时间是最近一次modify的时间。
modify的行为是三个行为中最有影响力的行为,它发生以后,会使文件的access记录与change记录也同时得到更新。对于目录也是如此。

Change 改变(状态或属性)。
对一个文件或者目录作mv、chown、chgrp操作后,它的Change时间记录被更新,change时间会受到modify行为的影响。用ls -lc看到的文件时间是最近一次change的时间。

弄清楚这些以后,我们可以正确地把握find 命令中的-atime 和 -ctime这两个选项的用法:
find . -type f -atime 0 本目录中最近24小时之内有过access行为的文件
find . -type f -ctime 0 本目录中最近24小时之内有过change行为的文件
上一篇:POSIX与GNU的getopt规范
下一篇:美丽的银河 (图)