【Linux】环境变量

一、环境变量

1.1 环境变量

  • 我们知道使用的一系列命令其实本质上就是一个个的可执行程序。
  • 比如,cd命令的本体就是:/usr/bin/cd 这个程序文件。
  • 我们是否会有疑问,为何无论当前工作目录在哪里,都能执行:/usr/bin/cd这个程序呢?
  • 这就是环境变量的作用啦。

环境变量是操作系统(Windows、Linux、Mac)在运行的时候,记录的一些关键性信息,用以辅助系统运行。

在Linux系统中执行:env命令即可查看当前系统中记录的环境变量

shell 复制代码
env

环境变量是一种KeyValue型结构,即名称和值,如下图:

图中记录了:

HOME:/home/liuhang,用户的HOME路径

USER:liuhang,当前的操作用户

PWD:当前工作路径

...

等等一系列信息,用于辅助系统在运行的时候

从环境变量中获取关键信息

1.2 环境变量:PATH

在前面提出的问题中,我们说无论当前工作目录是什么,都能执行/usr/bin/cd这个程序,这个就是借助环境变量中:PATH这个项目的值来做到的。

shell 复制代码
env | grep PATH

PATH记录了系统执行任何命令的搜索路径,如上图记录了(路径之间以:隔开):

/usr/local/bin

/usr/bin

/usr/local/sbin

/usr/sbin

/home/liuhang/.local/bin

/home/itheima/bin

当执行任何命令,都会按照顺序,从上述路径中搜索要执行的程序的本体

比如执行cd命令,就从第二个目录/usr/bin中搜索到了cd命令,并执行

1.3 $符号

  • 在Linux系统中,$符号被用于取"变量"的值。
  • 环境变量记录的信息,除了给操作系统自己使用外,如果我们想要取用,也可以使用。
  • 取得环境变量的值就可以通过语法:$环境变量名 来取得
  • 比如:
shell 复制代码
echo $PATH
  • 就可以取得PATH这个环境变量的值,并通过echo语句输出出来。
  • 当和其它内容混合在一起的时候,可以通过{}来标注取的变量是谁
shell 复制代码
echo ${PATH}ABC

1.4 自行设置环境变量

Linux环境变量可以用户自行设置,其中分为:

  • 临时设置
    *语法

    export 变量名 = 变量值

  • 下面是一个简单的例子:

shell 复制代码
export liuhang=666
echo $liuhang

关闭命令行再打开,发现已经失效了:

  • 永久生效,针对当前用户生效,配置在当前用户的: ~/.bashrc文件中。针对所有用户生效,配置在系统的: /etc/profile文件中。 并通过语法:source 配置文件,进行立刻生效,或重新登录FinalShell生效

针对当前用户liuhang配置

  • 使用vim打开配置文件
shell 复制代码
sudo vim ~/.bashrc
  • 加入配置的信息:
  • 然后使用source命令来更新环境变量
shell 复制代码
source ~/.bashrc

成功配置了环境变量

  • 重新记录后仍然有效
  • 切换用户后失效
相关推荐
张火火isgudi7 小时前
fedora43 安装 nvidia 驱动以及开启视频编解码硬件加速
linux·运维·视频编解码·nvidia
赋创小助手7 小时前
融合与跃迁:NVIDIA、Groq 与下一代 AI 推理架构的博弈与机遇
服务器·人工智能·深度学习·神经网络·语言模型·自然语言处理·架构
电商API&Tina8 小时前
跨境电商 API 对接指南:亚马逊 + 速卖通接口调用全流程
大数据·服务器·数据库·python·算法·json·图搜索算法
IT19958 小时前
Qt笔记-使用SSH2进行远程连接linux服务器并上传文件
linux·服务器·笔记
XXYBMOOO8 小时前
内核驱动开发与用户级驱动开发:深度对比与应用场景解析
linux·c++·驱动开发·嵌入式硬件·fpga开发·硬件工程
北京盟通科技官方账号8 小时前
工业通讯底层对齐:EtherNet/IP Class 1 连接中的 32-bit Header 与内存映射逻辑
服务器·网络·网络协议·自动化·制造
叽里咕噜怪9 小时前
docker-compose 编排ruoy实践
运维·docker·容器
lengjingzju9 小时前
一网打尽Linux IPC(三):System V IPC
linux·服务器·c语言
大聪明-PLUS9 小时前
如何编写你的第一个 Linux 内核模块
linux·嵌入式·arm·smarc
知识分享小能手9 小时前
Ubuntu入门学习教程,从入门到精通,Ubuntu 22.04文件压缩与解压缩知识点详解(12)
linux·学习·ubuntu