最常用、最可靠的查看环境变量方式是 env 和 printenv 命令:env 按字母顺序列出全部生效环境变量;printenv 可查全部或指定变量,如 printenv PATH;echo 适合日常查看单个变量,如 echo $PATH。

用 env 命令列出全部变量
执行:env
它会按字母顺序逐行输出所有已生效的环境变量,格式是 变量名=值,比如:
- HOME=/home/username
- PATH=/usr/local/bin:/usr/bin:/bin
- USER=username
- LANG=en_US.UTF-8
这个命令只显示“真正继承给子进程”的环境变量,不包含 shell 内部变量,适合排查配置是否生效。
用 printenv 查看全部或指定变量
执行:printenv(效果和 env 基本一致)
想查某一个变量?直接加变量名,比如:
Linux系统管理专家,覆盖12大模块:用户权限、SSH、存储、网络、systemd、防火墙、日志监控、备份恢复、TLS证书、Ansible、容器、IaC。提供配置、验证、加固、监控、备份、自动化、故障排查、回滚闭环。关键词:useradd、sudo、sshd_config、chmod、SEL...
- printenv PATH —— 只显示 PATH 的值
- printenv HOME —— 只显示家目录路径
比 echo 更明确表达意图,尤其在脚本里更易读。
用 echo 查看单个变量值
这是日常最顺手的方式:
- echo $PATH
- echo $HOME
- echo $JAVA_HOME
注意:$ 和变量名之间不能有空格,写成 echo $ PATH 就会出错,输出空或报错。
补充:区分环境变量和 shell 变量
如果想看包括 shell 内部变量(比如 HISTSIZE、PS1),可以用:set
但它输出量大,且混杂了函数定义;一般排查环境问题时,env 或 printenv 就够用了。

















