linux命令(11)環境變量:查看和添加環境變量

linux 環境變量系統:html

系統級別:/etc/profile、/etc/bashrc/ 、/etc/environmentmysql

用戶級別:~/.profile、~/.bashrc、 ~/.bash_profile 或 ~/.bash_loginlinux

http://www.javashuo.com/article/p-mphdnvbs-eh.htmlsql

 

LIBRARY_PATH和LD_LIBRARY_PATH的區別:shell

http://www.javashuo.com/article/p-wwwyxcro-ea.htmlubuntu

簡介:緩存

  PATH和LD_LIBRARY_PATH本質都是變量,所謂變量的意思就是由別人賦值產生的,直覺每每會讓咱們添加和減小這個變量自己的某些路徑,實際上這是不正確的。正確的作法是咱們要去修改賦予這個變量數值的那些配置文件,加一條路徑或者減一條。說到底變量只關乎顯示,不關乎其用於顯示的內容。bash

  首先你能夠在命令行輸入:echo  $PATH  看看你能看到什麼,那是一些 bash 路徑,函數

       以下的意思就是往 PATH 裏面新增一個/opt/bin的路徑,若是不加:$PATH的話,就表示直接把PATH賦值爲/opt/bin啦,這樣你其餘的老路徑就丟失了;spa

  export PATH="/opt/bin:$PATH"

  意思是:你如今配置的path在你須要的/opt/bin的目錄下,還要再加上原來系統自帶的path環境變量,這樣寫的目的是爲了系統能正常啓動,並且終端命令可以正常運行,若是丟掉就會命令無效等等;

如何插入環境變量:

  $PATH:決定了shell將到哪些目錄中去尋找命令或者程序,PATH值是一系列的目錄,當你要運行一個程序時,Linux在這些目錄下進行搜尋編譯連接。

  編輯PATH 聲明,其格式爲:

  PATH=$PATH:<PATH1>:<PATH2>:<PATH3>:------:<PATHN>

  你能夠本身加上指定的路徑,中間用冒號隔開。環境變量更改後,在用戶下次登錄時生效,若是想馬上生效,則可執行下面的語句:$source .bash_profile

 

 添加環境變量:

注意:

若是export 臨時添加環境變量,在腳本中執行的時候,只在該腳本內環境變量有效;

若是是想在該登陸帳戶內有效,則須要,用source 執行該腳本;

一、臨時變量的添加:退出登陸後失效;

export PATH=$PATH:/XXX  //新的環境變量 加在原有的PATH 後面;
或者
export PATH=/XXX:$PATH  //新的環境變量 加在原有的PATH 前面;
以下所示:注,不能缺失 冒號 :

www@ubuntu:~$ echo $TEST_PATH


www@ubuntu:~$ export TEST_PATH=$TEST_PATH:/home/www/1245
www@ubuntu:~$ echo $TEST_PATH
:/home/www/1245
www@ubuntu:~$ export TEST_PATH=$TEST_PATH:/home/www/124
www@ubuntu:~$ echo $TEST_PATH
:/home/www/1245:/home/www/124
www@ubuntu:~$ export TEST_PATH=/home/www/123:$TEST_PATH
www@ubuntu:~$ echo $TEST_PATH
/home/www/123::/home/www/1245:/home/www/124
www@ubuntu:~$ export TEST_PATH=/home/www/123TEST_PATH //忘加 $,直接等於
www@ubuntu:~$ echo $TEST_PATH
/home/www/123TEST_PATH


二、PATH: 可執行程序的查找路徑

查看當前環境變量:   echo $PATH

設置以下:

方法一 export PATH=$PATH:/XXX 可是登出後就失效

  上述方法的PATH 在終端關閉後就會消失。因此仍是建議經過編輯/etc/profile來改PATH,也能夠改自家目錄下的.bashrc(即:~/.bashrc)。

 

方法二:修改 ~/.bashrc~/.bash_profile 或系統級別的 /etc/profile

    • 1. 在其中添加例如export PATH=/opt/ActivePython-2.7/bin:$PATH
    • 2. source .bashrc (Source命令也稱爲「點命令」,也就是一個點符號(.)。
    • source命令一般用於從新執行剛修改的初始化文件,使之當即生效,而沒必要註銷並從新登陸)

 

三、LD_LIBRARY_PATH: 動態庫的查找路徑

查看當前環境變量:   echo $LD_LIBRARY_PATH

設置以下:

方法一: export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/XXX 可是登出後就失效

方法二: 修改 ~/.bashrc~/.bash_profile 或系統級別的 /etc/profile

    • 1. 在其中添加例如export PATH=/opt/ActiveP/lib:$LD_LIBRARY_PATH
    • 2. source .bashrc (Source命令也稱爲「點命令」,也就是一個點符號(.)。
    • source命令一般用於從新執行剛修改的初始化文件,使之當即生效,而沒必要註銷並從新登陸)

方法三:這個沒有修改 LD_LIBRARY_PATH 可是效果是同樣的實現動態庫的查找;設置稍微麻煩,好處是比較不受用戶的限制。

    • 1. /etc/ld.so.conf 下面加一行 /usr/local/mysql/lib
    • 2. 保存事後 ldconfig 一下

 

ldconfig 命令的用途:

一、在默認搜尋目錄(/lib和/usr/lib)以及動態庫配置文件/etc/ld.so.conf內所列的目錄下,搜索出可共享的動態連接庫(格式lib*.so*),進而建立出動態裝入程序(ld.so)所需的鏈接和緩存文件。緩存文件默認爲 /etc/ld.so.cache,此文件保存已排好序的動態連接庫名字列表

二、爲了讓動態連接庫爲系統所共享,需運行動態連接庫的管理命令ldconfig,此執行程序存放在/sbin目錄下。ldconfig一般在系統啓動時運行,而當用戶安裝了一個新的動態連接庫,修改了ld.so.conf時,就須要手工運行這個命令。

三、linux下的共享庫機制採用了相似於高速緩存的機制,將庫信息保存在/etc/ld.so.cache裏邊。程序鏈接的時候首先從這個文件裏邊查找,而後再到ld.so.conf的路徑裏邊去詳細找

 

ldd 命令的用途:

做用:用來查看程序運行所需的共享庫,經常使用來解決程序因缺乏某個庫文件而不能運行的一些問題。

語法:ldd(選項)(參數)

選項:

    • --version:打印指令版本號;
    •  -v:詳細信息模式,打印全部相關信息; 
    • -u:打印未使用的直接依賴; 
    • -d:執行重定位和報告任何丟失的對象;
    •  -r:執行數據對象和函數的重定位,而且報告任何丟失的對象和函數; 
    • --help:顯示幫助信息。

參數:

文件:指定可執行程序或者文庫。

相關文章
相關標籤/搜索