查看 locale:

$ locale
LANG=C
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=



修改:

所有用户——/etc/profile

单个用户——其他shell相关配置文件

可以的单独修改每个 LC_XXX, 也可以修改 LANG 或 LC_ALL 使所有的生效,优先级关系:

LC_ALL > LC_XXX > LANG

http://man7.org/linux/man-pages/man7/locale.7.html



例如:

LC_ALL=zh_CN.gbk
export LC_ALL

LANG=en_US.UTF-8
export LANG

LC_CTYPE=en_US.UTF-8
export LC_CTYPE

$ locale
LANG=en_US.UTF-8
LC_CTYPE="zh_CN.gbk"
LC_NUMERIC="zh_CN.gbk"
LC_TIME="zh_CN.gbk"
LC_COLLATE="zh_CN.gbk"
LC_MONETARY="zh_CN.gbk"
LC_MESSAGES="zh_CN.gbk"
LC_PAPER="zh_CN.gbk"
LC_NAME="zh_CN.gbk"
LC_ADDRESS="zh_CN.gbk"
LC_TELEPHONE="zh_CN.gbk"
LC_MEASUREMENT="zh_CN.gbk"
LC_IDENTIFICATION="zh_CN.gbk"
LC_ALL=zh_CN.gbk



所以,修改公共配置文件(如 /etc/profile)时最好不要设置 LC_ALL,因为优先级的关系,即使普通用户设置了不同的 LC_XXX,这个设置也不会生效,建议设置在公共配置文件(如 /etc/profile)中设置  LANG。