在 Linux 系統中,一切都被視為一個文件,關於文件的關鍵元數據(例如創建和修改日期)存儲在 inode 中。 我們已經研究瞭如何使用 stat、httpie 和 date 命令在 Linux 系統中檢查文件的最後修改日期。
在本教程中,我們將向您展示如何使用 debugfs 命令查找文件創建時間。
使用 debugfs 查找文件創建
要獲取創建時間,首先需要使用 stat 命令查找目標文件的 inode 編號。 這 統計命令 是一個命令行工具,用於打印有關文件元數據的詳細信息,例如:
- 文件大小
- 節點數
- 文件的 UID 和 GID
- 輸入/輸出塊
- 訪問、修改和更改時間。
您可以使用基本形式的 stat 命令來使用以下語法檢查文件的 inode 編號:
$ stat filename
為了 example:
$ stat file1.txt
該命令為我們提供了文件的 inode 編號 ‘文件1.txt‘ 作為 1078474. 要跳過所有其他信息並僅顯示 inode 編號,請使用以下語法:
$ stat -c %i file_name
為了 example:
$ stat -c %i file1.txt

獲得 inode 編號後,您可以使用 debugfs 命令使用顯示的語法輕鬆獲取文件創建時間:
$ sudo debugfs -R 'stat <inode number>' DEVICE
DEVICE 代表文件所在的塊設備 example /dev/sda1、/dev/sda2 等。要檢查塊設備,請運行以下命令:
$ lsblk
因此,使用我們之前獲得的 inode 編號,命令將是:
$ sudo debugfs -R 'stat <1078474>' /dev/sda

創建時間以指令為前綴 時間: 如上面的輸出所示。 我們可以看到該文件是在 2019 年 12 月 13 日星期五 01:39:18 小時創建的。
或者,您可以將完整路徑傳遞給文件,而不是指定 inode 編號,如下所示:
$ sudo debugfs -R 'stat /home/winnie/file1.txt' /dev/sda1
上述命令將產生與使用 inode 編號時相同的結果。
結論
本教程到此結束,希望 Linux 有一個直接的命令來查找文件創建時間。 這裡我們使用了 debugfs 命令來檢查文件的創建時間。