当前位置: 首页 > news >正文

Linux 环境变量超详细入门到精通(零基础完整版)

🏷️ 标签:Linux 环境变量 PATH Shell 变量配置 运维 📝 适用人群:Linux 初学者、计算机专业学生、后端开发、运维人员、课程实训作业 💡 文章亮点:通俗讲解环境变量概念、分类、自定义、删除、系统默认变量、PATH 配置、数组变量、永久配置,知识点全覆盖,可直接发布 CSDN、直接当实训作业


一、什么是环境变量

1.1 基本概念

在 Linux 系统中,环境变量是系统预定义或用户自定义的键值对配置,用来保存系统运行、Shell 会话、应用程序所需的各类参数。

简单理解: 环境变量就是系统全局的公共变量,可以被操作系统、Shell、脚本、第三方程序读取使用。

1.2 为什么需要环境变量

  1. 让系统自动查找命令(最典型PATH
  2. 记录用户信息、家目录、终端类型
  3. 配置程序运行参数、软件路径
  4. 脚本之间传递数据
  5. 设置系统语言、时区、编码格式

1.3 变量分类

Linux Shell 变量分为两种:

  1. 局部变量(普通变量)只在当前 Shell 终端有效,子进程无法继承。
  2. 环境变量(全局变量)当前 Shell以及所有子进程都能继承使用。

二、查看环境变量

2.1 查看所有环境变量

env

2.2 查看所有变量(含局部变量)

set

2.3 查看单个环境变量

echo $PATH echo $HOME echo $SHELL

三、设置用户自定义变量

3.1 定义局部变量

语法:变量名 = 值,等号两边不能有空格

name="Linux实训" age=20

3.2 读取变量

echo $name echo $age

3.3 将局部变量导出为环境变量

使用export把普通变量升级为全局环境变量,子进程也能访问:

export name

也可以一步直接定义并导出:

export school="深圳信息职业技术学院"

3.4 局部变量与环境变量区别

  • 局部变量:仅当前终端有效
  • 环境变量:当前终端 + 子进程 + 脚本都能用

四、删除环境变量

使用unset命令删除自定义或系统环境变量。

4.1 删除自定义变量

unset name unset school

4.2 删除系统环境变量(慎用)

unset PATH

一旦删除 PATH,所有普通命令都无法使用,重新登录终端即可恢复。


五、默认 Shell 内置环境变量

Linux 系统自带大量默认环境变量,日常开发经常用到:

环境变量作用说明
PATH命令搜索路径,最重要环境变量
HOME当前用户家目录
USER当前登录用户名
SHELL当前默认 Shell 类型
PWD当前所在工作目录
OLDPWD上一次所在目录
HOSTNAME主机名
LANG系统语言编码

查看示例:

echo $HOME echo $USER echo $PWD

六、设置 PATH 环境变量

6.1 PATH 作用

PATH 是命令搜索路径,系统会按照 PATH 里的目录依次查找你输入的命令。

不用写全路径就能执行命令,全靠 PATH。

6.2 查看 PATH

echo $PATH

多个目录用冒号:分隔。

6.3 临时设置 PATH(当前终端生效)

export PATH=$PATH:/usr/local/bin

6.4 永久设置 PATH

编辑用户配置文件:

vim ~/.bashrc

在文件末尾添加:

export PATH=$PATH:/usr/local/go/bin:/opt/jdk/bin

保存后生效:

source ~/.bashrc

6.5 PATH 优先级

PATH 前面的目录优先查找,同名命令靠前优先执行。


七、定位系统环境变量配置文件

Linux 环境变量都保存在配置文件中,分为系统级用户级

7.1 系统级(所有用户生效)

/etc/profile /etc/bashrc

7.2 用户级(仅当前用户生效)

~/.bashrc ~/.bash_profile

7.3 生效规则

  • 修改配置文件后,执行source 文件名立即生效
  • 或者关闭终端重新登录自动加载

八、Shell 数组变量

8.1 定义数组

arr="苹果 香蕉 橘子 葡萄" # 标准数组写法 arr=("苹果" "香蕉" "橘子" "葡萄")

8.2 读取数组元素

下标从 0 开始:

echo ${arr[0]} echo ${arr[1]}

8.3 读取所有元素

echo ${arr[@]}

8.4 获取数组长度

echo ${#arr[@]}

8.5 遍历数组

for fruit in ${arr[@]} do echo $fruit done

九、环境变量永久配置方法

9.1 用户级别(推荐)

只对当前用户生效: 编辑~/.bashrc写入:

export 自定义变量=值 export PATH=$PATH:新路径

生效:

source ~/.bashrc

9.2 系统级别(所有用户)

编辑/etc/profile配置后执行:

source /etc/profile

十、总结

  1. 环境变量是 Linux 键值对配置,可供系统、程序、脚本共用。
  2. 局部变量环境变量,export 可升级为全局变量。
  3. 可以自定义、删除变量,使用 unset 清理。
  4. 系统自带 PATH、HOME、USER 等常用默认环境变量。
  5. PATH 控制命令查找路径,支持临时和永久配置。
  6. 环境变量存放在/profile.bashrc等配置文件。
  7. Shell 支持数组变量,可以取值、遍历、获取长度。

版权声明

本文为原创 Linux 环境变量详细教程,知识点完整、结构规范,适合 CSDN 发布、课程实训作业、期末复习使用,禁止未经授权转载抄袭。

http://www.cnnetsun.cn/news/2648121.html

相关文章:

  • Airy光束自由传播光强仿真:Matlab一键运行生成2D/3D分布图
  • 2026年企业聊天通讯工具选型指南:四大阵营与决策框架
  • 事件驱动架构:实现松耦合的系统设计
  • 现在不评估Claude代码质量,下季度将面临审计否决——金融级静态分析SOP限时解密
  • 2026年国际物流管理系统深度测评:技术架构、选型逻辑与行业实践
  • Linux 文件权限超详细详解(读懂权限标识、数字权限、特殊权限、chmod/chown)
  • 中电金信分布式核心系统与鲲鹏实现“原生开发”,共筑数智金融新范式
  • SSM架构JavaWeb点餐系统源码(含MySQL建库脚本与可运行工程)
  • 网络工程- 如何组件一个小型办公室网络
  • 如何选择电钢琴?立体声音效与型号对比
  • 如何在浏览器中一键解锁加密音乐文件:告别平台限制的音乐自由方案
  • EasyBox下载与使用教程:无限制看全网影视资源(安卓)还支持聚合搜索
  • 书匠策AI到底是个啥?一个论文科普博主的深度拆解,看完你会回来谢我
  • Armbian挂载U盘时,中文文件名乱码怎么办?手把手教你解决FAT32/NTFS/exFAT编码问题
  • mac brew安装(国内)
  • AI 一键生成淘宝主图的软件有哪些?—— 电商视觉革命下的工具全景与选择指南
  • RTX-Tiny多版本库管理实践与Keil工程配置
  • nnDetection实战:手把手教你用Python在自家电脑上跑通第一个肺结节检测模型
  • 国产超宽带混频器打破垄断,水平国际先进,背后大有来头
  • 别再重启电脑了!Windows 11下dwm.exe内存飙升,试试更新Intel核显驱动(附详细步骤)
  • Androidstudio打开一个工程会很慢,一只在scan或者update文件,有什么优化对策么?
  • 五完小网络覆盖建设方案
  • TCGA数据挖掘避坑指南:手把手教你用GEPIA做可靠的共表达与相关性分析
  • 微能量收集PMIC芯片AEM00920的国产替代MF9005
  • 保姆级教程:用MyDockFinder的创意工坊皮肤,把你的Windows桌面彻底Mac化
  • 破解地表形变监测难题:GMTSAR全流程InSAR形变监测技术指南数据处理、形变信息提取与分析等实践技术应用
  • 从心电信号到股票K线:波峰波谷检测的跨界实战应用(含MATLAB/Python实例)
  • AI Agent Harness Engineering 创业风险规避:市场、技术与政策的潜在坑点
  • 从图像压缩到数据分析:用Python手把手实现PCA与K-L展开的实战对比
  • 用CTGAN搞定表格数据生成:从原理到实战,手把手教你生成高质量合成数据