语系就是用的是什么人类语言,本节专门学习环境变量中的语系变量。
[1]locale确定系统当前语系
[root@bogon ~]# locale
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=
它把系统当前语系赋到这些变量中去,这些变量中最主要的就是LANG和LC_ALL这两个变量。在系统中直接生效的是LANG这个变量,可以看到现在用的是中国中文(因为在安装中用的是中文)。
所以我们在XShell中使用时,如果出现中文可以中文输出,如统计分区大小:
[root@bogon ~]# df -h
文件系统 容量 已用 可用 已用%% 挂载点
/dev/mapper/VolGroup-lv_root
16G 2.0G 13G 14% /
tmpfs 939M 0 939M 0% /dev/shm
/dev/sda1 485M 37M 423M 9% /boot
LANG定义主语系(当前生效的语系),LC_ALL定义整体语系。多数时候完全可以只去看LANG这个变量:
[root@bogon ~]# echo $LANG
zh_CN.UTF-8
另外可以查看Linux支持的所有语系:
[root@bogon ~]# locale -a
还可以通过查看一个文件,去查询系统默认语系:
[root@bogon ~]# cat /etc/sysconfig/i18n
LANG="zh_CN.UTF-8"
也就是下次开机后进入的语言环境。
[2]Linux中文支持
要想Linux支持中文,前提条件是安装了中文字体和中文语系。
中文是16位编码(GB2312及其扩展),英文是8位编码(ASCII及其扩展),纯字符界面不能识别中文这样复杂的编码。
可以看到虽然远程工具连接的就是虚拟机,但是查询出来的生效语系是不同的:
就是因为纯字符界面不支持中文显示。
而服务器一般都是放在远程机房的,我们操作的一般都是远程工具,所以不用考虑Linux服务器本机支持中文。