【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

成功配置了环境变量

  • 重新记录后仍然有效
  • 切换用户后失效
相关推荐
荣光波比30 分钟前
Nginx 实战系列(七)—— Nginx一键安装脚本详解
运维·nginx·自动化·云计算
努力学习的小廉40 分钟前
深入了解linux系统—— 线程同步
linux·服务器·数据库·算法
sinat_602035361 小时前
模块与包的导入
运维·服务器·开发语言·python
鲸屿1951 小时前
Ansible之playbook
服务器·网络·ansible
2301_810154551 小时前
VM中CentOS 7密码重置
linux·运维·centos
zhaqonianzhu1 小时前
Linux GPIO 使用 Pinctrl 及 Gpiolib 通俗详解
linux·安卓
网硕互联的小客服1 小时前
408 Request Timeout:请求超时,服务器等待客户端发送请求的时间过长。
运维·服务器
王伯安呢1 小时前
告别线缆束缚!AirDroid Cast 多端投屏,让分享更自由
运维·服务器·教程·投屏·airdroid cast·多端互投
逍遥浪子~1 小时前
搭建本地gitea服务器
运维·服务器·gitea
骄傲的心别枯萎1 小时前
RV1126 NO.16:通过多线程同时获取H264和H265码流
linux·c++·音视频·rv1126