文章目录
一、基本概念
-
环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数。
-
如:我们在编写C/C++代码的时候,在链接的时候,从来不知道我们的所链接的动态静态库在哪里,但是照样可以链接成功,生成可执行程序,原因就是有相关环境变量帮助编译器进行查找。
-
环境变量通常具有某些特殊用途,还有在系统当中通常具有全局特性。
二、获取和修改环境变量
命令:env。可以获取系统中全部的环境变量。
可以看到环境变量是非常多的,理解几个重要的。
USER=csj
解释:当前登录的用户名。
PATH=/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/csj/.local/bin:/home/csj/bin
解释:可执行文件的目录路径列表。
HOME=/home/csj
解释:用户登录目录路径(也就是家目录)。
PWD=/home/csj
解释:当前工作目录。
当我们登录普通用户的时候和登录root用户的时候,pwd怎么就知道我们在哪个目录下?
登录的时候:
- 输入用户名和密码
- 认证
- 形成环境变量(肯定不止一个,PATH,PWD,HOME)
- 根据用户初始化HOME=/root或者HOME=/home/xxx
- cd $HOME
就这样不同用户登录的时候,它的家目录都是确定好的。
三、PATH环境变量
命令echo $PATH查看PATH环境变量。
以冒号分割。
PATH环境变量是一个非常重要的环境变量。
它用于指定操作系统在执行命令时搜索可执行文件的目录路径列表。
比如ls命令,它不在当前的工作目录下,但是我们可以直接使用呢?原因就是ls是环境变量/usr/bin下的一个可执行文件。
在windows系统中也是一样的,环境变量也是有大作用的,比如我们可以将QQ的路径添加到PATH环境变量中,使用cmd命令也可以打开QQ。
也是一样,在cmd运行框中,虽然qq的路径不在该路径下,但是一样可以运行,这就是PATH环境变量的作用,由此可见,PATH环境变量是具有全局性的。
运行可执行程序,需要加上./,表明在当前路径下,我们可以将该可执行程序路径加入到PATH中去,就可以实现直接使用可执行程序。
添加路径到PATH中去,命令:PATH:$PATH:路径。
还可以PATH=“”,将PATH直接置为空。注意这里所有修改PATH的做法都是临时性的,它是在内存中实现的,当你重启xshell后,环境变量又会重置(因为.bash_profile文件并没有修改)。