Filesystems

確定文件系統時間戳精度

  • November 25, 2021

文件時間戳精度限制為 EXT3 為一秒,UFS 為一微秒,EXT4 為一納秒(至少根據經驗)。有沒有辦法僅根據文件系統資訊來確定這一點?

我能想到的 hacky 替代方法是將我所有的單元測試限制在幾秒鐘內(我現在這樣做),或者限制在touch一堆文件中並檢查stat -c %x.

據我所知,這些資訊沒有儲存在任何地方。它被編碼到文件系統中。但是,您可以手動列出文件系統和相應的精度。我會使用一個case語句來根據您的文件系統列表測試文件系統 ID。您可以設置預設值 1,因為很少有精度小於 1 秒的範例。

舊版本的 FAT 和目前版本的 zip 使用我在網上閱讀的 2 秒時間戳精度。但是,我建議您進行事實檢查。

您可以使用以下命令獲取文件的 filsystem 的 id。

stat -f --format="%t" $file

引用自:https://unix.stackexchange.com/questions/11599