目录上次修改日期


80

想知道目录的上次修改日期何时更改。我修改了特定目录中的文件(通过FTP),但目录的LMD不变。应该如何运作?

Answers:


125

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

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


2
修改子目录后会修改吗?
Flimm 2013年

6
@Flimm:这取决于对子目录的修改的性质。如果将文件添加到子目录或从子目录中删除,则否。如果重命名了子目录,则为是(因为新名称存储在保存该子目录的目录中,所以“真正”更改的是主目录中的条目,而子目录中没有任何更改)。
乔纳森·莱夫勒

7
@Asmageddon:如果对某个内容进行了多个级别的修改,则无法从目录的修改时间知道几个级别。想想这将带来什么-最终,无论何时在任何地方修改任何文件,都必须修改根目录,从而使其内存中的inode成为对任何文件执行任何操作的每个进程的热点。
Jonathan Leffler 2014年

5
@ cram2208:Gedit是否在目录中创建备份文件,锁定文件或类似的文件?如果您使用touch somefile而不是gedit怎么办?
乔纳森·勒夫勒

3
@JonathanLeffler我应该说好的见解,现在我完全了解发生了什么。它是目录中的备份文件,而不是文件本身的修改。在文件上使用touch时,它实际上更改了文件的LMD,但未更改目录的LMD。要更小心那些细节...
cram2208 '17

28

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


1
修改子目录后会修改吗?
Flimm 2013年

1
@Flimm似乎只更新包含目录的mtime,否则它将冒泡到根目录。
尼克·韦弗

1
出于兴趣,哪些编辑器允许您直接打开目录?大部分(甚至edcat)似乎都在抱怨,或者提供了要打开的文件列表。
naught101年

@ naught101 vim会很高兴地打开一个目录。
以太

5
@Ether:它不像实际读取目录的inode数据(或其他文件系统上的等效文件)那样“打开目录”。它只是为该目录提供文件浏览器。
naught101 '17
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.