locale 命令

用途

将有关当前语言环境或全部公共语言环境的信息写到标准输出上。

语法

locale [ -O 64 ][ -a-m] | [ [ -c] [ -k] Name ... ]

描述

locale 命令将有关当前语言环境或全部公共语言环境的信息写到标准输出上。公共语言环境是所有应用程序可以使用的语言环境。

为了写出每个当前语言环境类别的名字和值,请不要指定任何标志或变量。为了写出所有可用公共语言环境的名字,请指定 -a 标志。为了写出所有可用的字符映射(charmap)文件的名称列表,请指定 -m 标志。这些字符映射文件名是 localedef 命令指定的 -f 标志的合适的值。

为了在当前语言环境中写关于指定语言环境类型和关键字的信息,请指定 Name 参数。 Name 参数可以为如下之一:

  • 语言环境类别,诸如 LC_CTYPE 或 LC_MESSAGES
  • 关键字,诸如 yesexpr 或 decimal_point
  • 用来确定当前字符映射的 charmap 保留字符。

使用 locale 命令可以指定多个 Name 参数。

如果使用了语言环境类别名而没有使用标志来指定 locale 命令,那么 locale 命令会写出由 Name 参数指定的语言环境类别中的所有关键字的值。如果使用了一个语言环境关键字而没有使用标志来指定 locale 命令,那么 locale 命令会写出由 Name 参数指定的关键字的值。

如果 Name 参数是一个语言环境名称或关键字,那么,-c 和 -k 标志可以确定由 locale 命令显示的信息。

标志

-a 写出所有可用的公共语言环境的名称。
-c 写出选定的语言环境类别的名称。如果 Name 参数是一个关键字,那么,locale 命令会写出包含了指定关键字的语言环境类别的名称以及指定关键字的值。如果 Name 参数是一个语言环境类别,那么,locale 命令会写出指定语言环境类别的名称和指定语言环境类别中所有关键字的值。
-k 写出选定关键字的名称和值。如果 Name 参数是一个关键字,locale 命令写出指定关键字的名称和值。如果 Name 参数是一个语言环境类别,locale 命令写出在指定的语言环境类别中的所有关键字的名称和值。
-m 写出所有可用的字符映射(charmap)文件的名称。
-ck 写出语言环境类别的名称,后面跟着选定的关键字的名称和值。如果 Name 参数是一个关键字,locale 命令写出包含了指定关键字的语言环境类别的名称以及指定关键字的名称和值。如果 Name 参数是一个语言环境类别,locale 命令会写出指定语言环境的名字以及在指定语言环境中的所有关键字的名称和值。
-O 64 如所示的使用 64 位可执行文件显示语言环境信息。这应该与使用 32 位可执行文件显示的语言环境信息相同。

退出状态

此命令返回以下的退出值:

0 成功找到并输出了所有所需的信息。
>0 出现一次错误。

示例

  1. 为了检索当前语言环境的所有环境变量的名称和值,请输入:

    locale

    如果经过 locale -a 确定,locale_x 和 locale_y 是系统上的有效语言环境,并且语言环境变量设置为如下:

    LANG=locale_x
    LC_COLLATE=locale_y

    locale 命令会生成如下的输出:

    LANG=locale_x
    LC_CTYPE="locale_x"
    LC_CTYPE="locale_x"
    LC_COLLATE=locale_y
    LC_TIME="locale_x"
    LC_NUMERIC="locale_x"
    LC_MONETARY="locale_x"
    LC_MESSAGES="locale_x"
    LC_ALL=

    注意:当设置语言环境变量的时候,一些值包含着其它语言环境变量的值。例如,如果 LC_ALL 语言环境变量设置为 En_US 语言环境,那么所有的语言环境变量都被设置为 En_US 语言环境。另外,隐式值封装在双引号中(")。显式设置的值并不封装在双引号中(")。请参阅 AIX 5L Version 5.2 National Language Support Guide and Reference 中的《理解语言环境变量》获取更多的信息。

  2. 为了确定当前的字符映射,请输入:
    locale charmap

    如果LC_ALL 语言环境变量设置为 C 语言环境,locale 命令会生成以下的输出:

    ISO8859-1
  3. 为了检索当前语言环境的 decimal_point 定界符的值,请输入:
    locale  -ck  decimal_point

    如果 LC_ALL 语言环境变量设置为 C 语言环境,locale 命令会生成以下的输出:

    LC_NUMERIC
    decimal_point="."
时间: 2024-08-03 12:25:30

locale 命令的相关文章

Linux字符集和系统语言设置-LANG,locale,LC_ALL,POSIX等命令及参数详解

博文说明[前言]: 本文将通过个人口吻介绍Linux字符集和系统语言设置,包括LANG,locale,LC_ALL,POSIX等命令及参数详解的相关知识,在目前时间点[2017年6月21号]下,所掌握的技术水平有限,可能会存在不少知识理解不够深入或全面,望大家指出问题共同交流,在后续工作及学习中如发现本文内容与实际情况有所偏差,将会完善该博文内容. 本文参考文献引用链接: 1.http://blog.csdn.net/z4213489/article/details/7937894[好文,必看]

修改 /var/lib/locales/supported.d/local 文件(使用 locale -a 命令查看系统中所有已配置的 locale)

转自:http://zyxhome.org/wp/cc-prog-lang/c-stdlib-setlocale-usage-note/ http://www.west263.com/info/html/caozuoxitong/FreeBSD/20090513/126191.html C 和 C++ 的标准库分别有自己的 locale 操作方法,C 标准库的 locale 设定函数是 setlocale(),而 C++ 标准库有 locale 类和流对象的 imbue() 方法.这篇是我自己的

简单解决Ubuntu修改locale的问题

本文针对的问题是"Ubuntu 安装中文语言包""Ubuntu Server中文问题","Ubuntu更改语言环境","Ubuntu locale的设定","cannot change locale (zh_CN.UTF-8)","Linux中文乱码","Linux字符集的修改","Linux乱码的解决办法"等问题,提供一站式解决.如果系统显示中文

couldn't set locale: correctly报错的解决

最近登录一台Solaris的服务器时,总提示:"couldn't set locale: correctly"的信息. 碰巧执行一个shell脚本,执行的开始还是出现了"couldn't set locale: correctly"的信息,但未影响后面的逻辑. 这里提示的是locale有错,查了下locale命令是将有关当前语言环境或全部公共语言环境的信息写到标准输出上.公共语言环境是所有应用程序可以使用的语言环境.即使用这个命令设置程序运行的不同语言环境.执行lo

Redhat 命令模式下乱码

方法一: #locale (locale命令用于查看使用语言详细信息,为中文语言) #export LC_ALL=POSIX (export命令导出修改LC_ALL语言选项) #locale (再次查看,信息已经改变了) 该方法在用户注销或重启后将失效,要想保存设置,见方法2. 方法二: #vi /etc/sysconfig/i18n (利用vi编辑器修改配置文件i18n) 将LC_ALL=POSIX写入i18n配置文件中.注销或重启服务便永久生效. 另,注意改文件的话要用root账号,不然会提

Shell的基本常用命令

Shell的基本常用命令 echo 命令 作用:在显示器上显示一段字符,输出指定的字符串,或显示变量的值. 例:echo hello uname 命令 作用:显示当前系统的相关信息 -a 显示所有信息 -r显示系统的内核版本号 例:uname ls命令 作用:显示目标列表,或者具体的文件 例:ls cat命令 作用:用来显示文件的内容 例:cat /etc/a.txt hostnamectl 命令 作用:显示,修改计算机名称 hostnamectl set-hostname 修改计算机名 例:h

LC_CTYPE: cannot change locale (en_US.

升级glibc库后,使用SecureCRT登录linux,提示: ast login: Mon Feb 20 02:03:21 2017 from 192.168.4.187 -bash: warning: setlocale: LC_CTYPE: cannot change locale (en_US.UTF-8): No such file or directory -bash: warning: setlocale: LC_COLLATE: cannot change locale (en

linux中的locale,LANG

Locale是根据计算机用户所使用的语言,所在国家或者地区,以及当地的文化传统所定义的一个软件运行时的语言环境.? 可以发现locale命令中,可以显示多个LC_*和LANG. 1 LANG LANG变量是language的简称,在一个系统变量,它决定系统的默认语言的,即系统的菜单.程序的工具栏语言.输入法默认语言等. LANG在登录系统后就被读取并生效,unbuntu中,是从下面这个文件中读取的. 看一下格式:zh_CN.UTF-8,其中zh_CN这个组合,在很多地方都可以看到,而完整的表达是

Linux基础命令(详细版)

本博文包含以下命令的使用方法: locale(语言相关) date(日期相关) cal(日历) bc(计算机) --help(help命令帮助) man(man手册帮助) cd(切换目录) pwd(显示当前工作路径) mkdir(创建文件夹) rmdir(删除空文件夹) ls(查看目录下内容) cp(复制) rm(删除) mv(移动) cat(查看文件内容) head(查看文件开头几行) tail(查看文件末尾几行) touch(创建文件或目录) find(查找) grep(过滤) locale