linux—Assess Modify change时间

来源:互联网 发布:吴文化网络课答案 编辑:程序博客网 时间:2024/06/16 06:43

           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等
操作后,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为系统时间。














1 0
原创粉丝点击