【发布时间】:2012-07-16 03:18:06
【问题描述】:
让我们一劳永逸地澄清这一点。我尝试用谷歌搜索,但似乎无法在一个地方找到此信息。
创建或删除文件时,保存目录 mtime 在 Windows 和 Linux 上都会发生变化。 ctime 在 Linux bot 上也会发生变化,而不是在 Windows 上,因为 ctime 是创建时间。
如果文件被重新打开并写入,保存目录不会改变。但是,在 Windows 和 Linux 上,文件 mtime 都会发生变化,在 Linux 上,ctime 也会发生变化,在 Windows 上,ctime 是创建时间。
这是正确的吗?有什么注意事项?是否有例外,比如 Windows 网络共享?还是桑巴?
编辑:那些投票关闭此主题的人,请在您认为这是主题的网站上发表评论。 Stackoverflow 上有大量的 mtime/ctime 问题,仅仅因为我没有包含依赖这些知识的 PHP sn-ps 并不意味着没有:/
【问题讨论】:
-
如果我没记错的话,只有当你的编辑器保存功能首先删除文件a然后重新创建它时,ctime才会改变。如果你只是打开文件覆盖,那么ctime不会改变,只有mtime。
-
Linux 有 X 文件系统,我可以想象它们都可以(稍微或完全)不同地做到这一点。不,即使你愿意,你也不能一劳永逸地澄清这一点。 IT 不是这样工作的。
-
这就像说
getdents在不同的文件系统上的返回值略有不同。当然,这也有语义和期望。
标签: windows unix filesystems ctime filemtime