Filesystems
確定文件系統時間戳精度
文件時間戳精度限制為 EXT3 為一秒,UFS 為一微秒,EXT4 為一納秒(至少根據經驗)。有沒有辦法僅根據文件系統資訊來確定這一點?
我能想到的 hacky 替代方法是將我所有的單元測試限制在幾秒鐘內(我現在這樣做),或者限制在
touch
一堆文件中並檢查stat -c %x
.
據我所知,這些資訊沒有儲存在任何地方。它被編碼到文件系統中。但是,您可以手動列出文件系統和相應的精度。我會使用一個
case
語句來根據您的文件系統列表測試文件系統 ID。您可以設置預設值 1,因為很少有精度小於 1 秒的範例。舊版本的 FAT 和目前版本的 zip 使用我在網上閱讀的 2 秒時間戳精度。但是,我建議您進行事實檢查。
您可以使用以下命令獲取文件的 filsystem 的 id。
stat -f --format="%t" $file