【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

成功配置了环境变量

  • 重新记录后仍然有效
  • 切换用户后失效
相关推荐
Zfox_2 小时前
Redis:Hash数据类型
服务器·数据库·redis·缓存·微服务·哈希算法
Kookoos3 小时前
Dynamics 365 Finance + Power Automate 自动化凭证审核
运维·自动化·dynamics 365·power automate
apocelipes5 小时前
Linux c 运行时获取动态库所在路径
linux·c语言·linux编程
ABB自动化6 小时前
for AC500 PLCs 3ADR025003M9903的安全说明
服务器·安全·机器人
努力学习的小廉6 小时前
深入了解linux系统—— 进程池
linux·运维·服务器
秃头菜狗7 小时前
各个主要目录的功能 / Linux 常见指令
linux·运维·服务器
利刃大大7 小时前
【在线五子棋对战】二、websocket && 服务器搭建
服务器·c++·websocket·网络协议·项目
2301_793102497 小时前
Linux——MySql数据库
linux·数据库
vfvfb7 小时前
bat批量去掉本文件夹中的文件扩展名
服务器·windows·批处理·删除扩展名·bat技巧
jiunian_cn8 小时前
【Linux】centos软件安装
linux·运维·centos