linux PATH環境變量全解析


 
關於PATH的作用:  www.2cto.com  
PATH說簡單點就是一個字符串變量,當輸入命令的時候LINUX會去查找PATH裏面記錄的路徑。
比如在根目錄/下可以輸入命令ls,
 
在/usr目錄下也可以輸入ls,
但其實ls這個命令根本不在這個兩個目錄下。
事實上當你輸入命令的時候LINUX會去/bin,/usr/bin,/sbin等目錄下面去找你此時輸入的命令,
而PATH的值恰恰就是/bin:/sbin:/usr/bin:……。
其中的冒號使目錄與目錄之間隔開。
   www.2cto.com  
關於新增自定義路徑:
假設新安裝了一個命令在/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的值。
   www.2cto.com  
關於刪除自定義路徑:
如果發現新增的路徑/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的值,否則將不會被改變
   www.2cto.com  
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路徑的方法。
  www.2cto.com  
補充說明
工作環境設置文件
環境設置文件有兩種:系統環境設置文件 和 個人環境設置文件
 
1.系統中的用戶工作環境設置文件:
  登錄環境設置文件:/etc/profile     
  非登錄環境設置文件:/etc/bashrc
 
2.用戶個人設置的環境設置文件:
  登錄環境設置文件: $HOME/.bash_profile   //這個是環境變量設置的地方
  非登錄環境設置文件:$HOME/.bashrc       //這個是定義別名的地方
 
登錄環境:指用戶登錄系統後的工作環境
非登錄環境:指用戶再調用子shell時所使用的用戶環境

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