两者有此不同,在Linux下没有创建时间的概念,也就是不能知道文件的建立时间,但如果文件建立后就没有修改过,修改时间=建立时间;
如果文件建立后,状态就没有改动过,那么状态改动时间=建立时间;
如果文件建立后,没有被读取过,那么访问时间=建立时间,因为不好判断文件是否被改过、读过、其状态是否变过,所以判断文件的建立时间基本上为不可能。
Linux文件的三种时间属性分别为:
atime,为access time的缩写,显示的是文件中的数据最后被访问的时间,比如被系统的进程直接使用或者通过一些命令和脚本间接使用。(执行一些可执行文件、脚本)
mtime,为modify time的缩写,显示的是文件的内容被改变时的最后时间,比如用vi编辑时就会改变。(也就是Block的内容)
ctime,为change time的缩写,显示的是文件的权限,拥有者,所属的组,链接数发生改变时的时间。当然当内容改变时,也会改变。(也就是Inode内容发生改变和Block内容发生改变时)
查看文件这三种时间的命令有:
1 ls命令
ls -lc filename 列出文件的 ctime
ls -lu filename 列出文件的 atime
ls -l filename 列出文件的 mtime
字段 说明 例子 ls(-l)
st_atime 文件数据的最后存取时间 read -u
st_mtime 文件数据的最后修改时间 write 缺省
st_ctime 文件数据的最后更改时间 chown,chmod -c
2 利用stat命令可以查看到文件的三种时间:
$ stat temp.sh
File: “temp.sh”
Size: 62 Blocks: 8 IO Block: 4096 一般文件
Device: fd00h/64768d Inode: 624522 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 500/signjing) Gid: ( 500/signjing)
Access: 2011-11-16 22:23:15.000000000 +0800
Modify: 2011-11-16 22:21:23.000000000 +0800
Change: 2011-11-16 22:22:38.000000000 +0800