如何理解 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 指令
注意:考虑软链接的情况,指令的安装目录需进一步寻找
Q:可执行文件的运行方式:指明“机器”和“文件”