溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

linux locale命令有什么作用

發(fā)布時間:2023-03-10 09:47:22 來源:億速云 閱讀:205 作者:iii 欄目:建站服務(wù)器

這篇文章主要介紹“l(fā)inux locale命令有什么作用”的相關(guān)知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“l(fā)inux locale命令有什么作用”文章能幫助大家解決問題。

linux locale是Linux系統(tǒng)中多語言環(huán)境的設(shè)置接口,使用locale命令可以設(shè)置和顯示程序運行的語言環(huán)境;locale會根據(jù)計算機用戶所使用的語言,所在國家或者地區(qū),以及當(dāng)?shù)氐奈幕瘋鹘y(tǒng)定義一個軟件運行時的語言環(huán)境。

命令介紹

locale 是 Linux 系統(tǒng)中多語言環(huán)境的設(shè)置接口,在 Linux 中,使用 locale 命令來設(shè)置和顯示程序運行的語言環(huán)境,locale 會根據(jù)計算機用戶所使用的語言,所在國家或者地區(qū),以及當(dāng)?shù)氐奈幕瘋鹘y(tǒng)定義一個軟件運行時的語言環(huán)境。

通過 locale 來設(shè)置程序運行的不同語言環(huán)境,locale 由ANSI C提供支持。locale 的命名規(guī)則為<語言>_<地區(qū)>.<字符集編碼>,如zh_CN.UTF-8,zh代表中文,CN代表大陸地區(qū),UTF-8表示字符集。在locale環(huán)境中,有一組變量,代表國際化環(huán)境中的不同設(shè)置。

locale 設(shè)置規(guī)則

<語言>_<地區(qū)>.<字符集編碼><@修正值>

zh_CN.utf8

zh:表示中文
CN:表示大陸地區(qū)
Utf8:表示字符集

de_DE.utf-8@euro

de:表示德語
DE:表示德國
Utf-8:表示字符集
euro:表示按照歐洲習(xí)慣加以修正

使用詳解

設(shè)置locale的根本就是設(shè)置一組總共12個LC開頭的變量,不包括LANG和LC_ALL
locale默認(rèn)文件存放位置: /usr/share/i18n/locales

(一)查看當(dāng)前 locale 設(shè)置

列出所有啟用的 locale:

[root@htlwk0001host ~]# localeLANG=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:LANG的優(yōu)先級是最低的,它是所有LC_*變量的默認(rèn)值,下方所有以LC_開頭變量(LC_ALL除外)中,如果存在沒有設(shè)置變量值的變量,那么系統(tǒng)將會使用LANG的變量值來給這個變量進行賦值。如果變量有值,則保持不變

  • LC_CTYPE:用于字符分類和字符串處理,控制所有字符的處理方式,包括字符編碼,字符是單字節(jié)還是多字節(jié),如何打印等,非常重要的一個變量。

  • LC_NUMERIC:用于格式化非貨幣的數(shù)字顯示

  • LC_TIME:用于格式化時間和日期

  • LC_COLLATE:用于比較和排序

  • LC_MONETARY:用于格式化貨幣單位

  • LC_MESSAGES:用于控制程序輸出時所使用的語言,主要是提示信息,錯誤信息,狀態(tài)信息,標(biāo)題,標(biāo)簽,按鈕和菜單等

  • LC_PAPER:默認(rèn)紙張尺寸大小

  • LC_NAME:姓名書寫方式

  • LC_ADDRESS:地址書寫方式

  • LC_TELEPHONE:電話號碼書寫方式

  • LC_MEASUREMENT:度量衡表達(dá)方式

  • LC_IDENTIFICATION:locale對自身包含信息的概述

  • LC_ALL:它不是環(huán)境變量,它是一個宏,它可通過該變量的設(shè)置覆蓋所有LC_*變量,這個變量設(shè)置之后,可以廢除LC_*的設(shè)置值,使得這些變量的設(shè)置值與LC_ALL的值一致,注意LANG變量不受影響。

優(yōu)先級:LC_ALL > LC_* > LANG

(二)查看當(dāng)前系統(tǒng)所有可用 locale

[root@htlwk0001host ~]# locale -aC
C.utf8
en_AG
en_AU
en_AU.utf8
en_BW
en_BW.utf8
en_CA
en_CA.utf8
en_DK
en_DK.utf8
en_GB
en_GB.iso885915
en_GB.utf8
en_HK
en_HK.utf8
en_IE
en_IE@euro
en_IE.utf8
en_IL
en_IN
en_NG
en_NZ
en_NZ.utf8
en_PH
en_PH.utf8
en_SC.utf8
en_SG
en_SG.utf8
en_US
en_US.iso885915
en_US.utf8
en_ZA
en_ZA.utf8
en_ZM
en_ZW
en_ZW.utf8
POSIX
zh_CN
zh_CN.gb18030
zh_CN.gbk
zh_CN.utf8
zh_HK
zh_HK.utf8
zh_SG
zh_SG.gbk
zh_SG.utf8
zh_TW
zh_TW.euctw
zh_TW.utf8

(三)設(shè)置系統(tǒng)的 locale

  1. 可以修改/etc/profile文件
    修改/etc/profile文件,在最下面增加

export LC_ALL=zh_CN.utf8
export LANG=zh_CN.utf8

命令行中使用命令 source 下配置文件,使其生效

  1. 修改/etc/locale.gen文件

將注釋打開即可,修改完成后,執(zhí)行下 locale-gen 命令使其生效

#en_SG ISO-8859-1
en_US.UTF-8 UTF-8
#en_US ISO-8859-1
  1. 命令行模式

localectl set-locale LANG=en_US.UTF-8
  1. 修改/etc/default/locale
    注銷一下,使其生效

LANG=“en_US.UTF-8”
LANGUAGE=“en_US:en”
  1. 創(chuàng)建/etc/locale.conf文件

LANG=en_AU.UTF-8
LC_COLLATE=C
LC_TIME=en_DK.UTF-8

關(guān)于“l(fā)inux locale命令有什么作用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識,可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI