让我们一劳永逸地澄清这个问题。我试着在谷歌上搜索,但似乎无法在一个地方找到这些信息。
在Windows和Linux上,当文件被创建或删除时,所在目录的修改时间(mtime)会同时改变。在Linux上,更改时间(ctime)也会改变,但在Windows上不会,因为那里的ctime是指“创建时间”。
如果重新打开并写入文件,则所在目录的修改时间(mtime)不会改变。但是,在Windows和Linux上,文件的修改时间(mtime)都会改变,在Linux上,更改时间(ctime)也会改变,而在Windows上,更改时间(ctime)指的是创建时间。
这正确吗?有哪些注意事项?例如在Windows网络共享或Samba中是否有例外情况?
编辑:那些投票将此关闭为“离题”的人,请在评论中说明您认为这个问题应该发布在哪个网站上。在Stackoverflow上有大量关于mtime / ctime的问题,仅因为我没有包含依赖于此知识的PHP片段,就不能将其视为没有相关内容 :/
getdents
在不同的文件系统上有稍微不同的返回值。当然,这个也有语义和期望。 - chx