【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

成功配置了环境变量

  • 重新记录后仍然有效
  • 切换用户后失效
相关推荐
rGzywSmDg几秒前
如何在Dev-C++中选择TDM-GCC编译器
linux·jvm·c++
Irissgwe2 分钟前
九、Linux信号机制(二)
linux·进程·可重入函数·volatile·sigchld信号·进程信号
野熊佩骑6 分钟前
一文读懂Nginx 之 Ubuntu使用apt方式安装Nginx官方最新版本
linux·运维·服务器·nginx·ubuntu·http
顶点多余26 分钟前
多路转接--select /poll
运维·服务器
老毛肚36 分钟前
微服务网关整合授权中心实现单点登录
运维·微服务·架构
小梦爱安全40 分钟前
配置RIP动态路由协议
运维·网络
闫记康43 分钟前
Linux学习day3
linux·服务器·学习
墨着染霜华1 小时前
Windows 启动 Nginx 一闪而过、pid 丢失、logs 目录报错彻底解决
运维·windows·nginx
皆圥忈1 小时前
Linux 进程管理从入门到实战(一)
linux
雪度娃娃1 小时前
Asio——socket的创建和连接
linux·运维·服务器·c++·网络协议