对于像EXT4,增加了Btrfs和JFS Linux的新文件系统都支持这一点使用debugfs,有来自here采取一个bash的功能,将提取的日期创建的时间戳:
您可以恢复该文件创建日期,如果你处理能力的文件系统EXT4一样 - 日志文件系统为Linux:
改进时间戳
...的ext4提供了测量的时间戳纳秒。另外,ext4还增加了对日期创建时间戳的支持。 但是在社区中没有共识,因此
...正如Theodore Ts'o所指出的那样,虽然在inode中添加额外的创建日期字段是很容易的(因此技术上支持日期创建ext4中的时间戳),修改或添加必要的系统调用(如stat()(可能需要新版本)以及依赖它们的各种库(如glibc)更加困难。这些变化需要协调许多项目。因此,即使ext4开发人员实现对创建日期时间戳的初始支持,此功能目前也不会提供给用户程序。 以Linus最终报价结束
让我们等待五年,看看是否真的需要和使用共识,而不是因为“我们可以”而匆忙进入某种东西。 xstat() {
for target in "${@}"; do
inode=$(ls -di "${target}" | cut -d ' ' -f 1)
fs=$(df "${target}" | tail -1 | awk '{print $1}')
crtime=$(sudo debugfs -R 'stat ' "${fs}" 2>/dev/null |
grep -oP 'crtime.*--\s*\K.*')
printf "%s\t%s\n" "${crtime}" "${target}"
done
}
运行它返回的创建日期: :~$ echo 'print("hello world")' > blah.py
:~$ xstat "blah.py"
Mon Jul 6 13:43:39 2015 blah.py
:~$ echo 'print("goodbye world")' > blah.py
:~$ xstat "blah.py"
Mon Jul 6 13:43:39 2015 blah.py
所以,除非文件系统支持的话那么它是不可能的,如果该文件系统,那么你可以使用子进程运行debugfs和解析输出。