l0b*_*0b0 7 filesystems timestamps
EXT3 的文件时间戳精度限制为 1 秒,UFS 为 1 微秒,EXT4 为 1 纳秒(至少根据经验)。有没有办法仅根据文件系统信息来确定这一点?
我能想到的 hacky 替代方案要么是将我所有的单元测试限制在几秒钟内(我现在这样做),要么touch是一堆文件并检查stat -c %x.
小智 6
据我所知,没有地方存储这些信息。它被编码到文件系统中。但是,您可以手动制作文件系统列表和相应的精度。我会使用一个case语句来根据您的文件系统列表测试文件系统 ID。您可以将默认值设为 1,因为很少有精度小于 1 秒的示例。
旧版本的 FAT 和当前版本的 zip 使用我在线阅读的 2 秒时间戳精度。但是,我建议您对此进行事实检查。
您可以使用以下命令获取文件的文件系统的 id。
stat -f --format="%t" $file
Run Code Online (Sandbox Code Playgroud)