可能的重复:如何执行ls,然后按创建日期对结果进行排序?
Linux中是否有命令显示文件的创建时间?我看到
ls -l
给出了上次修改的时间,但是我可以获取创建的时间/日期吗?#1 楼
stat
命令可以输出此-
(破折号)。我猜这取决于您使用的文件系统。 stat
称其为“出生时间”。在我的ext4
fs上它是空的。%w
文件诞生的时间,人类可以读取; -如果未知%W
文件诞生的时间,距离纪元以来的秒数; 0如果未知stat foo.txt
File: `foo.txt'
Size: 239 Blocks: 8 IO Block: 4096 regular file
Device: 900h/2304d Inode: 121037111 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/ adrian) Gid: ( 100/ users)
Access: 2011-10-26 13:57:15.000000000 -0600
Modify: 2011-10-26 13:57:15.000000000 -0600
Change: 2011-10-26 13:57:15.000000000 -0600
Birth: -
评论
如果我们没有安装stat命令并且我无法将stat命令添加到该环境怎么办? bash:统计:找不到命令
–javaPlease42
2014年5月20日16:19
当您提及%w时,您并未说出如何使用它。我建议修改此答案以显示示例命令来获取创建日期(如果默认情况下不包含创建日期)。例如“ stat -c%w文件”
– dsollen
17年7月25日在15:43
很抱歉,但这根本不是正确的答案。我正在查看几天前创建的文件,它向我显示了出生时间是几个小时前。
–维尔默·河内(Wilmer E. Henao)
19年7月24日在14:53
Google告诉我:“标准ext4 Linux文件系统还在其内部文件系统结构中为文件创建时间戳分配了空间,但这尚未实现。有时,该时间戳已被填充,但是您不能依赖于价值。”
– Tgr
20 Jun 15 '13:47
#2 楼
Linux为文件提供了三个时间戳:内容的最后访问时间(atime),内容的最后修改时间(mtime)和inode的最后修改时间(metadata,ctime)。所以,不,你不能。该目录的mtime对应于上一次发生的文件创建或删除。评论
文件创建时间实际上存储在Ext4中,但不能直接访问。参见unix.stackexchange.com/a/50184/8250
– Lekensteyn
13年2月16日在10:02
Linux操作系统和可用于Linux的各种文件系统之间自然存在混淆。您不能就文件系统特有的内容对Linux作一般性陈述。
– LarsH
15年12月18日在15:57
#3 楼
不,没有这样的命令。在Unix中,不存储创建时间(仅用于访问,修改和更改)。评论
总的来说不正确。 Linux中使用的一些常见文件系统不存储创建时间,而其他文件系统可以存储创建时间:请参见unix.stackexchange.com/questions/7562/…
– LarsH
2015年12月18日在16:12
某些文件可能具有记录创建日期/时间的元数据(例如exif)。如果您的所有文件碰巧都是数码照片,则很可能具有此数据。这是使用perl的Image :: ExifTool的示例。
–乔纳森·克罗斯(Jonathan Cross)
17年1月24日在20:45
它主要取决于文件系统,例如ext4文件系统正在存储文件创建日期。
– David FerenczyRogožan
19-10-29在15:28
评论
即使在“ OT”正在要求一种工具来显示此信息的同时,我认为对于程序员来说,在处理更多UNIX-y文件系统时,这也是一件有价值的事情。该命令是sudo debugfs -R'stat / path / to / file'/ dev / sdaX(用文件所在的文件系统的设备名称替换sdaX)。创建时间是crtime的值。您可以添加| grep。[^ ca] time仅列出mtime(修改时间)和crtime(创建时间)。