当前位置: 首页 > 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.jsqmd.com/news/913502/

相关文章:

  • 体验专题—1688商家版如何解决困扰用户的白屏问题
  • 剑与翼 - 经典复刻 1.03:老玩家实测,原汁原味的魔幻情怀回归
  • 中文学术论文语义检索实战工程:Milvus向量库+ERNIE编码+SimCSE与IBN联合训练+Cross-Encoder精排
  • Claude文档生成准确率从68%跃升至94.7%:我们如何用RAG+领域微调+人工反馈闭环重构提示链
  • 【MySQL】 索引核心知识点:索引下推、索引失效、联合索引、使用规范
  • 3分钟完全指南:使用qmc-decoder免费解锁QQ音乐加密文件
  • Hello HarmonyOS:搭建DevEco Studio开发环境与第一个应用运行(1)
  • 为什么92%的Claude企业用错画像标签?深度解析行为埋点偏差、冷启动陷阱与动态衰减曲线
  • Vue3旅游网站源码包:含首页/景点/线路/海报/关于我们/登录注册等9大功能页
  • Claude合同条款审查实操手册:5步精准定位AI服务隐性风险,90%企业已踩坑
  • 2026年卫生避光瓶top10推荐:江苏瓶盖/江苏精油盖/江苏胶头滴管盖/江苏螺口瓶/合规性与性能双维度盘点 - 优质品牌商家
  • 安达发|aps高级排产:电动工具行业智能制造的核心引擎
  • Airy光束自由传播光强仿真:Matlab一键运行生成2D/3D分布图
  • 抖音下载工具深度解析:架构哲学与实战优化指南
  • 深度科普|现代通信技术全解析:从底层原理到5G硬核核心
  • 从移动端看MMarkets(评测类)值得关注吗?
  • imFile架构深度解析:多协议下载引擎的技术实现与性能优化
  • JavaWeb问卷系统实战工程:含完整源码、MySQL建库脚本与可直接运行的JSP页面
  • Claude Code相关最新问题解决API Error: 400 Failed to deserialize the JSON body into the target type:
  • cmd操作手机命令行
  • 【AI时代PRD新范式】:为什么你的Claude需求文档总被研发拒收?3个权威验证指标揭晓
  • 光伏并网仿真工程包:含PQ/下垂/VSG多策略模型、实测数据与技术报告
  • 2026四川脱硫石灰批发专业厂家推荐:931脱硫石灰厂家联系方式/931脱硫石灰批发推荐/优选推荐 - 优质品牌商家
  • 10. IDA分析流程 I 芯巧Cadence 25.1新功能深入学习
  • 2026腾讯广告算法大赛的反思
  • 从界面看MMarkets(评测类)值得关注吗?
  • 终极HS2-HF Patch模组包:200+插件一键安装,彻底解决Honey Select 2兼容性问题
  • 13454353
  • Artec 3D三维扫描技术赋能卢森堡大公青铜肖像创作【巷尚UP3D】
  • 软件测试常见面试题整理