我正在使用ls -t
来处理文件的时间顺序,其中ls -t
表示修改时间。
我的问题是:这个选项有多精确? 秒,毫秒还是纳秒?
这取决于所使用的操作系统和文件系统,所以没有明确的环境,没有明确的答案。
例如,FAT12 / 16/32的创建时间戳分辨率为10ms,但修改时间戳分辨率仅为2s。 所以即使操作系统支持更高的定时器分辨率(很可能;-),也不会得到比这个2s分辨率更精确的时间戳。
另一方面,如果你的文件系统具有1纳秒的时间戳分辨率(如ext4,btrfs,XFS或ZFS),但是你的操作系统内核的定时器只有1毫秒的分辨率,这也是限制因素,你不会得到更精确的比1毫秒。
有关某些文件系统分辨率的列表,请参阅维基百科文章“文件系统的比较” 。 这是不完整的,只列出了可能会误导的最大分辨率,可以看出与FAT12 / 16/32具有不同的分辨率创建(10毫秒)和修改(2s)时间戳。