为什么按访问时间排序文件不起作用?

xra*_*alf 12 ls filesystems files atime

我尝试使用命令 ls --time=atime

它在一个目录中工作,但不在另一个目录中工作。我在 vim、evince 和其他应用程序中打开了某些文件,但是在命令文件访问时间没有改变之后。

当我输入时touch file.txt访问时间改变了,但当我输入时vim file.txt访问时间没有改变。

这里有什么问题?

Sté*_*nez 14

使用默认挂载选项,访问时间在 linux 上以特殊方式处理:

relatime– 如果访问时间(在更新发生之前)早于修改时间,则使用此选项的文件系统挂载会导致更新访问时间。这显着减少了由 atime 更新引起的写入。

linux 内核 2.6.30relatimemount 选项成为默认选项。这就是没有列出您期望的原因。ls --time=atime

解决方案:要使用 atime 的严格(传统)行为,请使用strictatime挂载选项(例如 in/etc/fstab)。

注意:要完全禁用 atime 更新,可以使用noatime.