Điều đó rất nhiều phụ thuộc vào việc ls
thực hiện. Trong số 4 cái được tìm thấy trên hệ thống GNU / Linux tại đây:
$ 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
, một trong dự án GNU (từ bộ sưu tập GNU coreutils ). Đó là cái thường thấy trên các hệ thống GNU như hạt nhân Debian (Linux hoặc kFreeBSD), Cygwin hoặc Fedora.
$ gnu-ls -rt
a c b
Các ls
từ Heirloom Toolchest , một cổng của các công cụ OpenSolaris:
$ heirloom-ls -rt
a b c
Các ls
từ bộ sưu tập của AT & T mã nguồn mở , có thể xây dựng trong ksh93
. Một số khác có khá nhiều tiện ích mở rộng lạ mắt:
$ 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 (như được tìm thấy (hoặc một dẫn xuất) trên hầu hết các hệ thống dựa trên Linux (thường được nhúng):
$ busybox ls -rt
c b a
Vì vậy, trong số đó, GNU và ast ls
xem xét phần thứ hai. Những cái khác rơi vào so sánh từ vựng cho các tệp được sửa đổi lần cuối trong cùng một giây. Chỉ bận rộn ls
danh dự -r
đó.
Trong các thử nghiệm của tôi, FreeBSD ls
cũng hỗ trợ độ chính xác dưới giây (miễn là chúng được bật ở cấp độ VFS, xem vfs.timestamp_precision
sysctl).
zsh
Sự ảm đạm (với om
vòng loại toàn cầu để sắp xếp thời gian sửa đổi, Om
cho thứ tự ngược lại) cũng mất toàn thời gian:
$ echo *(Om)
a c b
[ file1 -nt file2 ]
, nơi được hỗ trợ cũng thường hỗ trợ mức độ chi tiết phụ thứ hai .