linux文件会有三个时间。

stat file 可以查看三个时间

如:


Access: 2019-01-26 19:11:10.482357682 +0800

Modify: 2019-01-26 19:09:09.974811675 +0800

Change: 2019-01-26 19:11:10.482357682 +0800



分别是访问时间,文件内容修改时间,文件属性的改变时间。



查看时间都是大与 内容的修改和文件属性的改变时间的。



1、cat/less/more/tail 的执行,会更新文件的访问时间。(Access时间)

(奇怪的是cat一个文件,只会第一次变化,当再次cat的时候,文件不会变化,只要Access时间是新于Modify和Change的时间的)

2、vim/echo "内容" >> file/sed等更改文件内容的命令都会更改文件内容修改时间(Modify)。

当如,内容变了,文件属性就变了(最直接的大小变了),此时 Change时间也会改变。

其实文件的MD5更改了,这两个时间都会发生变化。


3、chmod/chattr 等更改文件属性的命令会修改Change时间。



总结:

更改了Modify ,Change时间一定会发生变化。

ls -l 看到的是 Modify的时间

touch 一个存在的文件,三个时间都会发生变换

touch -a 参数更改的是 访问时间和Change时间(但是help文档中告诉的是更改的Access时间)