日期按什么顺序排列?当然不是字母数字顺序。
ls -lt按修改时间排序。但我需要创作时间。
我刚刚阅读了 的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 上是否有任何(众所周知的、可靠的)文件系统将文件和目录的创建时间存储在 i-node 表中?
如果有,“更改”时间是否被 stat 调用中的 i-node 的创建时间替换?
如何至少在几天内获得给定文件的年龄?
我很清楚ls -lh和类似的命令。我想要一些像这样工作的东西:
getfage <FILE> # prints out '12d' (12 days)
Run Code Online (Sandbox Code Playgroud)
此外,这需要有点跨平台,因为我也想在 Mac OS X 下使用它,但主要用例是在我的 Linux 盒上。
笔记
由于 Linux 不跟踪创建时间,我正在寻找两种解决方案:一种用于mtime (linux)——这是最后一次修改所述文件——另一种用于 Mac OS X,它可以处理mtime或创建时间。
如何更改文件创建时间?我尝试使用“touch”命令,但它只更改最后修改时间 - 它不会更改第一个日期 - 创建日期。(通过'stat'检查后,它仍然显示原始文件创建日期)
有没有办法做到这一点?
提前致谢