初识Linux环境变量

Linux环境变量是操作系统中的一种机制,它们作为键值对存储在内存中,提供了关于用户工作环境的配置信息。这些变量对系统和运行在系统上的程序具有全局性影响,能够定制化程序的运行环境。环境变量通常包含诸如用户主目录(HOME)、命令搜索路径(PATH)、用户当前使用的Shell(SHELL)、语言和区域设置(LANG)等重要信息。

环境变量的主要特点和功能包括:

全局性:环境变量对所有用户或特定用户的所有进程可见。
传递性:当一个进程创建子进程时,环境变量会被复制到子进程中,确保了环境配置的一致性。
动态性:可以在用户登录时通过配置文件设置,也可以在Shell会话中临时设置或修改。
控制行为:程序可以根据环境变量的内容改变其行为,比如根据EDITOR变量选择默认的文本编辑器。
分类:分为系统变量(全局变量)和用户变量(局部变量),前者影响整个系统,后者仅影响特定用户。
环境变量可以通过命令行进行查看、设置和修改。例如,使用env命令可以列出所有环境变量,使用echo $VARIABLE_NAME可以查看特定变量的值,而使用export VARIABLE_NAME=value可以在当前会话中设置一个新的环境变量或修改现有变量的值。若要永久设置环境变量,则需编辑相应的配置文件,如.bashrc, .profile或 /etc/environment等,这取决于变量的应用范围和所用的Shell类型。

环境变量演示

使用echo指令,打印环境变量的值 Linux 操作系统中,如果要使用变量,需要在变量名称之前,加上$符号。 $符号在Linux终端中的含义是,代表普通用户。

使用which指令查看ping程序所在的路径(目录)

[root@wcgpy ~]# which ping
 /usr/sbin/ping

ping 指令的-c选项

ping指令,-c选项,表示发送ICMP协议的数据包发送2次给jd.com这个服务器/域名。

[root@wcgpy ~]# ping jd.com -c 2 PING jd.com (211.144.27.126) 56(84) 比特的数据。 
64 比特,来自 211.144.27.126 (211.144.27.126): icmp_seq=1 ttl=128 时间=12.1 毫秒 
64 比特,来自 211.144.27.126 (211.144.27.126): icmp_seq=2 ttl=128 时间=12.2 毫秒 --- jd.com ping 统计 --- 
已发送 2 个包, 已接收 2 个包, 0% packet loss, time 1003ms  
rtt min/avg/max/mdev = 12.052/12.109/12.166/0.057 ms
pwd,查看当前用户属于的工作目录
 [root@wcgpy ~]# pwd 
 /root 

根下的root目录

使用export指令,将PATH环境变量,设置为/root/bin
查看原有的环境变量信息
echo $PATH
修改环境变量
[root@wcgpy etc]# export PATH=/root/bin
确认环境变量是否被修改成功
[root@wcgpy etc]# echo $PATH
/root/bin
测试设置PATH之后的效果
[root@wcgpy etc]# ping qq.com -c 2 
-bash: ping:未找到命令 

疑问:Linux系统中,明明有ping程序/指令,为什么提示说没找到命令呢? 就是因为设置了PATH,环境变量被修改了,因为,我们每次在Shell终端输入命令的 时候,Shell 程序(bash)默认会通过 PATH 环境变量定义的路径,去查找对应的指令或者 程序,如果在PATH环境变量中,没找到对应的指令或者程序,则会提示command not found 或者命令没找到的提示信息。

上一篇:C语言| for嵌套循环


下一篇:Vue插槽与作用域插槽