Есть ли способ установить порядок сортировки файлов и каталогов при использовании ll
команда? Я имею два 16.04.5 сервера с два ext4
диски. Одна папка существует на обоих дисках, содержащих те же файлы. При использовании ll
на обоих серверах порядок сортировки не является тем же (ls -l
имеет тот же результат):
ll
на сервере a:
Alex.txt
iBoy.txt
Immatriculation.txt
Radius.txt
WonderWoman.txt
ll
на сервере b:
Alex.txt
Immatriculation.txt
Radius.txt
WonderWoman.txt
iBoy.txt
Таким образом, различием является файл iBoy.txt
. Есть ли способ выяснить, почему этот файл не расположен между Alex.txt
и Immatriculation.txt
как на сервере a?
РЕДАКТИРОВАНИЕ 1:
Согласно просьбе вот локали обеих систем.
locale
на сервере a:
LANG=de_DE.UTF-8
LANGUAGE=
LC_CTYPE="de_DE.UTF-8"
LC_NUMERIC=de_DE.UTF-8
LC_TIME="de_DE.UTF-8"
LC_COLLATE="de_DE.UTF-8"
LC_MONETARY=de_DE.UTF-8
LC_MESSAGES="de_DE.UTF-8"
LC_PAPER=de_DE.UTF-8
LC_NAME=de_DE.UTF-8
LC_ADDRESS=de_DE.UTF-8
LC_TELEPHONE=de_DE.UTF-8
LC_MEASUREMENT=de_DE.UTF-8
LC_IDENTIFICATION=de_DE.UTF-8
LC_ALL=
locale
на сервере b:
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=de_DE.UTF-8
LANGUAGE=
LC_CTYPE="de_DE.UTF-8"
LC_NUMERIC=de_DE.UTF-8
LC_TIME="de_DE.UTF-8"
LC_COLLATE="de_DE.UTF-8"
LC_MONETARY=de_DE.UTF-8
LC_MESSAGES="de_DE.UTF-8"
LC_PAPER=de_DE.UTF-8
LC_NAME=de_DE.UTF-8
LC_ADDRESS=de_DE.UTF-8
LC_TELEPHONE=de_DE.UTF-8
LC_MEASUREMENT=de_DE.UTF-8
LC_IDENTIFICATION=de_DE.UTF-8
LC_ALL=
ls
'порядок сортировки определяется установкой сопоставления Вашей локали. Можно легко проверить это с locale
команда:
$ locale
LANG=en_US.UTF-8
LANGUAGE=en_US
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=de_DE.UTF-8
LC_TIME=de_DE.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=de_DE.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=de_DE.UTF-8
LC_NAME=de_DE.UTF-8
LC_ADDRESS=de_DE.UTF-8
LC_TELEPHONE=de_DE.UTF-8
LC_MEASUREMENT=de_DE.UTF-8
LC_IDENTIFICATION=de_DE.UTF-8
LC_ALL=
Важный для сортировки LC_COLLATE
значение. В моем примере выше, это отсортировало бы согласно правилам для en_US.UTF.8
локализация, которая отсортировала бы нечувствительные к регистру имена файлов и, кажется, игнорирует знаки пунктуации.
Можно временно переопределить глобальные настройки с переменной среды. Например, C
локаль/сопоставление отсортировала бы по необработанному значению ASCII, таким образом, все прописные буквы перед нижним регистром.
LC_COLLATE=C ll