2010-09-01 110 views
65

我想知道目录最后修改日期何时更改。我修改了一个特定目录内的文件(通过FTP),但目录的LMD没有改变。它是如何运作的?目录最后修改日期

回答

104

在添加,删除或重命名文件或子目录时,目录本身上的mtime(修改时间)会发生更改。

修改目录中文件的内容不会更改目录本身,也不会更新文件或子目录的修改时间。如果更改目录的权限,则ctime会更改,但mtime不会更改。

+2

修改子目录时是否修改? – Flimm 2013-09-30 09:42:05

+6

@Flimm:它取决于修改子目录的性质。如果文件被添加到子目录或从子目录中删除,则不。如果子目录被重命名,那么是(因为新名称存储在保存子目录的目录中,所以真正改变的是主目录中的条目,而子目录中没有任何更改)。 – 2013-09-30 13:02:16

+1

@JonathanLeffler有没有办法递归地知道某些事情发生了变化,即使200级内存在下降? – Llamageddon 2014-10-28 16:10:29

24

目录就像一个文件,其中包含文件名列表(实际上,您可能在编辑器中意外打开了一个目录,您可以在其中看到它是其内容的大部分可读列表) - 因此在添加,删除或重命名该目录中的文件时会对其进行修改。

+1

修改子目录时是否修改? – Flimm 2013-09-30 09:41:16

+1

@Flimm它似乎只更新包含目录的mtime,否则会冒泡到根目录。 – 2014-07-02 11:54:04

+0

出于兴趣,哪些编辑器允许您直接打开目录?大多数(甚至是'ed'和'cat')似乎都在抱怨,或者提供一个文件列表来打开。 – naught101 2017-06-07 01:15:51