Linux 命令速查
系统管理 man locale

locale

显示当前 locale 与可用语言环境

返回

补充说明

locale 是 glibc 自带的小工具,用来查看当前进程的语言/地区相关环境变量(LANG、LC_*)及其生效值,也可以列出系统中已生成的 locale。它只做查询,不修改配置。

locale 的输出受环境变量优先级影响:LC_ALL 最高,其次是单项 LC_CTYPE、LC_TIME 等,最后才是 LANG。排查中文乱码、日期格式、排序异常时,先运行 locale 确认实际生效值。

若出现 Cannot set LC_ALL to default locale 或显示 POSIX,说明对应 locale 未生成。Debian/Ubuntu 用 locale-gen,RHEL 用 localedef 生成,然后检查 /etc/locale.conf 或 /etc/default/locale。

语法

locale [选项] [名称...]

选项

  • -a, --all-locales:列出所有可用 locale
  • -m, --all-charmaps:列出可用字符集
  • -k, --keyword-name:显示变量名及取值
  • -c, --category-name:显示类别名

实例

# 查看当前生效的 locale 设置
locale

# 同时显示变量名和类别名,便于脚本解析
locale -k -c

# 列出系统已生成的 locale
locale -a | head -20

# 检查是否有中文 UTF-8 locale
locale -a | grep -i zh_CN

# 在当前 shell 临时使用中文 UTF-8
export LANG=zh_CN.UTF-8
locale

参考链接