ctime, mtime, 存放目录, windows, linux
Posted
技术标签:
【中文标题】ctime, mtime, 存放目录, windows, linux【英文标题】:ctime, mtime, holding directory, windows, linux 【发布时间】:2012-07-16 03:18:06 【问题描述】:让我们一劳永逸地澄清这一点。我尝试用谷歌搜索,但似乎无法在一个地方找到此信息。
创建或删除文件时,保存目录 mtime 在 Windows 和 Linux 上都会发生变化。 ctime 在 Linux bot 上也会发生变化,而不是在 Windows 上,因为 ctime 是创建时间。
如果文件被重新打开并写入,保存目录不会改变。但是,在 Windows 和 Linux 上,文件 mtime 都会发生变化,在 Linux 上,ctime 也会发生变化,在 Windows 上,ctime 是创建时间。
这是正确的吗?有什么注意事项?是否有例外,比如 Windows 网络共享?还是桑巴?
编辑:那些投票关闭此主题的人,请在您认为这是主题的网站上发表评论。 *** 上有大量的 mtime/ctime 问题,仅仅因为我没有包含依赖这些知识的 php sn-ps 并不意味着没有:/
【问题讨论】:
如果我没记错的话,只有当你的编辑器保存功能首先删除文件a然后重新创建它时,ctime才会改变。如果你只是打开文件覆盖,那么ctime不会改变,只有mtime。 Linux 有 X 文件系统,我可以想象它们都可以(稍微或完全)不同地做到这一点。不,即使你愿意,你也不能一劳永逸地澄清这一点。 IT 不是这样工作的。 这就像说getdents
在不同的文件系统上的返回值略有不同。当然,这也有语义和期望。
【参考方案1】:
这样想:
目录是一个文件,其中包含指向文件的指针(或“链接”)。
至此:
更改文件的内容不会影响目录(除非文件先被删除,然后以相同的名称再次创建,如 Gabor 所述Garami 以上)
添加、删除或重命名文件将更改目录文件的内容这将导致其 ctime/mtime 发生更改,如您所描述的,具体取决于操作系统
【讨论】:
我知道它是什么应该,但这不是问题......我们在谈论Windows,对吗? 好吧,在这种情况下,我们谈论的是哲学而不是科学……我猜每个 Windows 版本都会有自己的行为。建议您离开这条路线,寻找完全不同的解决方案。 我所追求的是“是的,这是预期的行为,有没有人看到不同的?”并且答案看起来像“实际上通过 Netware 286 进行 Windows ME 网络...”以上是关于ctime, mtime, 存放目录, windows, linux的主要内容,如果未能解决你的问题,请参考以下文章