Itu sangat tergantung pada ls
implementasinya. Dari 4 yang ditemukan pada sistem GNU / Linux di sini:
$ 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
, yang dari proyek GNU (dari koleksi GNU coreutils ). Itu yang biasanya ditemukan pada sistem GNU seperti Debian (Linux atau kernel kFreeBSD), Cygwin atau Fedora.
$ gnu-ls -rt
a c b
Yang ls
dari Heirloom Toolchest , port alat OpenSolaris:
$ heirloom-ls -rt
a b c
The ls
dari koleksi AT & T Open Source , mungkin dibangun di ksh93
. Satu lagi dengan beberapa ekstensi mewah:
$ 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 (seperti yang ditemukan (atau turunan) pada sebagian besar sistem berbasis Linux (umumnya tertanam)):
$ busybox ls -rt
c b a
Jadi, dari mereka, GNU dan ast ls
menganggap bagian kedua fraksional. Yang lain kembali ke perbandingan leksikal untuk file yang terakhir dimodifikasi dalam detik yang sama. Hanya busybox yang ls
menghormati di -r
sana.
Dalam pengujian saya, FreeBSD ls
juga mendukung ketepatan sub-detik (asalkan diaktifkan pada tingkat VFS, lihat vfs.timestamp_precision
sysctl).
zsh
Gumpalan (dengan om
kualifikasi glob untuk memesan pada waktu modifikasi, Om
untuk pesanan terbalik) juga mengambil waktu penuh:
$ echo *(Om)
a c b
[ file1 -nt file2 ]
, di mana didukung juga umumnya mendukung granularity sub-detik .