如何仅更改目录的 mtime?

如何仅更改目录的 mtime?

我试图通过添加文件或子目录来更改目录的 mtime,但这也会更改文件的 ctime。有没有办法只改变 mtime 而不影响 ctime 或 atime?

答案1

这是不可能的,因为时间如果发生变化,则始终会发生变化时间。解释如下:

我们从文件的角度来看:

时间是inode/文件更改时间,这意味着当文件属性更改(例如更改所有者或权限)时,ctime 会更新。

时间是文件修改时间,当你修改文件内容时它会更新。

大部分的时间时间时间将是相同的,除非仅有的文件属性已更新。在这种情况下,只有时间得到更新。

现在从目录的角度来看:

目录是一种特殊的文件,其内容是一组(文件名,i-node)元组。这时间当添加、删除或更改元组时,目录的内容会更新,这意味着当添加、删除或重命名文件或目录时,时间变化并引发变化时间

当目录的元数据发生变化时(所有者、组、模式),mtime 未更新但 ctime 确实

相关内容