文件访问时间

Esh*_*sha 4 linux vi timestamps files

我正在使用bash外壳。如果我只是用vi编辑器打开一个文件并关闭它甚至一次都没有移动光标,那么据我所知,应该更改文件的最后访问时间,因为它已被编辑器打开。

但是当我用文件进行试验时,这并没有发生。在这种情况下,最后访问时间保持不变。我误解了什么吗?

请更清楚地阐明上次访问时间的概念,并解释vi编辑器如何能够在不修改此时间戳的情况下访问文件。

Ste*_*itt 9

在Linux上,内核现在安装与文件系统relatime选项,默认情况下启用(请参阅mount手册页了解详细信息),并使用此选项,访问时间才会更新:

  • 上次访问时间早于当前修改或更改时间(,自上次访问以来,文件的内容或元数据已更改);
  • 或者之前的访问时间超过一天。

这减少了一般系统使用中涉及的磁盘写入次数,同时仍然保留了一些依赖它的程序(特别是某些邮件客户端)的访问信息,并提供了一些访问时间跟踪的度量,尽管文件的粒度非常粗略不会改变。

换句话说,在relatime挂载的文件系统上,访问时间不再是一个准确的时间戳,而是一个指标:它允许您确定自上次修改后是否已访问过文件,或者是否在给定的时间内访问过具有一天粒度的周期。

有许多选项可用于控制这种行为;man mount有关详细信息,请参阅链接的联机帮助页或在您的系统上。