ls -l
ファイルの修正タイムスタンプ(最大秒)のみを表示します。両方のファイルの秒単位のタイムスタンプが同じですが、正確に同時に変更されていない場合、ls -lt
ファイルは正確なmtimeの順序で並べ替えられるか、またはほぼmtimeの秒単位の順序でのみソートされます(したがって、ファイル間の順序はランダムになる可能性があります)。
ベストアンサー1
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
牛に似た一種の栄養
ls
、GNUプロジェクトのもの(GNUコアツール集める)。これは、Debian(LinuxまたはkFreeBSDカーネル)、Cygwin、またはFedoraなどのGNUシステムで一般的です。$ gnu-ls -rt a c b
ls
~から家宝ツールボックス、OpenSolarisツールのポート:$ heirloom-ls -rt a b c
ls
~からAT&Tオープンソースコレクション、おそらく組み込まれているでしょう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
2番目の部分の小数部分を考慮します。他の人は、同じ秒以内に最後に変更されたファイルの語彙比較を実行します。 Busyboxだけがそこをls
尊重します-r
。
私のテストでは、FreeBSDはls
1秒未満の精度もサポートしています(VFSレベルで有効になっている場合はvfs.timestamp_precision
sysctlを参照)。
zsh
glob(逆の順にom
glob修飾子を使用して修正時間でソートされますOm
)にも時間がかかります。
$ echo *(Om)
a c b