区分一个文件或者目录的更改时间(change time,ctime),访问时间(access time,atime)以及修改时间(modify time,mtime)很重要。

ctime——在Unix中,基本是无法知道一个文件的精确创建时间。更改时间(ctime)是指文件或者目录的属性(所有者、权限等等)被更改的时间。ctime在文件的内容改变的时候也会改变。如果一个文件需要备份的话,dump命令需要用到ctime。你可以用ls -lc 命令来查看ctime。

atime——访问时间(atime)就是一个文件的数据最后一次被访问的时间。例如,显示一个文件的内容或者运行一个shell脚本会更新文件的atime。你可以用ls -lu命令查看。

mtime——修改时间(mtime)就是文件的目前内容最后被修改的时间。这是在一个长目录列表中显示的时间。

在Linux中,状态命令会显示3次。

例子:

$ cat file

文件的atime将更新。

$ chmod g+w file

文件的ctime将更新。

$ echo "File contents" > file

文件的ctime和mtime将更新。

---------------------------------------------------------------------

Linux文件与目录的三种时间状态

1.      mtime(medify time):最后一次修改文件或目录的时间

2.      ctime(chang time) :最后一次改变文件或目录(改变的是原数据即:属性)的时间如:记录该文件的inode节点被修改的时间。touch命令除了-d和-t选项外都会改变该时间。而且chmod,chown等命令也能改变该值。

3.      atime(access time)::最后一次访问文件或目录的时间

对于文件:    当修改mtime时,ctime必须随着改变.因为文件大小等都属性;有人说说atime也一定会改变,要想修改文件必须先访问;其实是不对的不必访问文件就能修改其内容:如:#echo “This is a test !” >> /etc/issue,issue文件内容会变,但并没有访问文件,所以atime并没有改变.

对于目录:

访问一个目录其atime改变,mtime ,ctime不变;

修改一个目录:在一个目录下touch一个文件,mtime与ctime会改变,atime不一定会变

使用stat命令可以查看三时间值:如 stat filename

也可使用:        ls -l file : 查看文件修改时间

ls -lc file: 查看文件状态改动时间

ls -lu file: 查看文件访问时间