Assess Modify change时间
首先我创建一个test.c的文件:
接下来我使用一下stat命令,可以看到如下现象(注意箭头就是今天的主题):
大多数像我一样的新手肯定会疑惑这几个时间是什么意思呢?
1.Access:对于文件来说,当我们用编辑器打开file,或使用cat more less grep sed
等等命令读取文件内容,以及使用file cp命令操作文件,或执行可执行文件时,Acce
ss时间会被更新,空文件也不例外。对于目录来说,只进入目录不会更新其Access时间
,但是通过ls查看目录内容时,Access时间就会更新。使用ls -lu查看文件时,会显示
出来文件Access时间。
2.Modify:当更改一个文件的内容时,此文件的modify时间记录会被更新。Modify时间更
新时,Access和Change时间都会得到相应的更新。用ls -l看到的时间是文件的Modify时
间。
3.Change:主要是指文件的状态或属性的改变,对一个文件或目录进行mv chown chcgrp等
3.Change:主要是指文件的状态或属性的改变,对一个文件或目录进行mv chown chcgrp等
操作后,change 时间会更新ls -lc显示的是change time。
接下来验证一下:
接下来,介绍的是如何改变这些时间:
首先我举几个例子
touch -d 2017-10-28 test.c //讲test.c文件的Access时间和Modify时间设置为2017.10.28
touch -c test.c //将Access/Modify/Change时间改为系统时间
执行chmod改变文件权限时,change时间发生了改变。
还有很多的命令来改变这些时间:
执行cat test.c命令,Access时间发生改变。
使用vim编辑文件时,Access/Modify/Change时间均会改变.
touch -m test.c //将test.c的Modify时间改为当前系统时间。
touch -a test.c //只将test.c的Access时间改为当前系统时间。
touch -m -d xxxx-xx-xx //将test.c的Accesss时间改为xxxx-xx-xx,Access时间不变,change为系统时间。
touch -a -d xxxx-xx-xx //将test.c的Modify时间改为xxxx-xx-xx,Access时间不变,change为系统时间。
touch -c -d xxxx-xx-xx // test.c的Modify和Access时间给为xxxx-xx-xx,Change为系统时间。