Linux:定义区域和语言设置

Locale (区域)在 Linux 终端中定义语言和字符集设置。

从这篇文章中可以学到如何在 Linux 命令行中检测和修改当前区域和语言设置。

将会展示如何检测当前语言和区域设置以及如何获取有效的区域列表。

也可以学到如何针对当前会话设置临时区域和语言设置以及修改系统默认设置。

查看

执行 locale 命令获取当前区域和语言设置相关信息:

1
locale

运行以下命令查看所有启用的区域:

1
locale -a

区域使用下列格式定义:

1
<language>_<territory>.<codeset>[@<modifiers>]
标识符 注释
language ISO 639-1 语言代码。
territory ISO 3166-1 国家代码。
codeset 字符集或者编码标识符,像是 ISO-8859-1 或者 UTF-8

为当前会话设置区域

在命令行执行以下命令,就可以设置为中文 UTF-8 字符:

1
LANG="zh_CN.UTF-8"

但是有个问题,这样仅能用于当前会话,如果会话关闭了,那么又回到了开始的情况。

为用户设置区域

可以将以下代码加入到 ~/.bashrc 或者 ~/.profile

1
export LANG="zh_CN.UTF-8"

默认退出会话并重新登录会话后才会生效。但是可以使用以下方法强制立即生效:

1
source ~/.profile

或者

1
source ~/.bashrc

设置为系统默认区域设置:

修改配置文件vim /etc/locale.conf

修改 LANG 为:

1
LANG=zh_CN.UTF-8

注意:该设置只有在重启后才有效。

参考