一、定義與區別
/usr/bin與/usr/local/bin這兩個目錄,都是Linux下默認的存放可執行文件的目錄,二者的不同之處在於/usr/bin存放的是系統級應用程序,而/usr/local/bin目錄中則存放的是用戶級別的應用程序。這樣做的好處是可以使系統級別與用戶級別的應用程序相互分離,防止出現混亂。
但是有一個小細節:/usr/local/bin被搜索的時間要優於/usr/bin。這表示在找尋應用程序時,首先搜索用戶級應用程序,當找不到時才會轉而從系統級應用程序中查找。
二、應用場景
通常情況下,/usr/bin目錄的應用程序都是由系統管理員預先安裝的,這些應用程序對於系統和所有用戶都是必不可少的。而/usr/local/bin目錄中的應用程序,則是由普通用戶自己安裝的,並且在很多情況下都只會對該用戶自己有用。
例如,假設你在開發Python應用程序,並使用virtualenv環境來創建Python虛擬環境。在virtualenv虛擬環境中安裝的Python程序就會安裝到/usr/local/bin目錄中。由於不同虛擬環境可能會使用不同的Python版本和庫,因此將/usr/local/bin目錄添加到用戶的PATH環境變數中,這可以使用戶在不同虛擬環境之間切換時能夠輕鬆使用相應的Python程序。
三、如何添加路徑
在Linux中,當我們在終端輸入命令的時候,會通過環境變數PATH來尋找該命令所在的路徑。如果想要添加新的路徑到PATH變數中,可以打開並編輯~/.bashrc文件:
$ vim ~/.bashrc
接著使用export命令添加新的路徑到PATH變數中:
export PATH=$PATH:/your/new/path
這裡的/your/new/path就是你要添加的新路徑。
四、小結
在Linux系統中,/usr/bin與/usr/local/bin是存放可執行文件的兩個默認目錄,區別在於/usr/bin存放系統級別的應用程序,而/usr/local/bin中存放用戶級別的應用程序,並且優先搜索用戶級別的應用程序。通常情況下,我們應該儘可能地將可執行文件安裝到/usr/local/bin目錄中,並將該目錄添加到用戶的PATH變數中,這樣可以方便用戶在不同的虛擬環境中切換,並避免與系統級別的應用程序混亂。
原創文章,作者:OLVPB,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/313347.html