Linux环境变量查询及其含义解析

Linux环境变量

printen

用法

printenv

解释

  • printenv 是一个简单的命令,用于打印当前用户的所有环境变量及其对应的值。
  • 如果你需要查看特定的环境变量,可以在命令后面加上变量名,例如:
    printenv PATH
    
    这将输出 PATH 变量的值,通常包含可执行文件的搜索路径。

特点

  • 输出格式为 变量名=变量值
  • 不会显示未设置的变量。

env

用法

env

解释

  • env 命令不仅可以显示当前的环境变量,还可以在指定的环境下运行其他命令。
  • 运行 env 时,不带参数,它也会列出当前所有的环境变量,输出格式与 printenv 类似。

特点

  • 可以用于临时修改环境变量并执行命令。例如:
    env VAR_NAME=value command
    
    这会在执行 command 时,将 VAR_NAME 设置为 value

例子

env VAR1=value1 ./my_script.sh

在执行 my_script.sh 时,VAR1 将被设置为 value1

环境变量及其含义

一、用户身份相关

  • USER
    标识当前用户名(示例:USER=root
  • LOGNAME
    当前登录用户名(示例:LOGNAME=root
  • SUDO_USER
    执行 sudo 时的原始用户名(示例:SUDO_USER=zxwang
  • SUDO_UID
    执行 sudo 时的原始用户 ID(示例:SUDO_UID=1000
  • SUDO_GID
    执行 sudo 时的原始用户组 ID(示例:SUDO_GID=1000

二、系统路径相关

  • PWD
    当前工作目录(示例:PWD=/root
  • OLDPWD
    上一次的工作目录(示例:OLDPWD=/home
  • HOME
    当前用户主目录(示例:HOME=/root
  • PATH
    可执行文件搜索路径(示例:PATH=/usr/bin:/bin:/usr/sbin

三、语言环境相关

  • LANG
    系统默认语言和编码(示例:LANG=C.UTF-8
  • LC_*
    特定分类的本地化设置(如 LC_TIME=zh_CN.UTF-8 控制时间格式)

四、网络代理相关

  • HTTP_PROXY
    HTTP 协议代理地址(示例:HTTP_PROXY=127.0.0.1:8080
  • HTTPS_PROXY
    HTTPS 协议代理地址(示例:HTTPS_PROXY=127.0.0.1:8080

五、命令执行相关

  • SHELL
    当前 Shell 程序路径(示例:SHELL=/bin/bash
  • SUDO_COMMAND
    通过 sudo 执行的完整命令(示例:SUDO_COMMAND=/usr/bin/su
  • _
    上一个执行的命令路径(示例:_=/usr/bin/printenv

六、终端与会话

  • TERM
    终端类型(示例:TERM=xterm
  • DISPLAY
    X Window 图形界面显示标识(示例:DISPLAY=:0
  • XDG_SESSION_TYPE
    会话类型(示例:XDG_SESSION_TYPE=tty 表示命令行,x11 表示图形界面)

七、开发工具相关

  • JAVA_HOME
    Java 安装根目录(示例:JAVA_HOME=/usr/lib/jvm/java-11
  • PYTHONPATH
    Python 模块搜索路径(示例:PYTHONPATH=/opt/mylibs
  • LD_LIBRARY_PATH
    动态链接库搜索路径(示例:LD_LIBRARY_PATH=/usr/local/lib

八、其他配置

  • MAIL
    用户邮件存储路径(示例:MAIL=/var/mail/root
  • HOSTNAME
    系统主机名(示例:HOSTNAME=ac
  • EDITOR
    默认文本编辑器(示例:EDITOR=vi
  • PS1
    Bash 提示符格式(示例:PS1=\u@\h:\w\$
  • SSH_AUTH_SOCK
    SSH 代理套接字文件路径(示例:SSH_AUTH_SOCK=/tmp/ssh-abc123/agent.123
posted on 2025-02-06 23:57  风惊庭前叶  阅读(68)  评论(0)    收藏  举报