`ls -l` 对文件进行排序是否不直观?

`ls -l` 对文件进行排序是否不直观?

让我解释一下考虑到以下输出ls -l met*

% ll met*
-rw-rw-r--. 1 polemon polemon  20K 09-20 04:24 met_gs.png
-rw-rw-r--. 1 polemon polemon  20K 09-20 04:26 met_idx.png
-rw-rw-r--. 1 polemon polemon 3.9K 09-20 04:28 met_mon.png
-rw-rw-r--. 1 polemon polemon  35K 09-20 04:23 met.png

如您所见,我有四个文件,全部以单词 开头met,然后是后缀。

正如您所看到的,其中最短的met.png显示在最后一行。

我认为发生这种情况是因为按字典顺序,“_”位于“.”之前。然而,这仍然感觉不对。有没有一种方法可以ls以更直观的字典顺序制作这样的打印文件列表,如下所示:

met.png
met_gs.png
met_idx.png
met_mon.png

我的版本ls是:»ls (GNU coreutils) 8.24«

我的区域设置是 en_US.utf8

答案1

你可以用ls -lv这个,-l长列表在哪里并且-v是自然排序

root@vps60508:~# ls -l
total 0
-rw-r--r-- 1 root root 0 Sep 19 23:00 met_gs.png
-rw-r--r-- 1 root root 0 Sep 19 23:01 met_idx.png
-rw-r--r-- 1 root root 0 Sep 19 23:01 met_mon.png
-rw-r--r-- 1 root root 0 Sep 19 23:01 met.png
root@vps60508:~# ls -lv
total 0
-rw-r--r-- 1 root root 0 Sep 19 23:01 met.png
-rw-r--r-- 1 root root 0 Sep 19 23:00 met_gs.png
-rw-r--r-- 1 root root 0 Sep 19 23:01 met_idx.png
-rw-r--r-- 1 root root 0 Sep 19 23:01 met_mon.png

相关内容