如何理解 PATH

Q:我们输入指令,系统会干什么呢?

A:系统会在指定的路径下寻找与指令匹配的文件,然后执行。


 

Q:路径是什么?

PATH,记忆的,以冒号分隔的一系列路径;

在执行命令时,bash(命令行解释器)会依序寻找路径下是否存在对应的命令;


 

Q:指令的执行与一般可执行文件的执行有什么区别?

于此不同的是,一般执行“程序”,比如有一个 a.out 文件,执行时在前面会添加 点斜杠;

./a.out
# ./告诉了我们与指令匹配的文件的位置,即 ./ 所代表的当前路径

如果不加会告诉我们为发现该指令;

 


 

Q:如何设置路径

每当我们打开一个 bash 窗口(可以理解为登录服务器),隐藏文件 .bashrc 都会执行一遍;

手动添加 PATH 只是暂时记忆,会随着重新登录而失效,因此将命令写入环境变量的文件,可保证修改一直有效,即添加如下一行。

PATH=$PATH:.
# 注意:此处没有空格
# 注意:$PATH表示原先已有的路径
# 注意:但我们输入一个命令的时候,首先从之前查找结果的缓存中寻找,失败后依 PATH 中记录的路径寻找,又失败后报告失败

Q:我想知道输入的指令的路径是什么? —— Linux系统下查看指定命令的安装位置:https://blog.csdn.net/MakerCloud/article/details/102528771

A:$ which 指令

注意:考虑软链接的情况,指令的安装目录需进一步寻找

posted @ 2021-05-23 14:01  zhang-kaihua  阅读(234)  评论(0编辑  收藏  举报