在我的 linux 系统上,如果我显示当前日期“t1”,请触摸文件“f”,然后显示该“f”的修改时间“t2”,我希望 t1 < t2。
但是当我在我的系统上执行它时,这并不是我总是得到的:
date +'%Y-%m-%d %H:%M:%S.%N'; \
touch f; \
stat -c %y f
Run Code Online (Sandbox Code Playgroud)
示例输出:
2017-09-18 21:47:48.855229801
2017-09-18 21:47:48.853831698 +0200
Run Code Online (Sandbox Code Playgroud)
注意第二个时间戳 (stat) 在第一个 (date) 之前:855229801 > 853831698
我的 fs 是 ext4,但我也尝试在 tmpfs 上使用文件,效果相同。为什么会这样?
谢谢
关于设置的一些信息
% which date
/usr/bin/date
% which touch
/usr/bin/touch
% pacman -Qo /usr/bin/date /usr/bin/touch
/usr/bin/date is owned by coreutils 8.28-1
/usr/bin/touch is owned by coreutils 8.28-1
% uname -a
Linux machine 4.12.12-1-ARCH #1 SMP PREEMPT Sun Sep 10 09:41:14 CEST 2017 x86_64 …
Run Code Online (Sandbox Code Playgroud)