在 CentOS(以及其它 Linux 发行版)里,env 和 PATH 的关系可以简单理解为:
1️⃣ 什么是 env
env 有两层含义:
(1)env 命令
用于查看或设置环境变量,例如:
env
会列出当前 shell 的所有环境变量。
env | grep PATH
查看 PATH 的值。
env VAR=value command
在临时环境中运行命令。
(2)环境变量(environment variables)
统称“env”,如:
PATHHOMEUSERLANG
2️⃣ 什么是 PATH
PATH 是众多环境变量中的一个,非常特殊:
echo $PATH
示例输出:
/usr/local/bin:/usr/bin:/bin
作用是:
告诉 shell 去哪些目录里找可执行命令
例如你输入:
ls
系统会按 PATH 顺序查找 ls 这个程序。
3️⃣ env 和 PATH 的关系
✅ PATH 是 env 的一部分
env(所有环境变量)
├── HOME
├── USER
├── LANG
└── PATH ← 专门控制命令查找路径
env= 环境变量集合PATH= 其中一个关键变量
4️⃣ 常见操作示例
查看 PATH
env | grep PATH
# 或
echo $PATH
临时添加 PATH
export PATH=$PATH:/new/path
永久生效(CentOS)
vim ~/.bashrc
# 或
vim /etc/profile
添加:
export PATH=$PATH:/new/path
然后:
source ~/.bashrc
5️⃣ 一句话总结
env 是环境变量的总称,PATH 是其中决定“命令去哪找”的关键变量。
如果你愿意,我也可以讲:
- shell 启动流程(login / non-login)
- CentOS 7 vs 8 环境变量差异
- 为什么有时
env里看不到 PATH(如 cron)