我刚刚阅读了 的Birth部分,stat似乎 ext4 应该支持它,但即使是我刚刚创建的文件也将其留空。
~ % touch test slave-iv
~ % stat test.pl slave-iv
File: ‘test.pl’
Size: 173 Blocks: 8 IO Block: 4096 regular file
Device: 903h/2307d Inode: 41943086 Links: 1
Access: (0600/-rw-------) Uid: ( 1000/xenoterracide) Gid: ( 100/ users)
Access: 2012-09-22 18:22:16.924634497 -0500
Modify: 2012-09-22 18:22:16.924634497 -0500
Change: 2012-09-22 18:22:16.947967935 -0500
Birth: -
~ % sudo tune2fs -l /dev/md3 | psp4 slave-iv
tune2fs 1.42.5 (29-Jul-2012)
Filesystem volume name: home
Last mounted on: /home
Filesystem UUID: …Run Code Online (Sandbox Code Playgroud) 很长一段时间以来,Linux 都没有为文件创建日期而烦恼,因为它常用的文件系统都不支持它们。但是现在,常用的 2 个文件系统(NTFS 和 ext4)都记录文件创建日期。
stat然而,该命令仍然Birth: -在 ext4 文件系统上输出,即使我们可以看到 ext4 使用debugfs -R 'stat <inode_number>' /dev/file_device.
当我调查这是为什么时,我看到其他人最近已经提交了一份关于它的错误报告,并且响应链接到一个上游问题,该问题只是指出“目前没有 Linux 内核接口来获取该信息 [文件创立日期]”。在我看来,这显然仍然如此,因为人们多年来一直要求stat显示此信息(并且stat确实输出一个Birth字段,即使它显然不支持它!他们是否在预期中添加了它?)
那么目前是否还没有Linux内核接口来获取文件创建日期?有计划实施吗?