📖 知识点
1. Windows 环境变量 → Linux 环境变量
| Windows | Linux | 说明 |
|---|---|---|
| 系统属性→环境变量 |
| 查看环境变量 |
| PATH |
| 命令去哪找 |
环境变量:系统保存的 "全局设定",格式是
变量名=值。比如USER(当前用户名)、HOME(家目录)、PATH(命令查找路径)。很多程序靠它们知道 "我是谁、家在哪、去哪找东西"。
💡 生活比喻环境变量像学校门口的信息栏:写着 "校长是谁(USER)、教室在哪(HOME)、去哪领教材(PATH)"。程序一启动先看这块信息栏,才知道怎么干活。
2. 查看环境变量:echo $
echo $变量名 # 查看某个环境变量
env # 列出所有环境变量
echo $USER # 当前用户名
echo $HOME # 家目录
echo $PATH # 命令查找路径
3. 重点:PATH 是什么?
PATH 是 "命令查找路径":当你敲一个命令(如 ls),系统会按 PATH 里列出的目录挨个去找这个命令在哪。
echo $PATH
运行示例:
/usr/local/bin:/usr/bin:/bin:/usr/games
冒号
:分隔多个目录。敲ls时,系统依次去/usr/local/bin、/usr/bin… 找ls这个程序,找到就执行。
💡 生活比喻PATH 像 "外卖员送餐路线清单":你点单(敲命令),外卖员(shell)按清单上的街道(PATH 里的目录)一家家找,找到卖这个菜的店(命令)就送到。
4. 用 which 查命令在哪
which ls # 查ls命令在哪个目录
which python3 # 查python3在哪
返回该命令的完整路径,帮你理解 PATH 的查找逻辑。
⚠️ 易错提醒
查看环境变量要用
$前缀:echo $PATH,不是echo PATH
PATH里多个目录用冒号:分隔如果某命令不在 PATH 的目录里,直接敲会 "command not found"(Day35 用 export 解决)
⚔️ Kata 实战任务
任务需求:
用
echo $USER查看当前用户名用
echo $HOME查看家目录用
echo $PATH查看命令查找路径用
env查看所有环境变量(挑几个认识的)用
which ls、which python3查命令所在位置,理解 PATH
参考代码(在终端依次敲)
# 1. 查看用户名
echo $USER
# 2. 查看家目录
echo $HOME
# 3. 查看PATH命令查找路径
echo $PATH
# 4. 查看所有环境变量
env
# 5. 查命令在哪
which ls
which python3
运行示例:
user@linux:~$ echo $USER
user
user@linux:~$ echo $HOME
/home/user
user@linux:~$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/games
user@linux:~$ env
USER=user
HOME=/home/user
PATH=/usr/local/bin:/usr/bin:/bin:/usr/games
LANG=zh_CN.UTF-8
...
user@linux:~$ which ls
/usr/bin/ls
🧠 思考题
查看环境变量为什么要加
$?echo $HOME和echo HOME输出有什么不同?PATH里的多个目录用什么分隔?它决定了系统的什么能力?敲ls时系统怎么用 PATH 找到它?