標籤:path環境變數 linux
首先一點Linux中的每個命令其本質是一個可執行檔檔案,以ls命令為例。通過命令:$:whereis ls可以查看ls命令的位置在/bin/目錄下。當用$:ls -l /bin/ls命令查看檔案/bin/ls的屬性時,得到如下結果:
其實我們在任意目錄下執行的ls命令時,其實執行的是位於/bin目錄下的ls檔案。那麼當在任意目錄下執行各種命令時,是怎麼找到各自的命令的呢?這就是PATH的作用。查看環境變數PATH的內容如下:
PATH的作用就是,當輸入命令的時候,Linux會去尋找PATH裡面記錄的路徑。比如/usr/local/sbin、/usr/sbin等等,這就是可以在根目錄下輸入ls,在/usr目錄下也可以輸入ls,但其實這個命令根本不在這兩個目錄下,而該命令卻能執行的原因。
新增自訂路徑:
當我們新安裝或自己新寫了一個命令(比如newcommand) 在/usr/local/new/bin下面,而又想能夠在任意目錄下執行該命令時,就需要修改環境變數PATH了,具體點說就是增加PATH的值,使用的命令如下
export PATH=$PATH:/usr/local/new/bin
通常的做法是把上面的一條命令下到~/.bashrc的末尾,然後重新登入LINUX系統的時候,新的預設路徑就添加進去了。也可以不重新登入,用下面的命令修改PATH:source ~/.bashrc 。可以用echo $PATH命令查看是否添加成功。
刪除自訂的路徑:
當某天發現上面添加的路徑沒用時,可以通過修改~/.bashrc檔案裡添加的路徑;也可以修改/etc/profile檔案刪除不需要的路徑。
當配置交叉編譯工具鏈時,需要修改環境變數PATH,從而指定編譯工具的路徑。下面假設交叉編譯工具鏈的目錄為:/opt/au1200_rm/build_tools/bin 以此為例,說明修改環境變數PATH的三種方法:
<1>.臨時環境變數,重啟後消失
直接用export命令:
export PATH=$PATH:/opt/au1200_rm/build_tools/bin
<2>.修改/etc/profile檔案:對所有使用者都有效。
#vi /etc/profile
在最後添加:export PATH=“$PATH:/opt/au1200_rm/build_tools/bin"
<3>.修改~/.bashrc檔案,僅對目前使用者有效。
#vi ~/.bashrc
在最後添加:export PATH=“$PATH:/opt/au1200_rm/build_tools/bin"
方法<2><3>可以永久改變環境變數,一般需要重新登出系統才會生效。也可以運行#source /etc/profile命令,使修改立即生效。該方法的原理是再執行一次/etc/profile shell指令碼。
參考文檔:
<1>.http://hi.baidu.com/jsxjgdvqatbfgqq/item/27d41611065860ddbe904213
<2>.http://www.cppblog.com/gujiayue/archive/2011/10/22/158890.html