红联Linux门户
Linux帮助

Linux文件的三种时间属性

发布时间:2014-11-03 10:00:51来源:linux网站作者:signjing

在Windows下,一个文件有三种时间属性:

创建时间、修改时间、访问时间。

而在Linux下,一个文件也有三种时间属性:

访问时间、修改时间、状态改动时间。

两者有此不同,在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