我正在使用bash
外壳。如果我只是用vi
编辑器打开一个文件并关闭它,甚至没有移动光标一次,那么据我所知,应该更改文件的上次访问时间,因为它是用编辑器打开的。
但当我用文件进行实验时,这种情况并没有发生。在这种情况下,最后访问时间保持不变。我误解了什么吗?
请更清楚地阐明上次访问时间的概念,并解释vi
编辑器如何能够在不修改此时间戳的情况下访问文件。
答案1
在 Linux 上,内核现在挂载文件系统时relatime
默认启用该选项(请参阅联机mount
帮助页了解详细信息),并且使用此选项,仅在以下情况下更新访问时间:
- 上次访问时间早于当前修改或更改时间(IE,文件的内容或元数据自上次访问以来已更改);
- 或者上次访问时间已超过一天。
这减少了一般系统使用中涉及的磁盘写入次数,同时仍然保留某些依赖它的程序(特别是某些邮件客户端)的访问信息,并提供某种访问时间跟踪措施,尽管对文件的粒度非常粗略这不会改变。
换句话说,在relatime
挂载的文件系统上,访问时间不再是一个准确的时间戳,而是一个指示器:它允许您确定文件自上次修改以来是否已被访问过,或者是否在给定的时间内被访问过具有全天粒度的周期。
有许多选项可以控制这种行为;有关详细信息,请参阅链接的联机帮助页或man mount
您的系统上的联机帮助页。