
Когда я даю команду:
ls -l
Столбец с меткой времени изменения файла/каталога (в частности, месяц) отображается на родном языке страны, в которой я нахожусь, а не на английском.
Как я могу заставить ls
использовать другую «культуру» в этом столбце?
Пример:
решение1
Используйте переменные среды локали, такие как LANG
или LC_ALL
:
LANG=C ls -l
Таким образом, только текущий ls
экземпляр использует другую локаль. Вы также можете изменить ее для всего сеанса:
export LANG=C
ls -l
Читайте man 7 locale
подробности. Используйте locale -a
для перечисления возможных локаций, из которых вы можете выбрать.
решение2
Формат даты определяется настройкой локали LC_TIME
. Если LC_TIME
не задано, применяется настройка по умолчанию LANG
. Кроме того, если задано LC_ALL
, то оно перевешивает все остальные настройки, а если задано LANGUAGE
, то оно перевешивает даже LC_ALL
.
В вашем .profile
или другом файле, где вы задаете переменные среды, измените настройки локали по своему усмотрению. Если вы хотите использовать настройки английского языка по умолчанию, отмените все переменные локали, за исключением LC_CTYPE
той, которая указывает на набор символов. Например, чтобы использовать английский везде и набор символов UTF-8, вы можете поместить это в ваш ~/.profile
:
unset LANG LC_ALL LANGUAGE
unset LC_COLLATE LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME
export LC_CTYPE=en_US.UTF-8