При использовании `ls -l` список файлов начинается с подчеркивания

4

Я использую 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

Но я бы хотел, чтобы это было отсортировано следующим образом:

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

Я вырыл ls man page и ничего не смог найти. Есть ли где-то общесистемный collation вариант? Или что-то подобное?

exhuma
источник
Вы уверены, что у вас нет чего-то вроде alias ls='ls -U' в вашем скрипте запуска?
jfg956

Ответы:

6

Я полагаю, что это соответствует настройке LC_COLLATE в вашей среде или, в отсутствие этого, настройка LC_ALL или же LANG вместо.

locale(1) Команда должна сказать вам, какие настройки увидит программа, учитывая вашу среду.

TomH
источник
Да. настройка LC_COLLATE в C починил это. Огромное спасибо :)
exhuma