unix环境高级编程-4.18-文件时间

在unix系统中,每个文件要保持三个时间字段,他们的意义分别如下:

字段 说明 例子 ls选项

st_atime

st_mtime

st_time

文件数据的最后访问时间

文件按数据的最后修改时间

i节点状体的最后更改时间

read

write

chmo,chown

-u

默认

-c

注意st_mtime 指的是文件内容的最后修改时间,而st_ctime指的是i节点的最后修改时间。i节点之前讲过比如文件访问权限,用户ID,文件的连接数。但没有更改文件的实质数据的内容,因为文件的i节点信息和文件的数据是分开反的。所以除了文件的数据修改时间以外,还是要更改状态时间的。

注意 系统并不保存对一个i节点 的最后一次访问时间,所以access和stat函数并不更改这三个时间里的任何一个。

 

其中 ls命令对文件时间进行排序显示。比如 -r是按照最新修改的时候先后排序。-u是按照其访问时间进行排序。-c则是按照更改状态的时间来排序。

表4-9 各种函数对存取、修改和更改状态时间的作用

上表显示了各种函数对文件三种时间的作用。4.14节说过,目录是包含目录项的文件,增加,删除或者修改目录项会影响到与其所在相关的三个时间。

这就是为什么上表中有两列。一个是引用文件或目录,另一是引用文件的父目录。

比如创建一个新文件会影响到包含此新文件的目录,也会影响到该新文件的i节点。但是读或者写只对本文件及i节点,而对目录没有影响。

 

 

 

 

你可能感兴趣的:(编程,unix,Access)