As we all know,Linux下一切皆文件!
小编最近在学习linux操作系统,在学习到stat+文件名命令时,发现有三个时间不知何物经过多番折腾研究,在这里简单讲解下,如果有不对的地方希望大家指出来噢n(≧▽≦)n!
首先在Code文件目录下新建test.c文件,输入“stat test.c”查看文件元信息如下图所示:
这里可以看到三个时间分别是Access、Modify和Change,此时这三个时间是相同的,且在图中可以看到文件的Size、Blocks都为零,文件此时为regular empty file(普通空文件)。
接下来小编将对时间逐个分析。
1.Modify
从命名上看,词义为“修改”,那么小编来修改一下文件内容,看它是否会改变:
上图中,小编使用echo命令向空文件test.c中增加了一句“add1”,再查看文件时首先可以看到文件的Size、Blocks均有所改变,文件此时也不再为空,是“regular file”(普通文件)。
再看三个时间,发现后两个时间,即Modify和Change都改变了,此处且先说Modify Time,简单的echo命令即能证明只要文件内容被更改,它就会改变。
2.Access
从命名上看,这个时间可以理解为“访问时间”,那么我们就来访问一下,看它是否会改变:
很明显的Access时间改变了,说明cat命令查看文件确实能够更改这个时间,但是查看文件不止这一个命令,我们来试一下别的命令是否能够更改:
很遗憾,more命令并没有使Access时间更改,小编也试了less命令,同样没有更改,那这是为什么呢?不是都访问了嘛?
小编简单了解了一下cat、less和more这三个命令的区别,发现cat命令是直接显示文件全部内容的,而less和more则不同,具体区别小编随后再仔细研究!敬请期待!
那么,这里可以总结一下,Access时间在cat命令下会改变,而more和less命令由于一些原因并不会更改Access的时间。
3.Change
从词义上看是“改变”的意思,首先已经确定了Modify是文件内容更改的最后时间,那么小编猜测Change是文件内容以及其他信息(如权限信息)的最后更改时间,接下来看小编为大家见证奇迹O(∩_∩)O~
首先用ll命令查看:
上图中,test.c对拥有者user的初始权限为rw,没有可执行权限x,用“chmod”添加权限x后,如下图:
此时已经更改了test.c文件的权限信息,此时看一下文件元信息是否更改:
0.0 !! 时间真的变了!
哈哈,小编猜对了吧(^__^) …
最后总结:
Access——文件最后的访问时间(cat命令)
Modify——文件最后的更改时间(包括echo、vim方式等)
Change——文件其他信息的最后更改时间(如权限信息)
小编会继续研究的!如果有什么错误的地方,大家一定要说出来噢!!