Это очень сильно зависит от lsреализации. Из этих 4 найденных в системе GNU / Linux здесь:
$ touch a; touch c; touch b; stat -c %y a c b
2018-01-10 12:52:21.367640342 +0000
2018-01-10 12:52:21.371640148 +0000
2018-01-10 12:52:21.375639952 +0000
GNUls , один из проекта GNU (из коллекции coreutils GNU ). Это обычно встречается в системах GNU, таких как Debian (ядра Linux или kFreeBSD), Cygwin или Fedora.
$ gnu-ls -rt
a c b
lsОт семейной реликвии Toolchest , порт инструментов OpenSolaris:
$ heirloom-ls -rt
a b c
lsИз коллекции AT & T Open Source , возможно , построен в ksh93. Еще один с несколькими необычными расширениями:
$ ast-ls -rt
a c b
$ PATH=/opt/ast/bin:$PATH ksh93 -c 'type ls; ls -rt'
ls is a shell builtin version of /opt/ast/bin/ls
a c b
busybox (как найдено (или производное) в большинстве (обычно встроенных) Linux-систем):
$ busybox ls -rt
c b a
Итак, из них GNU и ast lsрассматривают дробную вторую часть. Другие прибегают к лексическому сравнению для файлов, которые были изменены в последнюю секунду. Только busybox lsчтит -rтам.
В моих тестах FreeBSD lsтакже поддерживает точность до секунды (при условии, что они включены на уровне VFS, см. vfs.timestamp_precisionSysctl).
zshГлобусы (с классификатором глобуса omдля заказа по времени модификации, Omдля обратного порядка) также занимают полное время:
$ echo *(Om)
a c b
[ file1 -nt file2 ]где поддерживается также, как правило, поддерживают субсекундную гранулярность .