我在文件上使用了“touch”,更新了文件的时间戳,但父目录的时间戳没有改变。但是,(正如预期的那样)当我在父目录中创建新文件时,目录的时间戳确实发生了变化。
类UNIX操作系统(特别是AIX)使用什么标准来确定何时更新目录的时间戳?
答案 0 :(得分:30)
当代表目录的数据发生更改时,时间戳会更新。目录D的子目录中的更改不会更改D表示中的任何内容,因为D仅指向子目录,而不指向其中的内容。另一方面,在D中创建文件会更改代表D的磁盘上的数据块。
答案 1 :(得分:16)
更改目录本身时,目录的时间戳会更改。该目录包含目录中文件的inode列表,因此当您通过添加或删除文件来更改目录的内容时,将更新目录时间戳。
答案 2 :(得分:0)
您可以使用stat命令查找文件/目录的修改时间,创建时间等。 请参阅https://linux.die.net/man/2/stat
文章指出: 通过创建或删除该目录中的文件来更改目录的st_mtime。对于所有者,组,硬链接计数或模式的更改,不会更改st_mtime字段。
答案 3 :(得分:0)
如果目录中有任何文件/目录的添加或删除,则目录被视为已更改。如果现有文件/目录仅在更新,则父目录时间戳不会更改。