PATH 是 linux 查找命令的目录路径列表,按冒号分隔的顺序搜索可执行文件;临时修改用 export PATH=”新路径:$PATH”,永久修改需写入 ~/.bashrc 等配置文件并 source 生效。

PATH 是 Linux 用来查找命令的“路线图”。当你在终端输入一个命令(比如 ls、python、git),系统不会漫无目的地全盘搜索,而是按 PATH 中列出的目录顺序,挨个去里面找有没有对应名称的可执行文件。哪个目录先找到,就执行哪个——所以顺序很重要。
PATH 里长什么样?
它是一个用英文冒号 : 分隔的目录路径列表。运行 echo $PATH 就能看到,例如:
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
这表示系统会依次去这些目录下找命令。比如你敲 gcc,它会先查 /usr/local/bin/gcc,找不到再查 /usr/bin/gcc,依此类推。
临时修改:只对当前终端有效
适合测试或单次使用,关掉终端就失效,最安全。
- 把新目录加到开头(优先级最高):
export PATH="/my/tools:$PATH" - 加到末尾(优先级最低):
export PATH="$PATH:/my/tools" - 注意:
$PATH要用双引号包裹,避免空格或特殊字符出错
永久修改:选对位置才生效
别直接改系统级配置(如 /etc/environment),普通用户应改自己的 shell 配置文件:
- 大多数情况用
~/.bashrc(Bash 用户,推荐):添加一行export PATH="/my/app/bin:$PATH",然后运行source ~/.bashrc生效 - Zsh 用户改
~/.zshrc,同理 - 如果希望新终端一打开就有,别忘了重新加载配置,或新开终端验证
- 避免重复追加:可在添加前加判断,比如
[[ ":$PATH:" != *":/my/app/bin:"* ]] && export PATH="/my/app/bin:$PATH"
验证和排错小技巧
改完别急着用,先确认是否成功:
- 查当前值:
echo $PATH - 看某命令从哪来:
which python或command -v git - 发现命令没反应?可能是路径写错、权限不对(
chmod +x可执行文件)、或目录根本不存在 - 误删 PATH?用
export PATH="/usr/bin:/bin"快速恢复基本功能
基本上就这些。PATH 不复杂,但顺序、作用域和拼写细节容易忽略,改之前留个心眼,改完记得验证。