目录的修改日期报告是什么?

目录的修改日期报告是什么?

当我运行 时ls -l,它会列出文件和目录的修改时间。如上所述在此主题中,目录的修改时间并不反映其所有内容。它似乎也不会受到目录名称更改的影响。目录的修改时间到底反映了什么?

它是目录顶层文件(或目录)的最新修改时间吗?

答案1

请注意,在 Unix 中,目录并不“包含”其中的文件。相反,它包含指向这些文件的链接。link(2)有关详细信息,请参阅系统调用。

这意味着目录的“直接”内容是文件名和相应i-数字。因此,目录的修改日期表明此列表何时发生更改。会导致此类更改的操作包括(但不一定限于)以下内容:

  • 在目录中创建新文件
  • unlink(2)从目录中删除(或者说删除)一个文件
  • 重命名目录中的文件
  • 将文件硬链接到目录中的其他位置

答案2

将目录视为包含其他文件列表的简单文件。每当您更改其内容(重命名文件、添加或删除所含文件)时,目录的修改时间都会发生变化。

相关内容