stat 命令上下文中的修改和更改有什么区别?

stat 命令上下文中的修改和更改有什么区别?

stat命令的手册页显示:

   %x     Time of last access
   %y     Time of last modification
   %z     Time of last change

我无法理解之间的区别调整改变。我知道这些词是同义词(英语不是我的母语),但它们的输出是不同的。

我尝试了以下命令

stat --printf="Change %z\nAccess %x\nModify %y\n" p.txt

现在,当我打开 p.txt 时,访问时间发生了变化,我进入插入模式,编辑文件,修改和更改时间保持不变。

更改 2010-10-06 12:48:39.286252389 +0500
访问时间 2010-10-06 12:49:14。962243456+0500
修改 2010-10-06 12:48:39.234498878 +0500

当我将更改写入 file :w、修改和更改时,两者都会更改但给出不同的值。

更改 2010-10-06 12:51:21。949082169+0500
访问 2010-10-06 12:51:21.908246082 +0500
修改2010-10-06 12:51:21。908246082+0500

那么在此上下文中“修改”和“更改”的含义是什么?也就是说,修改和变化的时间给出了哪些事件的时间?

谢谢

答案1

这已经在这个问题,我引用(原文由回声):

有3种“时间戳”:

  • 访问 - 上次读取文件的时间
  • 修改——文件最后一次修改时间(内容已被修改)
  • 更改 - 文件的元数据上次更改的时间(例如权限)

Stack Overflow 上的这篇文章从编程接口的角度解释了三个不同时代之间的差异。

相关内容