Linux下的PATH環境變量詳細用法

linux PATH環境變量全解析

 

關於PATH的作用: 

PATH說簡單點就是一個字符串變量,當輸入命令的時候LINUX會去查找PATH裏面記錄的路徑。

比如在根目錄/下可以輸入命令ls,
 

在/usr目錄下也可以輸入ls,

但其實ls這個命令根本不在這個兩個目錄下。

事實上當你輸入命令的時候LINUX會去/bin,/usr/bin,/sbin等目錄下面去找你此時輸入的命令,

而PATH的值恰恰就是/bin:/sbin:/usr/bin:……。

其中的冒號使目錄與目錄之間隔開。


關於新增自定義路徑:

假設新安裝了一個命令在/usr/locar/new/bin下面,

如果想像ls一樣在任何地方都使用這個命令,

就需要修改環境變量PATH了。

準確的說就是給PATH增加一個值/usr/locar/new/bin。

 

需要一行bash命令:

export PATH=$PATH:/usr/locar/new/bin

這條命令的意思爲: 使PATH自增:/usr/locar/new/bin,

既PATH=PATH+":/usr/locar/new/bin";

 

通常的做法是:

把這行bash命令寫到/root/.bashrc的末尾,

然後當你重新登陸LINUX的時候(應該是linux啓動時就會執行這個文件),

新的默認路徑就添加進去了。

當然,

也可以直接用命令:

source /root/.bashrc

執行這個文件重新登陸了。

可以用echo $PATH命令查看PATH的值。


關於刪除自定義路徑:

如果發現新增的路徑/usr/locar/new/bin已經沒用了,

可以修改/root/.bashrc文件裏面你新增的路徑。

或者修改/etc/profile文件刪除不需要的路徑

 

修改/root/.bashrc文件,

刪除相應環境變量選項,然後

¥source /root/.bashrc

即可。

或者可以利用命令。如要刪除PATH裏的/usr/local/del/bin:變量,則可直接在命令行裏輸入

$export PATH=$(echo $PATH | sed 's/:\/usr\/local\/del\/bin:/:/g')

注意:"/"代表轉意字符

 

比如要把/etc/apache/bin目錄添加到PATH中,方法有三:

1.

$PATH=$PATH:/etc/apache/bin

使用這種方法,只對當前會話有效,

也就是說每當登出或註銷系統以後,PATH 設置就會失效

 

2.

$vim /etc/profile

在適當位置添加 PATH=$PATH:/etc/apache/bin (注意:= 即等號兩邊不能有任何空格)

這種方法最好,除非你手動強制修改PATH的值,否則將不會被改變

   

3.

$vim ~/.bash_profile

修改PATH行,把/etc/apache/bin添加進去

這種方法是針對用戶起作用的

 

NOTE:

想改變PATH,必須重新登陸才能生效,以下方法可以簡化工作:

如果修改了/etc/profile,

那麼編輯結束後執行

$source profile(source /etc/profile) 

或 執行點命令

$ ./profile,

PATH的值就會立即生效了。

這個方法的原理就是再執行一次/etc/profile shell腳本,

注意如果用sh /etc/profile是不行的,因爲sh是在子shell進程中執行的,即使PATH改變了也不會反應到當前環境中,

但是source是在當前 shell進程中執行的,所以我們能看到PATH的改變。

這樣你就學會Linux系統下修改環境變量PATH路徑的方法。


補充說明

工作環境設置文件

環境設置文件有兩種:系統環境設置文件 和 個人環境設置文件

 

1.系統中的用戶工作環境設置文件:

  登錄環境設置文件:/etc/profile     

  非登錄環境設置文件:/etc/bashrc

 

2.用戶個人設置的環境設置文件:

  登錄環境設置文件: $HOME/.bash_profile   //這個是環境變量設置的地方

  非登錄環境設置文件:$HOME/.bashrc       //這個是定義別名的地方

 

登錄環境:指用戶登錄系統後的工作環境

非登錄環境:指用戶再調用子shell時所使用的用戶環境


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章