当前位置: 首页 > 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.zskr.cn/news/1424810.html

相关文章:

  • 体验专题—1688商家版如何解决困扰用户的白屏问题
  • 【MySQL】 索引核心知识点:索引下推、索引失效、联合索引、使用规范
  • imFile架构深度解析:多协议下载引擎的技术实现与性能优化
  • 2026四川脱硫石灰批发专业厂家推荐:931脱硫石灰厂家联系方式/931脱硫石灰批发推荐/优选推荐 - 优质品牌商家
  • 从界面看MMarkets(评测类)值得关注吗?
  • 光伏并网仿真工程包:含PQ/下垂/VSG多策略模型、实测数据与技术报告
  • 10. IDA分析流程 I 芯巧Cadence 25.1新功能深入学习
  • PyTorch版UNet车道线分割实战包:Tusimple训练+实线/虚线/积水路面多视频验证
  • 如何快速掌握开源质谱数据分析工具MZmine 3的完整工作流程
  • NetcoreKevin:.NET 企业级智能体管理框架
  • C语言B样条曲线生成工具:支持2D/3D点列拟合、二/三次平滑插值与位图可视化
  • 【Claude战略规划文档实战指南】:用1份模板+6套Checklist,3天完成企业级AI路线图重构
  • Agent Teams 多代理协作
  • 业主做门窗定制,到底在定制什么?从安全、舒适到交付的真实需求分析
  • CRNN中文文字识别完整工程包:含360CC数据集、训练模型与PyTorch可运行源码
  • 模型幻觉频发、收敛极慢、资源耗尽——Claude优化问题全链路诊断,今天必须修复的4个致命配置
  • DOM ProcessingInst: 深入解析与高效实践
  • 选装修公司别瞎跑,靠谱张工教你几招辨好坏
  • 微信如何群发文件与PDF?2026合规批量分发完整解决方案
  • Uni-Dock批量对接实战:从SMILES到结果分析,一条龙避坑指南(附完整Python脚本)
  • Claude头脑风暴辅助实战手册(企业级思维加速器):覆盖创意发散、逻辑收敛、方案落地全链路
  • 如何用WeChatMsg打造个人专属的微信聊天记录档案馆
  • Wechatsync CSDN 草稿同步源码分析:为什么当前只能保存草稿,不能自动公开发布
  • 3分钟解锁极域电子教室控制:JiYuTrainer让课堂学习更自由
  • 2026年AI服务统一入口横评,主流平台技术硬实力究竟谁领先?
  • 【字节跳动】云南昆明高原恒温算力中枢 极致精细化逐条全拆解
  • Java后台一键生成Word报告:模板占位符替换、动态表格扩展、多格式图片嵌入
  • NoFences:免费开源的Windows桌面整理终极方案
  • 人与AI的关系——AI是工具,还是伴侣?
  • 如何快速批量下载微博相册高清图片:终极免费工具指南