跳转到内容

Linux环境变量详解

课程介绍

接下来我们学习环境变量。环境变量是操作系统记录的键值对信息,比如PATH记录了命令搜索路径。用env命令查看所有环境变量,用$符号获取变量值,用export临时设置变量,修改配置文件可以永久生效。PATH变量很重要,添加新命令路径时要记得保留原路径。

1. 环境变量的概念

什么是环境变量?

环境变量是操作系统在运行时记录的一系列关键信息,用于辅助系统执行。无论是Windows、Linux还是Mac,都有环境变量的概念。

环境变量的特点:

  • 采用键值对(KV)结构:NAME=VALUE
  • 名称(键):等号左边的部分
  • 值:等号右边的部分
  • 用于系统和应用程序获取关键配置信息

环境变量的作用

  • 记录系统运行所需的关键配置信息
  • 辅助系统定位可执行程序(如PATH变量)
  • 为应用程序提供配置参数
  • 实现全局配置的集中管理

2. 查看环境变量:ENV命令

查看所有环境变量

使用env命令可以查看系统中所有环境变量:

bash
env

查看特定环境变量

使用grep过滤特定环境变量:

bash
env | grep PATH

3. 使用环境变量:$符号

获取环境变量值

使用$符号可以获取环境变量的值:

bash
echo $PATH

带大括号的写法

当环境变量名与其他字符相邻时,使用大括号明确界定:

bash
echo ${PATH}abc

常用环境变量示例

环境变量含义示例
PATH命令搜索路径/usr/local/bin:/usr/bin:/bin
PWD当前工作目录/home/user
HOME当前用户主目录/home/user
USER当前登录用户user
SHELL当前使用的Shell/bin/bash

4. 配置环境变量

1. 临时配置(当前会话有效)

使用export命令临时设置环境变量:

bash
export MY_NAME="Linux User"

验证:

bash
echo $MY_NAME
# 输出:Linux User

注意: 临时环境变量在终端关闭后会失效。

2. 永久配置

2. 1 针对当前用户

编辑用户主目录下的.bashrc文件:

bash
vim ~/.bashrc

在文件末尾添加:

bash
export MY_NAME="Linux User"

生效配置:

bash
source ~/.bashrc

2. 2 针对所有用户

编辑系统全局配置文件/etc/profile

bash
sudo vim /etc/profile

在文件末尾添加:

bash
export MY_NAME="Linux User"

生效配置:

bash
source /etc/profile

注意事项:

  • 修改/etc/profile需要root权限
  • 全局配置对所有用户生效

5. PATH环境变量详解

PATH的作用

PATH环境变量记录了系统搜索可执行程序的路径列表,多个路径之间用冒号:分隔。

示例:

bash
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

修改PATH环境变量

在原有PATH基础上添加自定义路径:

bash
export PATH=$PATH:/path/to/your/programs

重要提示: 一定要保留$PATH,否则会覆盖原有搜索路径!


6. 实践操作:自定义命令路径

步骤1:创建自定义程序

bash
# 创建程序目录
mkdir -p ~/myenv

# 创建可执行脚本
cat > ~/myenv/mycommand << 'EOF'
#!/bin/bash
echo "Hello from my custom command!"
EOF

# 添加执行权限
chmod +x ~/myenv/mycommand

步骤2:临时添加到PATH

bash
export PATH=$PATH:~/myenv

# 验证
mycommand
# 输出:Hello from my custom command!

步骤3:永久添加到PATH

bash
# 编辑用户配置文件
vim ~/.bashrc

# 在文件末尾添加
# export PATH=$PATH:~/myenv

# 生效配置
source ~/.bashrc

# 在任意目录验证
cd /tmp
mycommand
# 输出:Hello from my custom command!

7. 命令速查

命令功能示例
env查看所有环境变量env
echo $NAME获取指定环境变量值echo $PATH
export NAME=VALUE临时设置环境变量export MY_VAR="test"
source FILE生效配置文件source ~/.bashrc
vim ~/.bashrc编辑用户环境变量配置vim ~/.bashrc
vim /etc/profile编辑全局环境变量配置sudo vim /etc/profile

8. 常见问题与解决方案

问题解决方案
临时环境变量关闭终端后失效使用永久配置方式(修改.bashrc或/etc/profile)
修改PATH后原有命令无法使用检查PATH设置,确保包含$PATH
配置文件修改后不生效使用source命令手动生效配置
全局配置不生效确保使用source /etc/profile或重新登录
自定义命令找不到检查命令是否有执行权限,路径是否正确添加到PATH

课程总结

这节课我们学了环境变量。

环境变量是键值对,记录系统关键信息: env - 查看所有环境变量 $变量名 - 获取变量值

修改环境变量: export 变量=值 - 临时生效(当前会话) 修改配置文件 - 永久生效

PATH变量很重要,记录了命令的搜索路径。 用户配置文件: ~/.bashrc 全局配置文件: /etc/profile

课后练习

  • 基础题:查看系统中所有环境变量,并找出与用户相关的5个环境变量
  • 进阶题:创建一个临时环境变量MY_AGE=25,并使用echo命令显示其值
  • 实战题:创建一个自定义命令myinfo,显示当前用户名和主机名,然后将其永久添加到PATH中
  • 综合题:修改PATH环境变量,将/usr/local/sbin添加到搜索路径的最前面

评论区

专业的Linux技术学习平台,从入门到精通的完整学习路径