Unix:ls -t的时序分辨率是多少?

时间:2014-12-05 12:59:11

标签: linux bash unix ls

我正在使用ls -t按时间顺序处理我的文件,其中ls -t指的是修改时间。

我的问题是:-t选项有多精确?秒,毫秒还是纳秒?

1 个答案:

答案 0 :(得分:3)

这取决于操作系统和使用的文件系统,因此在没有指定精确环境的情况下,没有明确的答案。

例如,FAT12 / 16/32的创建时间戳分辨率为10ms,但修改时间戳分辨率仅为2s。因此,即使操作系统支持更高的计时器分辨率(很可能;-),您也不会获得比这个2s分辨率更精确的时间戳。

另一方面,如果你有一个1纳秒时间戳分辨率的文件系统(如ext4,btrfs,XFS或ZFS),但你的操作系统内核定时器只有1毫秒的分辨率,这又是限制因素,你不会比1毫秒更精确。

有关某些文件系统解决方案的列表,请参阅Wikipedia article "Comparison of file systems"。它没有完整,只列出最大分辨率,这可能会产生误导,因为FAT12 / 16/32可以看到它们具有不同的创建分辨率(10ms)和修改(2s)时间戳。