在内部创建新文件时,目录mtime总是会更改吗?


12

在目录中创建新文件时,目录的mtime会一直更改吗?


这很容易测试...
ewwhite 2012年

6
简单。但是,并非一次在所有操作系统和文件系统上都可以:)
kolypto'5

Answers:


12

简短的答案是肯定的。接下来是更长的答案。

目录是一种特殊的文件。它的内容是一组(文件名,索引节点)元组。因此,无论何时添加,删除或更改元组,目录的mtime都会更新-也就是说,在目录中(而不是嵌套目录中)添加,删除或重命名任何类型的文件(包括硬链接和目录),这些文件都不同。文件”)。

请注意,当文件的元数据发生更改(所有者,组,模式,atime,ctime,mtime-托管在i-node中)时,mtime不会更新(既不在文件上也不包含dir),但文件的ctime会更新。

另请参阅IEEE标准1003.1-2001的基本定义卷第4.7节“文件时间更新”


1
请注意,这仅适用于直接在相关父目录内部创建的文件(等),而不适用于在父目录下的目录中创建的文件(等)。也许这对其他人来说是显而易见的,但对我而言却不是(我必须测试才能找到答案)。
logidelic '18年

1
@logidelic谢谢,我已经更新了答案以使其更加清晰。
约克(yrk)'18年

在目录中创建新文件时,目录的ctime为什么也会更改?
罗兰先生
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.