这里,我们解释Access/Modify/Change时间是什么时间?如何修改Access/Modify/Change时间?
1.Access/Modify/Change时间是什么时间?
首先我们先用stat命令查看一个文件的这三个时间。
接下来,我们来解释一下这三个时间。
Access:文件最近一次被访问的时间,当编辑器打开文件时,使用cat,more,less,grep,sed读取文件内容将会刷新。
当我们读取file的时候,可以发现Access时间确实改变了,改变为最近一次读取文件的时间
Change:文件属性最近一次被修改的时间,对一个文件或则目录执行mv,chmod,chgrp命令,将会刷新Change的。
当我们用chmod命令改变文件file的属性时,Change的时间发生了变化。
Modify:文件内容最近一次被修改的时间;当修改文件内容时Modify的时间将会刷新
当我们改变文件内容的时候,发现不仅Modify发生了改变,Change也发生了改变,而Acess没变。
接下来,我们来看一下用vim编辑文件时,会出现什么状况。
我们发现当用vim编辑文件时,Access/Modify/Change都发生了改变。
总结:
Access:文件最近一次被访问的时间,使用cat,more,less,grep,sed读取文件内容将会刷新
Modify:文件内容最近一次被修改的时间;当修改文件内容时Modify的时间将会刷新。
Change:文件属性最近一次被修改的时间,对一个文件或则目录执行mv,chmod,chgrp命令,将会刷新Change的 。
当读取文件时,Access time 改变,而 Modify time 、Change time 不变。
当修改文件内容时,Modify time 、Change time 会改变,Access time 不一定改变。(用vim编辑时Access会改变)
当修改文件权限属性时,Change time 改变,而 Access time 、 Modify time 不变。
2.如何修改Access/Modify/Change时间?
我们通过touch指令来修改时间,接下来我们来看这些指令
touch -a file:修改Access的时间为当前系统时间,Change是当前系统时间
touch -m file:Modify被修改成当前系统时间,Change为当前系统时间
touch -c file:Access/Modify被修改成当前系统时间,Change为当前系统时间
touch -d 2018-1-23 file:Access/Modify被修改成指定的时间2018-1-23,Change为当前系统时间
touch -a -d 2019-7-23 file:将Access修改为指定时间2019-7-23,Modify不变,Change为当前系统时间
touch -m -d 2010-3-24 file:Modify被修改为指定时间2010-3-24,Access不变,Change为当前系统时间
touch -c -d 2014-6-26 file:Access/Modify被修改为指定时间2014-6-26,Change为当前系统时间
总结:
touch -a 是将Access修改为当前系统时间,touch -a -d 是将Access修改为指定的时间
touch -m是将Modify修改为当前系统时间,touch -m -d是将Modify修改为指定的时间
touch -c是将Access/Modify修改为当前系统时间,touch -c -d是将Access/Modify修改为指定的时间
使用以上所有指令时,Change都被修改为当前系统时间。