/bin/ls 输出与手册页不匹配

/bin/ls 输出与手册页不匹配

ls手册页说:

List  information  about  the FILEs (the current directory by
default).  Sort entries alphabetically if none of -cftuvSUX nor --sort
is specified.

-a, --all    do not ignore entries starting with .

-1     list one file per line.

/bin/ls -a1

按文件名的字母顺序列出条目,并.删除所有前导字符,但不按字母顺序排列。

sort命令的作用相同。

有没有什么办法可以以ls正常方式工作(.首先使用文件 - 也不是按字母顺序排列的)?

答案1

该顺序由您所在地区的排序顺序决定。

例如在我的默认语言环境中(即en_CA.UTF-8

$ ls -A1
a
.b
c

而在C本地

$ LC_COLLATE=C ls -A1
.b
a
c

(我使用-A而不是-a来消除...目录)。


获得所需顺序的另一种方法可能是使用-v(版本排序)选项,如使用 ls 对隐藏文件和目录进行分组- 尽管这并非它的真正目的:

  -v     natural sort of (version) numbers within text

由于ls您的文件内部几乎肯定已经有别名.bashrc,因此您可以简单地修改那里的别名以包含-v

相关内容