Linux 环境变量学习实操笔记

📅 2026/7/8 4:14:39
Linux 环境变量学习实操笔记
Linux 环境变量学习实操笔记这篇文章是小学期 Linux 环境变量课程实操整理内容所有操作都在 Xshell 远程连接虚拟机完成全程只梳理概念、操作现象与各类指令作用不编写任何程序代码完整覆盖课程小结全部知识点搭建清晰的知识框架同时配套实操截图满足本次课程作业全部要求。一、环境变量基础概念环境变量是以「名称 值」格式存储的数据操作系统和 Shell 会话都能读取使用。bash 依靠环境变量保存会话、系统工作相关信息把数据存放在内存里方便终端、各类程序随时调用也能用来保存长期需要使用的固定信息。系统自带大量默认环境变量分为两类一类是沿用早期 Unix Bourne shell 的基础变量比如 HOME、PATH、PWD、PS1 等另一类是 bash 专属新增变量包含 BASH、UID、EUID、RANDOM、GROUPS 等。行业通用习惯是系统环境变量全部使用大写命名我们自己创建的变量尽量用小写避免和系统自带变量冲突引发系统异常。二、全局环境变量与局部环境变量全局环境变量全局变量对当前 Shell 以及所有由它生成的子 Shell 全部可见任意子进程都能读取同一份变量数值。查看全局变量有两种方式env 和 printenv两条指令都会输出系统全部全局变量单独查看某一个变量既可以用 printenv 加上变量名也可以使用 echo 搭配 $ 符号读取变量内容。实操里可以直观看到父 Shell 定义的全局变量进入 bash 生成子 Shell 后依旧能正常读取到相同数值。局部环境变量局部变量仅能在创建它的当前 Shell 中使用切换到子 Shell 后无法读取。Linux 没有单独只查看局部变量的指令set 指令会一次性输出当前会话所有变量包含全局、局部、用户自定义变量输出内容还会按字母顺序自动排序。配套实操现象在父终端自定义局部变量进入子 Shell 查询会无输出如果在子 Shell 新建局部变量退出回到父 Shell 后同样读取不到能够清晰区分两种变量的作用范围。三、自定义环境变量操作方法创建局部变量直接使用等号给变量赋值有三条基础规则变量名、等号、数值之间不能加空格字符串内容包含空格时需要用单引号包裹仅当前终端生效子 Shell 无法访问。如果对同一个变量重复赋值新数值会直接覆盖原有内容。转为全局变量先创建局部变量再通过 export 指令导出就能升级为全局变量所有子 Shell 都能读取。这里有一个关键点子 Shell 内修改全局变量只会改变自身环境内的数值不会同步影响父 Shell 里原始变量的值。删除环境变量unset 指令可以清除已定义的变量操作变量时变量名前方不需要加(只有读取变量值的时候才需要搭配)符号。仅通过命令行创建、导出的变量是临时生效的关闭终端或者重启系统后就会消失。想要永久保存变量需要写入用户专属启动文件/.bashrc写入后执行 source 指令刷新文件不用重启终端就能立刻生效。四、PATH 环境变量详解PATH 是 Shell 查找外部命令的目录清单目录之间用冒号隔开。我们在终端输入外部程序名称时系统会按照 PATH 里记录的目录顺序挨个检索找到对应可执行文件才能运行。如果软件安装在自定义目录不在 PATH 清单内直接输入程序名会提示找不到指令两种解决办法每次运行完整路径 程序名操作繁琐临时追加目录到 PATH使用 export PATH$PATH: 自定义目录路径当前终端可用想要永久生效依旧写入/.bashrc 配置文件刷新后长期保存。五、系统与用户环境变量存放文件登录 Linux 启动登录 Shell 时系统会依次读取多份启动文件加载环境变量分为系统级文件和用户个人文件。系统全局文件/etc/profile所有用户登录都会加载里面会循环读取 /etc/profile.d 目录下所有 sh 脚本统一配置全系统共用环境配套还有 /etc/bash.bashrc 存放系统通用配置。用户专属隐藏文件存放在个人家目录分别是.bash_profile、.bash_login、.profile、.bashrc不会全部同时生效系统会按顺序检测文件是否存在。其中.profile 会主动调用同目录下的.bashrc我们日常自定义变量、修改 PATH 基本都写在.bashrc 中。使用 ls -a 指令可以查看家目录下所有隐藏配置文件直观看到这几个启动文件。六、Shell 数组变量bash 仅支持一维数组用来一次性存储多个数据使用括号包裹内容多个元素用空格分隔数组下标从 0 开始计数。基础操作方式读取单个元素搭配下标读取读取数组全部内容使用 * 通配符修改元素直接通过下标重新赋值覆盖原有内容删除操作unset 加数组下标删除单个元素只清空对应位置内容不会打乱其他下标unset 加数组名直接清空整个数组。七、完整知识框架梳理基础概念层环境变量定义、系统默认自带变量、大小写命名规范变量分类层全局变量、局部变量区别查看指令 env、printenv、set作用范围实操区分变量操作层自定义局部变量、export 导出全局变量、unset 删除变量临时生效与永久写入.bashrc 配置PATH 专项PATH 作用、临时追加目录、永久配置方法启动文件层系统级 /etc/profile、用户家目录四类隐藏启动文件加载逻辑数组层一维数组创建、读取、修改、删除操作规则。八、课程配套三个练习题实操总结变量查看练习题分别运行 env、printenv、set 对比输出内容在父子 Shell 分别查看 PWD验证全局变量跨进程可见特性全局变量实操练习父 Shell 创建变量并导出子 Shell 读取、重新赋值退出子 Shell 对比父变量原值验证子 Shell 修改不影响父环境数组实操练习新建多元素数组、修改单个元素、删除单个元素、清空整个数组观察每一步输出变化。九、实操总结感悟全部内容都在 Xshell 手动操作验证实操过程能直观理解理论知识全局变量可以传递给子 Shell局部变量只局限当前终端子 Shell 修改全局变量属于独立副本不会改动父环境命令行创建的变量全部临时生效想要永久保存必须写入 bashrc 配置文件PATH 决定命令检索路径自定义程序添加目录后才能直接调用数组可以批量存储多条数据下标操作灵活。整套知识点由基础概念到实操配置层层递进理清 Linux 终端环境数据存储、传递的完整逻辑。