Linux上的ctime总是大于或等于mtime吗?

Linux上的ctime总是大于或等于mtime吗?

我试图弄清楚 Linux 上文件的时间戳是如何工作的。

在这回答指出:

修改——文件最后一次修改时间(内容已被修改)

更改 - 文件的元数据上次更改的时间(例如权限)

但每次我更改文件内容时,ctime 也会更改。这让我觉得这就像一种变化反应:

  1. 文件内容的改变会触发mtime的改变
  2. mtime(文件元数据)的变化触发ctime的变化

如果这是真的,那么 ctime 将始终 >= 大于 mtime。

这个假设在所有情况下都是正确的吗? (假设系统时间从未手动更改)

答案1

否:可以设置时间(修改时间)和阿泰姆(访问时间)到任意时间戳(在限制范围内)time_t,包括日期)未来。这样做之后,时间将是当前的时间。

utimes函数(更新时间阿泰姆) 接受一对timeval结构,结合了time_t(秒)和微秒,有可能提高分辨率,但不限于过去的时间。

相关内容