Linux常用命令-locale

命令

locale

描述

查看系统语言设置

用法

选项

-a 显示系统支持的所有语言环境

注意

使用localectl命令更改系统语言环境

补充

locale信息分类说明如下:
语言符号及其分类(LC_CTYPE)
数字(LC_NUMERIC)
时间显示格式(LC_TIME)
比较和排序习惯(LC_COLLATE)
货币单位(LC_MONETARY)
信息主要是提示信息,错误信息,状态信息,标题,标签,按钮和菜单等(LC_MESSAGES)
默认纸张尺寸大小(LC_PAPER)
姓名书写方式(LC_NAME)
地址书写方式(LC_ADDRESS)
电话号码书写方式(LC_TELEPHONE)
度量衡表达方式 (LC_MEASUREMENT)
对locale自身包含信息的概述(LC_IDENTIFICATION)

1
2
3
4
5
6
Locale是软件在运行时的语言环境,它包括语言(Language),地域(Territory)和字符集(Codeset),格式为:语言[_地域[.字符集]],如zh_CN.utf8
优先级的关系: LC_ALL > LC_* > LANG,就是说LC_ALL是最高优先级表示强制设置,而LANG是默认设置
1.如果你设置了LC_ALL=zh_CN.UTF-8,那么不管LC_*和LANG设置成什么值,它们都会被强制设置为LC_ALL的值,即zh_CN.UTF-8
2.如果你设置了LANG=zh_CN.UTF-8,LC_*=en_US.UTF-8,但没有设置LC_ALL的话,那么系统的locale设置为LC_*=en_US.UTF-8
3.如果你设置了LANG=zh_CN.UTF-8,而其他的LC_*和LC_ALL均未设置的话,系统会将LC_*设置成默认值,即LANG的值zh_CN.UTF-8
4.如果你设置了LANG=zh_CN.UTF-8,LC_CTYPE=en_US.UTF-8,而其他的LC_*和LC_ALL均未设置的话,那么系统的locale设置将是LC_CTYPE=en_US.UTF-8,其余的LC_*均会采用LANG的值

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# 系统语言配置文件如下
$ more /etc/locale.conf
LANG="en_US.UTF-8"
# 查看当前系统语言环境
$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
# 查看系统支持的所有中文语言环境
$ locale -a | grep zh
zh_CN
zh_CN.gb18030
zh_CN.gb2312
zh_CN.gbk
zh_CN.utf8
zh_HK
zh_HK.big5hkscs
zh_HK.utf8
zh_SG
zh_SG.gb2312
zh_SG.gbk
zh_SG.utf8
zh_TW
zh_TW.big5
zh_TW.euctw
zh_TW.utf8
$ ll
total 36
dr-xr-x---. 4 root root 191 Mar 3 15:51 ./
dr-xr-xr-x. 17 root root 244 Jan 7 14:53 ../
-rw-------. 1 root root 1552 Nov 27 05:45 anaconda-ks.cfg
-rw-------. 1 root root 619 Mar 3 16:53 .bash_history
-rw-r--r--. 1 root root 18 Dec 29 2013 .bash_logout
-rw-r--r--. 1 root root 176 Dec 29 2013 .bash_profile
-rw-r--r--. 1 root root 1016 Jan 7 14:51 .bashrc
# 临时更改系统语言
$ LANG=zh_CN.utf8
$ ll
总用量 36
dr-xr-x---. 4 root root 191 3月 3 15:51 ./
dr-xr-xr-x. 17 root root 244 1月 7 14:53 ../
-rw-------. 1 root root 1552 11月 27 05:45 anaconda-ks.cfg
-rw-------. 1 root root 619 3月 3 16:53 .bash_history
-rw-r--r--. 1 root root 18 12月 29 2013 .bash_logout
-rw-r--r--. 1 root root 176 12月 29 2013 .bash_profile
-rw-r--r--. 1 root root 1016 1月 7 14:51 .bashrc
# 永久更改系统语言
$ localectl set-locale LANG=zh_CN.utf8
$ more /etc/locale.conf
LANG=zh_CN.utf8
$ locale
LANG=zh_CN.utf8
LC_CTYPE="zh_CN.utf8"
LC_NUMERIC="zh_CN.utf8"
LC_TIME="zh_CN.utf8"
LC_COLLATE="zh_CN.utf8"
LC_MONETARY="zh_CN.utf8"
LC_MESSAGES="zh_CN.utf8"
LC_PAPER="zh_CN.utf8"
LC_NAME="zh_CN.utf8"
LC_ADDRESS="zh_CN.utf8"
LC_TELEPHONE="zh_CN.utf8"
LC_MEASUREMENT="zh_CN.utf8"
LC_IDENTIFICATION="zh_CN.utf8"
LC_ALL=