【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

成功配置了环境变量

  • 重新记录后仍然有效
  • 切换用户后失效
相关推荐
可可嘻嘻大老虎4 小时前
nginx无法访问后端服务问题
运维·nginx
JiMoKuangXiangQu5 小时前
ARM64 进程虚拟地址空间布局
linux·arm64 虚拟地址布局
阳光九叶草LXGZXJ5 小时前
达梦数据库-学习-47-DmDrs控制台命令(LSN、启停、装载)
linux·运维·数据库·sql·学习
无忧智库6 小时前
某市“十五五“地下综合管廊智能化运维管理平台建设全案解析:从数字孪生到信创适配的深度实践(WORD)
运维·智慧城市
春日见6 小时前
如何避免代码冲突,拉取分支
linux·人工智能·算法·机器学习·自动驾驶
珠海西格6 小时前
“主动预防” vs “事后补救”:分布式光伏防逆流技术的代际革命,西格电力给出标准答案
大数据·运维·服务器·分布式·云计算·能源
无垠的广袤6 小时前
【VisionFive 2 Lite 单板计算机】边缘AI视觉应用部署:缺陷检测
linux·人工智能·python·opencv·开发板
阿波罗尼亚6 小时前
Kubectl 命令记录
linux·运维·服务器
Fᴏʀ ʏ꯭ᴏ꯭ᴜ꯭.7 小时前
Keepalived单播模式配置与实战指南
linux·服务器·负载均衡
IDC02_FEIYA7 小时前
Linux文件搜索命令有哪些?Linux常用命令之文件搜索命令find详解
linux·运维·服务器