Bash 设置文件';时间到了';s现代Linux文件系统上的当前mtime

Bash 设置文件';时间到了';s现代Linux文件系统上的当前mtime,bash,timestamp,filesystems,btrfs,Bash,Timestamp,Filesystems,Btrfs,现代文件系统,如ext4或btrfs功能,除了标准的atime、ctime和mtime,还有一个附加的创建时间戳crtime,有时也称为出生时间btime或otime 虽然它还没有在五月份的程序中使用,但我想用它来跟踪我的文件的原始创建时间。(这样,如果文件被修改,我仍然可以使用原始日期) 问题是,所有文件都是最近复制到其位置的,因此所有文件都具有最近的crtime。在这里可以看到stat命令的输出。修改后的时间正确地位于2003年,但出生时间是今天: $ stat example.txt

现代文件系统,如
ext4
btrfs
功能,除了标准的
atime
ctime
mtime
,还有一个附加的创建时间戳
crtime
,有时也称为出生时间
btime
otime

虽然它还没有在五月份的程序中使用,但我想用它来跟踪我的文件的原始创建时间。(这样,如果文件被修改,我仍然可以使用原始日期)

问题是,所有文件都是最近复制到其位置的,因此所有文件都具有最近的
crtime
。在这里可以看到
stat
命令的输出。修改后的时间正确地位于2003年,但出生时间是今天:

$ stat example.txt
  File: example.txt
  Size: 367474      Blocks: 720        IO Block: 4096   regular file
Device: 7bh/123d    Inode: 511730      Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/   user)   Gid: ( 1000/   user)
Access: 2021-05-06 15:03:04.292524601 +0200
Modify: 2003-12-19 19:58:49.000000000 +0100  <-- copy this...
Change: 2021-05-06 17:26:56.436472569 +0200
 Birth: 2021-05-06 15:03:04.292524601 +0200  <- ... to here 
$stat example.txt
文件:example.txt
大小:367474块:720 IO块:4096常规文件
设备:7bh/123d索引节点:511730链接:1
访问:(0644/-rw-r--r--)Uid:(1000/用户)Gid:(1000/用户)
访问:2021-05-06 15:03:04.292524601+0200

修改:2003-12-19 19:58:49.000000000+0100在处理debugfs时可能会有所帮助。我希望避免使用
debugfs
,直接从挂载的fs执行所有操作。但我越是深入研究它,似乎
crtime
真的很难修改,而且在复制或移动到另一个分区的过程中会得到更新。。。所以,尽管它的名字和看似完美的用例,我可能必须找到另一种方法来跟踪文件修改之前的时间。