linux下⽂件的访问时间、修改时间和改变时间
确切的说不存在创建时间。若⽂件从创建后不曾修改过则可认为创建时间=修改时间,若⽂件创建后状态也不曾改变过则可认为创建时间=改变时间,若⽂件创建后不曾被读取过则可认为创建时间=访问时间。但是,但是,上述情况基本上是不可能的,也就是说⼏乎不可能获取到⽂件的创建时间。
可以通过stat命令查看⽂件的状态
linux使用vim编辑文件
可以看到该⽂件的访问时间、修改时间、改变时间均为13:36:55。此处这⼀时间也是该⽂件的创建时间,因为⽂件创建后没有发⽣过访问、修改和改变。
Ø  访问时间(accesstime):读取⼀次⽂件的内容,该时间便会更新。⽐如对这个⽂件使⽤less命令或者more命令。(ls、stat这样的命令不会修改⽂件访问时间)
可以看到对⽂件使⽤more\less\cat命令后⽂件的访问时间分别变化为最后⼀次访问的时间,⽽⽂件的修改时间和改变时间并没有发⽣变化。
可以看到,对⽂件使⽤ls\stat命令列出⽂件属性\显⽰⽂件状态后⽂件的访问时间并没有发⽣变化,这是因为这些过程并没有读取⽂件内容本⾝。
Ø  修改时间(modifytime):对⽂件内容修改⼀次便会更新该时间。例如使⽤vim等⼯具更改了⽂件内容并保存后,⽂件修改时间发⽣变化。通过ls –l列出的时间便是这个时间。要想看到⽂件访问时间可使⽤ls –ul命令。
当前的⽂件状态。
使⽤vim编辑⽂件添加了“test file access time,modify time,change time”后保存⽂件,查看⽂件的状态,可以看到⽂件的修改时间发⽣了变化。但值得注意的是⽂件的访问时间和改变时间也发⽣了变化。这是问什么呢?这是因为我们通过vim打开⽂件实际上也是访问了⽂件因此⽂件访问时间会更新,⽽当添加了内容并保存后⽂件的⼤⼩、块数、时间数据等状态也发⽣了变化,因此其状态改变时间也被更新。也就是说修改⽂件内容往往也会更新⽂件的状态改变时间和访问时间,但不是绝对的。后边的例⼦会讲解这种情况。
这⼀次我们只通过vim打开⽂件,不进⾏任何编辑再保存⽂件,查看得知⽂件的访问时间发⽣了变化⽽修改时间和状态改变时间并没有被更新。这印证了通过vim编辑⽂件实际上是先访问了⽂件的说法。另外也说明只要其内容没有发⽣变化,那么⽂件的修改时间也保持不变。
ls –l命令显⽰⽂件的修改时间,ls –ul命令显⽰⽂件的访问时间。
Ø  改变时间(changetime):更改⽂件的属性便会更新该时间,⽐如使⽤chmod命令更改⽂件属性,或者执⾏其他命令时隐式的附带更改了⽂件的属性若⽂件⼤⼩等。
当前的访问时间、修改时间、状态变化时间。
执⾏完chmod命令后查看⽂件状态发现状态变化时间被更新。访问时间和修改时间保持不变,因为这⼀过程并没有读取⽂件内容也没改变⽂件内容
通过重定向命令来改变⽂件内容会更新⽂件的修改时间和状态改变时间。因为这⼀过程修改了⽂件内容,改变了⽂件⼤⼩、修改时间等状态,⽽没有读取⽂件的内容。这也验证了“修改⽂件内容往往也会更新⽂件的状态改变时间和访问时间,但不是绝对的。”这⼀说法。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。