玩Linux一定會和命令行打交道, 比如在Ubuntu中安裝git, 輸入
sudo apt install git -y回車,運行完成後,就可以在命令行中使用git命令了
git如何在命令行中生效?我們先查看git的安裝位置
which gitgit被安裝到了/usr/bin 目錄下
安裝到/usr/bin目錄下的命令, 都可以被Linux自然而然地識別到, 比如我們常用的拷貝命令cp和 移動命令mv 都存儲在/usr/bin 中
猜測: 在/usr/bin 文件夾的命令,都可以被命令行識別並生效
驗證猜測,在 /usr/bin 目錄下新建文件hello, 給hello添加執行權限chmod 777 hello ,並在其中加入代碼 echo "hello", ,然後在命令行輸入hello, 查看結果
hello被當做命令順利執行, 猜測成立!
但是...
/usr/bin 是很重要的目錄, 內含大量系統級命令(如mv, cp), 如果把第三方命令也安裝到/usr/bin 目錄, 系統級命令和第三方命令 就很難區分開, 當你想把第三方命令批量分享出來時, 就需要先人工進行篩選,再進行分享,很不方便, 而且Linux以管理多用戶著稱,如果所有用戶都把軟體安裝到/usr/bin, 早晚會亂成一鍋粥.
PATH變量事實上, 安裝到/usr/bin目錄下的命令, 是通過PATH變量,被Linux自然而然地識別到。
PATH變量可以讓文件夾內的命令,不需要輸入完整路徑,僅輸入命令名,就可以執行, 我們輸入git 與/usr/bin/git 是等效的。
PATH變量可以配置多個文件夾,使用: 分隔
上圖中 $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/