Linux 中显示文件创建时间 的 DEBUGFS 命令


DEBUGFS 命令是 Linux 中一个强大的实用程序,它允许访问块设备的文件系统。它的一个显著特点是能够揭示文件的创建时间,而这在使用普通的 Linux 命令时很难获得。此信息存储在一个称为 inode 的数据结构中,该结构包含有关文件的多方面细节,包括其创建时间。

要使用 DEBUGFS 命令获取数据,需要访问文件的 inode 并提供文件系统的全面视图。此命令有助于识别文件的 inode 号,随后可将其用于揭示文件的创建时间。了解文件的创建时间在取证调查或尝试解决系统问题时可能非常有价值。

本质上,DEBUGFS 命令提供了一种检查和调整块设备文件系统的方法,提供了通常无法通过标准 Linux 命令访问的文件的详细见解。通过访问文件的 inode,DEBUGFS 命令使用户能够检索文件的创建时间,这在各种情况下(例如取证调查或系统故障排除)都可能是有利的。

步骤 1 在 Linux 中查找文件创建时间

要在基于 Linux 的操作系统(包括 crtime)上查找文件的创建日期和时间,我们可以使用“stat”命令。为此,我们必须首先通过对我们感兴趣的文件执行“stat”命令来找到文件的 inode,让我们以“example.txt”作为示例文件名。

此命令将显示有关该文件的详细信息。我们可以在下一步了解如何查找 inode 号,并且它用于获取您提到的特定文件的 crtime。以下是如何查找文件创建日期和时间的输入命令

stat -c %w example.txt

命令“stat -c %w example.txt”以 YYYY-MM-DD HH:MM:SS 格式显示该文件的创建时间。以下是一个示例输出

2022-10-21 15:42:57

此输出显示文件名为“example.txt”,创建于 2022 年 10 月 21 日 15:42:57。但是,输出格式可能因系统设置和区域设置而异。通过执行此命令,我们可以获取 Linux 系统中任何文件的日期和时间。

步骤 2 − 查找文件的 inode 号

要访问基于 Unix 的操作系统上的文件,我们需要它的 inode 号——每个文件和目录的唯一标识符。我们可以使用终端中的“ls -i”命令查找 inode 号,该命令列出当前目录中的文件以及它们的 inode 号。或者,我们可以使用“stat”命令来检索有关文件的详细信息,并且还包括其 inode 号。一旦我们有了 inode 号,我们就可以使用它对文件执行各种操作,例如复制、移动或访问其内容。

要查找任何文件的 inode 号,您需要访问存储该文件的目录。

执行以下命令

ls -i <file_name>

要查找文件的 inode 号,例如,如果要查找当前目录中名为“example.txt”的文件的 inode 号,则键入“ls -i example.txt”。输出将显示您要检查的第一个 inode 号,以及其名称和其他信息。

ls -i example.txt

这将显示文件的 inode 号作为输出中的第一项,如下面的输出所示。

1234567 example.txt

在此输出中,您可以看到文件名和 inode 号“example.txt”为 1234567。

步骤 3 使用 DEBUGFS 命令显示文件创建时间

要在 Linux 中显示文件创建时间,步骤 2 涉及使用 DEBUGFS 命令,该命令提供了一个用于与文件系统交互的命令行界面。首先,我们需要使用“df”命令找到文件所在的 文件系统。然后,我们可以使用“debugfs”命令,后跟“-R”标志,以及文件系统设备的路径,以指定要运行的命令。“stat”命令将显示文件属性,包括以 Unix 时间戳格式表示的创建时间。我们可以使用“date”命令将 Unix 时间戳转换为人类可读的格式,后跟“-d”标志以及 Unix 时间戳。

“debugfs”命令的语法

sudo debugfs -R 'stat <inode_number>' /dev/<block_device>

将<inode_number>替换为您要检查的文件的实际 inode 号,并将替换为包含您要检查的文件系统的实际块设备。要查找块设备,可以使用 df 命令,该命令显示有关已挂载文件系统的信息。

例如,要显示块设备 /dev/sda1 上的文件“example.txt”(inode 号为 1234567)的创建时间,您将运行以下命令

sudo debugfs -R 'stat <1234567>' /dev/sda1

这将显示有关文件的详细信息,包括其创建时间。创建时间列为“crtime”。

以下是一个示例输出

debugfs 1.42.9 (28-Dec-2013)
Inode: 1234567   Type: regular    Mode:  0644   Flags: 0x0   Generation: 123456789
User:     0   Group:     0   Size: 0
File ACL: 0    Directory ACL: 0
Links: 1   Blockcount: 0
Fragment:  Address: 0    Number: 0    Size: 0
ctime: 0x5d4090bb -- Wed Jul 31 14:28:27 2019
atime: 0x5d4090bb -- Wed Jul 31 14:28:27 2019
mtime: 0x5d4090bb -- Wed Jul 31 14:28:27 2019
crtime: 0x5d4090bb -- Wed Jul 31 14:28:27 2019
Size of extra inode fields: 28

结论

总而言之,DEBUGFS 命令是 Linux 中一个强大的工具,用于访问和显示文件系统信息,包括文件创建时间。了解如何使用此命令使用户能够识别文件系统、显示文件属性并将 Unix 时间戳转换为人类可读的格式。查看文件创建时间可用于取证调查、故障排除和审计,提供有关文件历史记录和年龄的重要信息。掌握 DEBUGFS 命令对于系统管理员、开发人员以及任何处理文件系统的人员来说都是一项宝贵的技能,它提供了对 Linux 文件系统的更大控制和见解,从而实现优化的工作流程和提高的生产力。

更新于: 2023-07-26

350 次浏览

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告
© . All rights reserved.