美文网首页Linux学习
让操作系统环境更干净之Linux的PATH变量

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

作者: zhaoolee | 来源:发表于2020-12-14 15:52 被阅读0次
    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/

    相关文章

      网友评论

        本文标题:让操作系统环境更干净之Linux的PATH变量

        本文链接:https://www.haomeiwen.com/subject/waivgktx.html