初识“PATH”环境变量

环境变量PATH
今天在闲暇之时,拿出抛弃许久的《鸟哥》,看了看第七章关于“Linux文件与目录管理”。当看到“关于执行文件路径的变量:$PATH”时,想到自己与它的熟悉与陌生。熟悉是因为本周以来的某些疑问在学长的帮助下涉及到了它,陌生是因为我对它的不了解。因此自己认真学习了本节知识,下面是我自己所理解到的一些知识。

我们都知道查看文件属性的命令ls的完整文件名为:/bin/ls (这是绝对路径),那你会不会觉得奇怪:“为什么我可以在任何地方执行/bin/ls这个命令,而不会提示说找不到呢?” 这是因为环境变量PATH的帮助。例如:ls,系统会按照PATH的设置去每个PATH定义的目录下查询文件名为ls的可执行文件。 如果在PATH定义的目录中含有多个文件名为ls的可执行文件,那么先查询到的同名命令先被执行。

现在,你就可以通过执行 “echo $PATH”来看看到底哪些目录被定义出来了。echo 有“显示/打印出”的意思,而PATH前面加的$表示后面接的是变量,所以会显示出目前的路径。
初识“PATH”环境变量_第1张图片

注:PATH这个变量一定要大写。PATH这个变量的内容是由一堆目录所组成的,每个目录中间用冒号( : )来隔开。

编辑自己的PATH声明格式如下:
PATH = “$PATH”:::------:
环境变量修改后,在用户下次登录时生效,如果想立即生效,则可执行:$source .bash_profile

在学长帮我修改环境变量PATH时,他对家目录下的.bashrc进行了编辑(即:~/.bashrc)。

在《鸟哥》最后他提了这样一个问题:为什么PATH查询的目录不加入本目录(.)?加入本目录的查询是不是也不错?
答:如果在PATH中加入本目录(.)后,确实我们就能够在命令所在目录进行命令的执行了。但是由于你的工作目录并非固定(经常会使用cd来切换到不同的目录),因此能够执行的命令会有变动(因为每个目录下面的可执行文件都不相同),这对于用户来说并非好事。所以为了安全起见,不建议将“.”加入PATH的查询目录中。

你可能感兴趣的:(C语言,Linux学习总结)