如何使用debugfs找到Linux文件创建时间

时间:2020-03-05 15:26:47  来源:igfitidea点击:

在Linux系统中,一切都像文件一样对待,并且关于创建和修改日期的文件中的重要元数据存储在inode中。
我们已经查看了如何使用stat,httpie和date命令检查Linux系统中的文件的最后修改日期。

在本教程中,我们将向我们展示如何使用debugfs命令查找文件创建时间。

使用debugfs查找文件创建

要获取创建时间,首先需要使用stat命令查找目标文件的inode号。
stat命令是用于打印有关文件元数据的详细信息的命令行工具,例如:

  • 文件大小
  • inode号码
  • uid&gid文件
  • I/O块
  • 访问,修改和更改时间。

我们可以使用其基本表单使用stat命令以使用语法检查文件的inode号:

$stat filename

例如:

$stat file1.txt

该命令为我们提供了文件'file1.txt'为1078474的inode号码。
要跳过所有其他信息,只需单独显示inode号码,使用语法:

$stat -c %i file_name

例如:

$stat -c %i file1.txt

有inode号后,我们可以使用显示的语法继续使用debugfs命令轻松获取文件创建时间:

$ sudo debugfs -R 'stat <inode number>' DEVICE

该设备表示文件所在的块设备,例如/dev/sda1,/dev/sda2等,以检查块设备运行命令:

$lsblk

使用我们之前获得的inode号码,因此命令将是:

$ sudo debugfs -R 'stat <1078474>' /dev/sda

创建时间由指令CRTime前缀:如上所述输出所示。
我们可以看到该文件是在2019年12月13日在01:39:18 HRS创建的。

或者,不是指定inode号码,我们可以将完整路径传递给文件,如图所示:

$ sudo debugfs -R 'stat /home/winnie/file1.txt' /dev/sda1

上面的命令将产生与使用inode号码时的结果相同的结果。