例如,如果我创建一个目录,检查其时间戳,然后在一分钟后在第一个目录中创建一个目录,mtime的时间戳将更改为创建新目录的时间戳。但是,如果我再等一分钟并在第二个目录内创建第三个目录,则第二个目录会将mtime更新到第三个目录的时间,而第一个目录仍将具有第二个目录的原始mtime。尽管在创建第三个目录时第一个目录的内容发生了变化,但mtime并没有改变。
是否有关于linux如何改变mtime的文档?或者它是否只能看到直接的孩子更改以更新mtime?
答案 0 :(得分:0)
这是我能找到的最接近的。从stat
手册页:
字段st_mtime由文件修改更改,例如,通过 mknod(2),truncate(2),utime(2)和write(2)(大于零) 字节)。此外,创建会更改目录的st_mtime 或删除该目录中的文件。 st_mtime字段不是 已更改所有者,组,硬链接计数或模式的更改。 - Source
这个措辞告诉我,嵌套目录的mtime修改不被父目录修改,因为它不符合mknod
,truncate
,{{1}的条件},或utime
操作。
希望这有帮助!