如何使用 ls 先用符号对目录内容进行 ascii 排序,然后按字母顺序排序

How to use ls to ascii sort directory contents with symbols first then alphabetically

我想使用 ls 命令对目录进行排序,但组织结果类似于 Windows,文件名或目录名以符号开头 - 或者像 [=3= 中的顺序].

现在我得到:

$ /bin/ls -al

total 16
drwxrwxr-x.  2 yasi  yasi   4096 Jan  7 13:58 .
drwxrwxrwt. 18 root root 12288 Jan  7 14:50 ..
-rw-rw-r--.  1 yasi  yasi      0 Jan  7 13:23 abc
-rw-rw-r--.  1 yasi  yasi      0 Jan  7 13:23 bac
-rw-rw-r--.  1 yasi  yasi      0 Jan  7 13:23 _bac
-rw-rw-r--.  1 yasi  yasi      0 Jan  7 13:58 ~bbc
-rw-rw-r--.  1 yasi  yasi      0 Jan  7 13:23 #bca
-rw-rw-r--.  1 yasi  yasi      0 Jan  7 13:23 cab

我要:

drwxrwxr-x.  2 yasi  yasi   4096 Jan  7 13:58 .
drwxrwxrwt. 18 root root 12288 Jan  7 14:50 ..
-rw-rw-r--.  1 yasi  yasi      0 Jan  7 13:23 #bca
-rw-rw-r--.  1 yasi  yasi      0 Jan  7 13:23 _bac
-rw-rw-r--.  1 yasi  yasi      0 Jan  7 13:23 abc
-rw-rw-r--.  1 yasi  yasi      0 Jan  7 13:23 bac
-rw-rw-r--.  1 yasi  yasi      0 Jan  7 13:23 cab
-rw-rw-r--.  1 yasi  yasi      0 Jan  7 13:58 ~bbc

您需要在 shell 中设置语言环境。尝试以下操作:

export LC_ALL="C"

这将根据您的需要进行排序。

您可以使用命令locale验证当前设置。