我在 Debian GNU/Linux 6.0 上使用 Bash。是否可以获得文件创建日期/时间?不是修改日期/时间。 ls -lh a.txt
和 stat -c %y a.txt
都只给出修改时间。
原文由 NoodleFolk 发布,翻译遵循 CC BY-SA 4.0 许可协议
我在 Debian GNU/Linux 6.0 上使用 Bash。是否可以获得文件创建日期/时间?不是修改日期/时间。 ls -lh a.txt
和 stat -c %y a.txt
都只给出修改时间。
原文由 NoodleFolk 发布,翻译遵循 CC BY-SA 4.0 许可协议
ls -i file #output is for me 68551981
debugfs -R 'stat <68551981>' /dev/sda3 # /dev/sda3 is the disk on which the file exists
#results - crtime value
[root@loft9156 ~]# debugfs -R 'stat <68551981>' /dev/sda3
debugfs 1.41.12 (17-May-2010)
Inode: 68551981 Type: regular Mode: 0644 Flags: 0x80000
Generation: 769802755 Version: 0x00000000:00000001
User: 0 Group: 0 Size: 38973440
File ACL: 0 Directory ACL: 0
Links: 1 Blockcount: 76128
Fragment: Address: 0 Number: 0 Size: 0
ctime: 0x526931d7:1697cce0 -- Thu Oct 24 16:42:31 2013
atime: 0x52691f4d:7694eda4 -- Thu Oct 24 15:23:25 2013
mtime: 0x526931d7:1697cce0 -- Thu Oct 24 16:42:31 2013
**crtime: 0x52691f4d:7694eda4 -- Thu Oct 24 15:23:25 2013**
Size of extra inode fields: 28
EXTENTS:
(0-511): 352633728-352634239, (512-1023): 352634368-352634879, (1024-2047): 288392192-288393215, (2048-4095): 355803136-355805183, (4096-6143): 357941248-357943295, (6144
-9514): 357961728-357965098
原文由 user2725883 发布,翻译遵循 CC BY-SA 3.0 许可协议
7 回答5.3k 阅读
4 回答4k 阅读
2 回答5.9k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
1 回答2.3k 阅读✓ 已解决
2 回答795 阅读✓ 已解决
2 回答3.2k 阅读
不幸的是,您的任务通常是不可能的,因为 POSIX 标准定义的每个文件只存储了 3 个不同的时间值(请参阅 基本定义部分 4.8 文件时间更新)
编辑:正如下面评论中提到的,根据使用的文件系统,元数据可能包含文件创建日期。但是请注意,此类信息的存储是非标准的。取决于它可能会导致迁移到另一个文件系统的可移植性问题,以防实际使用的文件系统以某种方式存储它。