将路径加入环境变量 PATH:可忽视路径直接运行程序(hadoop version)

将路径加入环境变量PATH,意味着系统会在该路径下查找可执行命令,从而无需输入完整路径即可直接运行程序。


PATH是系统用于存储多个文件夹路径的变量(Linux用冒号分隔,Windows用分号)。


未加入PATH时需指定完整路径(如/usr/local/hadoop/bin/hadoop),加入后可直接输入hadoop


通过export PATH=$PATH:/新路径临时添加,或写入~/.bashrc永久生效。


保留原PATH($PATH)可避免覆盖系统默认路径。


加入PATH提升操作便捷性和脚本可维护性,是配置Hadoop、Hive等工具的常见步骤。


将 xx 路径加入环境变量 PATH 是什么意思,有什么作用


一句话理解

将路径加入 PATH,就是告诉系统:"去这个文件夹里找命令"


一、什么是 PATH?

PATH 是 Linux/Windows 系统中的一个环境变量 ,里面存储了多个文件夹路径 ,用冒号 :(Linux)或分号 ;(Windows)分隔。

当你输入一个命令(如 hadoophivels)时,系统会按顺序在这些文件夹里查找对应的可执行文件。

查看当前 PATH

bash

bash 复制代码
echo $PATH
# 输出示例:
# /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
# 路径之间用 : 分隔

二、为什么需要加入 PATH?

场景:不加入 PATH 的情况

假设 Hadoop 安装在 /usr/local/hadoop/bin/ 目录下:

bash

bash 复制代码
# 不加入 PATH,必须写完整路径才能执行
/usr/local/hadoop/bin/hadoop version

# 或者先切换到该目录
cd /usr/local/hadoop/bin/
./hadoop version

问题:每次都要写完整路径,非常麻烦。

场景:加入 PATH 后

bash

bash 复制代码
# 加入 PATH 后,直接输入命令名即可
hadoop version

原理 :系统在 PATH 中的每个文件夹里查找,找到 /usr/local/hadoop/bin/hadoop 就执行。


三、图解说明

text

bash 复制代码
┌─────────────────────────────────────────────────────────────┐
│                   环境变量 PATH                               │
├─────────────────────────────────────────────────────────────┤
│  /usr/local/bin : /usr/bin : /usr/local/hadoop/bin : ...    │
└─────────────────────────────────────────────────────────────┘
                            ↓
         输入命令: hadoop version
                            ↓
         系统按顺序在 PATH 的每个目录中查找 "hadoop"
                            ↓
         ┌─────────────────────────────────────┐
         │ 1. 在 /usr/local/bin 中找 → 没有     │
         │ 2. 在 /usr/bin 中找 → 没有           │
         │ 3. 在 /usr/local/hadoop/bin 中找 → 找到了! │
         └─────────────────────────────────────┘
                            ↓
                 执行 /usr/local/hadoop/bin/hadoop version

四、实际操作:如何加入 PATH?

4.1 临时加入(仅当前终端有效)

bash

bash 复制代码
export PATH=$PATH:/usr/local/hadoop/bin

特点:关闭终端后失效,适合临时测试。

4.2 永久加入(推荐)

bash

bash 复制代码
# 编辑 .bashrc 文件
vim ~/.bashrc

# 在文件末尾添加
export PATH=$PATH:/usr/local/hadoop/bin

# 保存后使配置生效
source ~/.bashrc

特点:每次打开终端自动生效。

4.3 语法解释

bash

bash 复制代码
export PATH=$PATH:/新路径
部分 含义
PATH= 给 PATH 变量赋值
$PATH 原来的 PATH 内容(保留原有路径)
: 分隔符
/新路径 要新增的文件夹路径

五、加入 PATH 前后的对比

操作 未加入 PATH 已加入 PATH
执行 hadoop $HADOOP_HOME/bin/hadoop version hadoop version
执行 hive $HIVE_HOME/bin/hive hive
执行 hdfs $HADOOP_HOME/bin/hdfs dfs -ls / hdfs dfs -ls /
灵活性 必须知道安装路径 任意目录都可以执行
脚本编写 路径写死,迁移麻烦 简洁,易于维护

六、你课堂笔记中的对应内容

Hadoop 环境配置

bash

bash 复制代码
# 课堂笔记中的配置
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

解释

  • $HADOOP_HOME/bin:存放 hadoophdfsyarn 等命令

  • $HADOOP_HOME/sbin:存放 start-all.shstop-all.sh 等管理命令

Hive 环境配置

bash

bash 复制代码
# 课堂笔记中的配置
export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HIVE_HOME/bin

解释

  • $HIVE_HOME/bin:存放 hiveschematool 等命令

七、常见问题

Q1:为什么要保留原来的 PATH($PATH)?

bash

bash 复制代码
# ❌ 错误:会覆盖原有 PATH,导致 ls、cd 等基础命令找不到
export PATH=/usr/local/hadoop/bin

# ✅ 正确:保留原有 PATH,在后面追加新路径
export PATH=$PATH:/usr/local/hadoop/bin

Q2:多个路径的查找顺序?

bash

bash 复制代码
PATH=/usr/local/bin:/usr/bin:/usr/local/hadoop/bin

系统按从左到右的顺序查找,找到第一个匹配的就执行。

Q3:怎么检查路径是否添加成功?

bash

bash 复制代码
# 查看 PATH 是否包含新路径
echo $PATH | grep hadoop

# 检查命令是否可用
which hadoop
# 输出:/usr/local/hadoop/bin/hadoop

Q4:Windows 的 PATH 和 Linux 的 PATH 一样吗?

系统 变量名 分隔符 设置方式
Linux PATH : export PATH=$PATH:/新路径
Windows Path ; 系统环境变量图形界面

八、总结

问题 答案
PATH 是什么? 系统用来查找命令的文件夹列表
加入 PATH 有什么用? 可以在任意目录直接输入命令名,不用写完整路径
怎么加入? export PATH=$PATH:/新路径
临时还是永久? 命令行执行是临时,写进 ~/.bashrc 是永久
不加入会怎样? 每次都要写完整路径,如 /usr/local/hadoop/bin/hadoop
相关推荐
曲幽4 个月前
FastAPI搭档Pydantic:从参数验证到数据转换的全链路实战
python·fastapi·web·path·field·query·pydantic·basemodel·response_model
曲幽5 个月前
一文理清FastAPI参数:从Query、Path到BaseModel的实战指南
python·fastapi·web·form·request·path·body·query·basemodel
曲幽5 个月前
Flask路由入门指南:从基础定义到优先级与动态路由转换器
python·flask·web·route·path
kali-Myon8 个月前
解决 win+R 运行处以及文件资源管理器处无法使用 wt、wsl 命令打开终端
windows·wsl·path·regedit·wt
可可,天上人间1 年前
path环境变量
java·环境·环境变量·path
胡斌附体1 年前
设置环境变量启动jar报
java·jar·cmd·path
小白也有IT梦1 年前
如何在 Linux 中管理自定义脚本:将 ~/bin 目录添加到 $PATH
linux·path·脚本管理
Arnold-FY-Chen1 年前
Ubuntu下npm运行报错Error: Cannot find module ‘node:path‘
npm·node·path
吉量*1 年前
WPF系列十一:图形控件RectangleGeometry
wpf·上位机·绘图·path·图形