使用`ls -l`时首先列出以下划线开头的文件

exh*_*uma 4 linux ls ubuntu ubuntu-11.04

我正在使用 ubuntu (natty),当我使用时ls -l,会列出文件,但显然排序算法会忽略任何特殊字符。多年来,我一直使用下划线来标​​记特殊文件夹。在我看来,它们总是排在最前面。

现在,下划线完全被忽略了。

让我们假设我有文件fileA_fileB并且fileC在一个文件夹中。目前,ls -l像这样订购它们:

malbert@dredg:/tmp/1$ ls -l
total 0
-rw-r--r-- 1 malbert domain users 0 2011-08-03 15:27 fileA
-rw-r--r-- 1 malbert domain users 0 2011-08-03 15:27 _fileB
-rw-r--r-- 1 malbert domain users 0 2011-08-03 15:27 fileC
Run Code Online (Sandbox Code Playgroud)

但我希望它按如下方式排序:

malbert@dredg:/tmp/1$ ls -l
total 0
-rw-r--r-- 1 malbert domain users 0 2011-08-03 15:27 _fileB
-rw-r--r-- 1 malbert domain users 0 2011-08-03 15:27 fileA
-rw-r--r-- 1 malbert domain users 0 2011-08-03 15:27 fileC
Run Code Online (Sandbox Code Playgroud)

我翻遍了ls手册页,找不到任何东西。是否有系统范围的collation选项?或者类似的东西?

小智 6

我想它服从LC_COLLATE于你的环境中的设置,或者,在没有那个的情况下,LC_ALL或者LANG取而代之的设置。

根据locale(1)您的环境,该命令应该告诉您程序将看到哪些设置。