Linux中環境變量文件及配置

1、環境變量文件介紹html

轉自:http://blog.csdn.net/cscmaker/article/details/7261921java

Linux中環境變量包括系統級和用戶級,系統級的環境變量是每一個登陸到系統的用戶都要讀取的系統變量,而用戶級的環境變量則是該用戶使用系統時加載的環境變量。
因此管理環境變量的文件也分爲系統級和用戶級的,下面貼一個網上找到的講的比較明白的文件介紹(略做修改)[1]:

1.系統級:
(1)/etc/profile:該文件是用戶登陸時,操做系統定製用戶環境時使用的第一個文件,應用於登陸到系統的每個用戶。該文件通常是調用/etc/bash.bashrc文件。
/etc/bash.bashrc:系統級的bashrc文件。
(2)/etc/environment:在登陸時操做系統使用的第二個文件,系統在讀取你本身的profile前,設置環境文件的環境變量。

2.用戶級(這些文件處於家目錄下):
(1)~/.profile:每一個用戶均可使用該文件輸入專用於本身使用的shell信息,當用戶登陸時,該文件僅僅執行一次!默認狀況下,他設置一些環境變量,執行用戶的.bashrc文件。這裏是推薦放置我的設置的地方
(2)~/.bashrc:該文件包含專用於你的bash shell的bash信息,當登陸時以及每次打開新的shell時,該該文件被讀取。不推薦放到這兒,由於每開一個shell,這個文件會讀取一次,效率確定有影響。
~/.bash_profile or ~./bash_login:這裏沒有引用做者的,下面會提到
~/.pam_environment:用戶級的環境變量設置文件,沒有作測試,不知道管無論用。


經過上面的文件介紹,就能明白咱們須要設置環境變量的時候,須要修改什麼文件,要想對全部的用戶生效,那就須要設置系統級的環境變量。反之,須要修改用戶級的文件(最好是修改.profile文件,理由上面已經講了)。
linux

另外,我使用的是Ubuntu10.04,以前在查找資料設置用戶級環境變量的時候,有資料說要修改~.bash_profile文件,可是在ubuntu10.04系統中是沒有該文件。經查找,在ubuntu官網[2]上找到了這個文件的說明:shell

~/.bash_profile or ~./bash_login - If one of these file exist, bash executes it rather then "~/.profile" when it is started as a login shell. (Bash will prefer "~/.bash_profile" to "~/.bash_login"). However, these files won't influence a graphical session by default.ubuntu

意思應該是說當這個文件存在時,在登陸shell時會讀取./bash_profile文件,而不是.profile文件。我認爲該文件實現的目的 跟.profile文件是同樣的,當查找的資料中須要你修改.bash_profile文件,但卻你沒有該文件的時候,也能夠修改.profile來完成 實現。bash

[1]http://cab402.appspot.com/2010/05/1/UbuntuEnvironmentVariablesSet.htmlsession

[2]https://help.ubuntu.com/community/EnvironmentVariablesapp

2、配置環境變量實戰測試

1.配置java環境變量網站

(1)首先在官方網站上下載jdk安裝文件,我下載的爲:jdk-7u5-linux-i586.tar.gz,固然也能夠下載.bin格式的文件,可是這種文件與本文介紹的tar格式的文件在解壓縮方面有所不一樣,這裏再也不詳細介紹;

(2)解壓縮該文件,解壓後的文件名爲:jdk1.7.0_05;將其拷貝到一個文件目錄,我放入的是:/home/stopit/software目錄,因此當前jdk路徑爲/home/stopit/software/jdk1.7.0_05,這裏將/home/stopit/software/jdk1.7.0_05用xxx替代;

(3)根據上文介紹的幾個linux環境變量文件,咱們選擇profile文件寫入咱們的環境變量;使用 suodo gedit /etc/proifle  命令打開該文件,並輸入如下命令:

#修改java運行環境
export JAVA_HOME="xxx"
export PATH="$PATH:$JAVA_HOME/bin"
export JRE_HOME="$JAVA_HOME/jre"
export CLASSPATH=".:$JAVA_HOME/lib:$JRE_HOME/lib"

(4)修改完成後,使用source /etc/profile 命令進行更新;

(5)下面這幾步比較重要,由於在許多linux系統中都預裝了openjdk,因此即便上面進行了這些設置,系統默認的還不是咱們要設置的內容;若是要真正使用咱們本身的jdk,還須要一下步驟:

sudo update-alternatives --install /usr/bin/java java xxx/bin/java 300

sudo update-alternatives --install /usr/bin/javac javac xxx/bin/javac 300

(這裏的300只是標識一下,沒什麼意義,只是下一步要用到)

 

sudo update-alternatives --config java

執行這步會列出系統上的全部已安裝的java,而後本身選擇,即選最後爲300的那個


sudo update-alternatives --config javac

同上

注意:有些文章上說僅僅使用一下語句便可:
sudo update-alternatives –config java,筆者沒有嘗試過!

(6)大功告成,使用java -version 命令來查看咱們的java環境變量,顯示以下內容:

java version "1.7.0_05"Java(TM) SE Runtime Environment (build 1.7.0_05-b06)Java HotSpot(TM) Server VM (build 23.1-b03, mixed mode)

相關文章
相關標籤/搜索