Linux学习

让操作系统环境更干净之Linux的PATH变量

2020-12-14  本文已影响0人  zhaoolee
PATH

玩Linux一定会和命令行打交道, 比如在Ubuntu中安装git, 输入

sudo apt install git -y

回车,运行完成后,就可以在命令行中使用git命令了

git如何在命令行中生效?

我们先查看git的安装位置

which git
image-20201214090711670

git被安装到了/usr/bin 目录下

安装到/usr/bin目录下的命令, 都可以被Linux自然而然地识别到, 比如我们常用的拷贝命令cp移动命令mv 都存储在/usr/bin

image-20201214091412182

猜测: 在/usr/bin 文件夹的命令,都可以被命令行识别并生效

验证猜测,在 /usr/bin 目录下新建文件hello, 给hello添加执行权限chmod 777 hello ,并在其中加入代码 echo "hello", ,然后在命令行输入hello, 查看结果

image-20201214092229013

hello被当做命令顺利执行, 猜测成立!

但是...

/usr/bin 是很重要的目录, 内含大量系统级命令(如mv, cp), 如果把第三方命令也安装到/usr/bin 目录, 系统级命令第三方命令 就很难区分开, 当你想把第三方命令批量分享出来时, 就需要先人工进行筛选,再进行分享,很不方便, 而且Linux以管理多用户著称,如果所有用户都把软件安装到/usr/bin, 早晚会乱成一锅粥.

PATH变量

事实上, 安装到/usr/bin目录下的命令, 是通过PATH变量,被Linux自然而然地识别到。

PATH变量可以让文件夹内的命令,不需要输入完整路径,仅输入命令名,就可以执行, 我们输入git/usr/bin/git 是等效的。

PATH变量可以配置多个文件夹,使用: 分隔

image-20201214093605465

上图中 $PATH中的$是取出PATH变量的语法,PATH变量不包含$

**实际操作:如何配置PATH变量? **

我们使用给PATH变量追加文件夹路径的方式,配置PATH变量(追加 的方式不会破坏已有的PATH变量)

如果你使用base作为终端,需要在配置文件~/.bashrc 尾部追加

# 以 /home/zhaoolee/share 文件夹为例
export PATH=/home/zhaoolee/share:$PATH

如果你使用zsh作为终端,需要在配置文件~/.zshrc 尾部追加

# 以 /home/zhaoolee/share 文件夹为例
export PATH=/home/zhaoolee/share:$PATH

这里有一个小技巧:我们把$PATH放到尾部,新文件夹路径放到前面,如果新文件夹路径内的命令与原有命令存在重名(在新文件夹路径新增文件hello,内含echo "hello002") ,由于新文件夹路径比较靠前,则系统优先使用新文件夹路径下的命令。

image-20201214110937213

小结

PATH是非常重要的环境变量,学习PATH的使用原理,可以让我们思路清晰的解决软件的安装配置问题,也能让操作系统环境更干净。

阅读原文(支持读写评论)

https://www.v2fy.com/p/2020-12-14-path/

上一篇 下一篇

猜你喜欢

热点阅读