• LANG 环境变量


    中文系统

    大家常用的 Linux 系统,为了方便使用,通常设置成了中文环境,这时候,命令的输出信息往往也是中文,如

    $ free -h
                  总计         已用        空闲      共享    缓冲/缓存    可用
    内存:       7.8Gi       2.9Gi       216Mi       247Mi       4.6Gi       4.4Gi
    交换:       2.0Gi        87Mi       1.9Gi
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    $ man ls
    LS(1)                                             General Commands Manual                                            LS(1)
    
    NAME
           ls, dir, vdir - 列目录内容
    
    提要
           ls [选项] [文件名...]
    
           POSIX 标准选项: [-CFRacdilqrtu1]
    
    GNU 选项 (短格式):
           [-1abcdfgiklmnopqrstuxABCDFGLNQRSUX]      [-w      cols]      [-T      cols]     [-I     pattern]     [--full-time]
           [--format={long,verbose,commas,across,vertical,single-column}]                  [--sort={none,time,size,extension}]
           [--time={atime,access,use,ctime,status}] [--color[={none,auto,always}]] [--help] [--version] [--]
    
    描述( DESCRIPTION )
           程序ls先列出非目录的文件项,然后是每一个目录中的“可显示”文件。如果   没有选项之外的参数【译注:即文件名部分为空】出
           现,缺省为 "." (当前目录)。 选项“ -d ”使得目录与非目录项同样对待。除非“ -a ” 选项出现,文 件名以“.”开始的文件不属
           “可显示”文件。
    ......
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    英文显示

    但是,这些中文输出往往来自机器翻译,或者不专业的人工翻译。这样,对于理解原意有时会造成困扰。这个时候,我们更希望系统输出原始英文。
    怎么办呢?
    LANG 环境变量可以帮你解决这个问题。

    $ echo $LANG
    zh_CN.UTF-8
    
    • 1
    • 2

    LANG 环境变量默认为 zh_CN.UTF-8,因为我安装系统是选择的是中文。
    我们只要修改一下这个环境变量的值就可以了

    $ LANG=C
    
    • 1

    再来看下显示

    $ free -h
                  total        used        free      shared  buff/cache   available
    Mem:          7.8Gi       2.9Gi       216Mi       247Mi       4.6Gi       4.4Gi
    Swap:         2.0Gi        87Mi       1.9Gi
    
    • 1
    • 2
    • 3
    • 4
    $ man ls
    LS(1)                                     User Commands                                     LS(1)
    
    NAME
           ls - list directory contents
    
    SYNOPSIS
           ls [OPTION]... [FILE]...
    
    DESCRIPTION
           List  information about the FILEs (the current directory by default).  Sort entries alpha-
           betically if none of -cftuvSUX nor --sort is specified.
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    这样就能看到原始英文表述了。
    如, free 命令显示的结果,“Swap” 肯定比 “交换” 意思更准确无歧义。
    如,man ls 命令显示的结果,“list directory contents” 肯定比 “列目录内容” 意思更清楚。
    吐槽一下,“列目录内容” 。。。, 什么鬼。。。🙄

    更进一步

    一个疑问,LANG 环境变量都可以设置为什么值呢?
    可以使用 locale 命令查看

    $ locale -a
    C
    C.UTF-8
    en_AG
    en_AG.utf8
    en_AU.utf8
    en_BW.utf8
    en_CA.utf8
    en_DK.utf8
    en_GB.utf8
    en_HK.utf8
    en_IE.utf8
    en_IL
    en_IL.utf8
    en_IN
    en_IN.utf8
    en_NG
    en_NG.utf8
    en_NZ.utf8
    en_PH.utf8
    en_SG.utf8
    en_US.utf8
    en_ZA.utf8
    en_ZM
    en_ZM.utf8
    en_ZW.utf8
    POSIX
    zh_CN.utf8
    zh_SG.utf8
    
    
    • 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

    这里解释一下 “C” 的含义,“C” 在这里指 ASCII 的意思。

  • 相关阅读:
    C++多线程 join、detach、joinable
    在ubuntu下远程链接仓库gitte/github
    【CVAdd】Filter 滤波器
    1.5 字符串基本操作(Python)
    Linux 命令 —— feh
    【云原生布道系列】第二篇:云原生时代领域解决方案专家的价值
    Maven基础篇1
    (二十八)大数据实战——Flume数据采集之kafka数据生产与消费集成案例
    基于C#的自动校时器 - 开源研究系列文章 - 个人小作品
    Qt实现控件的折叠收起和展开的功能
  • 原文地址:https://blog.csdn.net/lyndon_li/article/details/126734303