運維-linux(ubuntu)環境變量管理(持續更新)

注:本教程以Ubuntu16.04操作,請細看。如果看完還不明白,聯系我,我給你發紅包。

一、查看環境變量:

  • 方法1:直接用$PATH命令:
wafa@ubuntu:~$ $PATH
bash: /home/king/bin:/home/king/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/go-gtk/gtk:/snap/bin:.:/usr/local/go/bin: No such file or directory
  • 方法2:用export命令。如終端命令行輸入export后,結果中的PATH就是環境變量:
king@ubuntu:~$ export
declare -x CLUTTER_IM_MODULE="ibus"
declare -x COMPIZ_BIN_PATH="/usr/bin/"
declare -x COMPIZ_CONFIG_PROFILE="ubuntu"
declare -x DBUS_SESSION_BUS_ADDRESS="unix:abstract=/tmp/dbus-BQwiluABuc"
declare -x PATH="/home/wafa/bin:/home/wafa/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/go-gtk/gtk:/snap/bin:.:/usr/local/go/bin"
declare -x PWD="/home/wafa"
declare -x DEFAULTS_PATH="/usr/share/gconf/ubuntu.default.path"
...
  • 方法3:使用env 命令打印所有的環境變量
wafa@ubuntu:~$ env
XDG_VTNR=7
LC_PAPER=en_US.UTF-8
LC_ADDRESS=en_US.UTF-8
XDG_SESSION_ID=c2
PATH=/home/wafa/bin:/home/wafa/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/go-gtk/gtk:/snap/bin:.:/usr/local/go/bin
  • 方法4:用echo $PATH(同法一)

二、了解環境變量

???? 環境變量一般是指在操作系統中用來指定操作系統運行環境的一些參數。

???? 個人理解(比較通俗):你輸入命令時,系統會自動的去指定的路徑下去尋找你輸入的指令文件。因此,配置好環境變量 后只要輸入程序的名稱,系統就會自動搜索到你程序的位置,而不會再出現command not found這樣的問題了。

三、和環境變量有關的文件:

  1. /etc/profile —— 此文件為系統的每個用戶設置環境信息,當用戶第一次登錄時,該文件被執行.并從/etc/profile.d目錄的配置文件中搜集shell的設置;
  2. /etc/environment —— 在登錄時操作系統使用的第二個文件,系統在讀取你自己的profile前,設置環境文件的環境變量;
  3. /etc/bashrc —— 為每一個運行bash shell的用戶執行此文件.當bash shell被打開時,該文件被讀取;
  4. /home/king/.profile —— 用戶king的shell信息,當用戶登錄時,該文件僅僅執行一次,默認情況下,它設置一些環境變量,執行用戶的.bashrc文件;(注:king為當然登錄的用戶,每個用戶都有自己的家目錄,即在/home文件夾下。)
  5. /home/king/.bashrc —— 用戶king的bash shell的bash信息,當登錄時以及每次打開新的shell時,該文件被讀取;
    認識以上5個文件之后,我們設置環境變量的方法也就有了。
注:前3個針對所有的用戶,需要sudo權限設置,后兩個針對當前用戶。

四、環境變量的添加與刪除

請認真閱讀以上步驟及5個文件,這樣后面就很好理解了。

1. 對所有用戶都生效:

1). 方法一:直接sudo權限編輯/etc/enviroment文件,
/etc/environment文件,其內容如下:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"  

注:作用域:全局的,永久性的。在環境變量PATH中添加你要添加的路徑即可,注意以“:”分隔分個路徑。

2). 方法二:修改/etc/profile文件。此文件不保存環境變量信息,但在登錄時,系統會根據此文件內容對環境變量進行設置。

export PATH=$PATH:/usr/local/sbin:/usr/local/bin:
export PATH=/usr/local/share:$PATH

注:$PATH指代添加your path前的環境變量。即在第一行的基礎上再另外添加的環境變量。作用域:全局的,永久性的。

3). 方法三:修改/etc/bashrc。這個文件同樣不是為了保存環境變量,只是在使用bash shell時進行設置而已,所以設置方法和二中一樣:

export PATH=$PATH:/usr/local/sbin:/usr/local/bin:
export PATH=/usr/local/share:$PATH

注:作用域:全局的,永久性的。
對于/etc/bashrc文件,修改的作用于用戶,但對于~/.bashrc文件,修改的僅僅作用于當前用戶。這種修改的作用也是永久性的。

2.僅對當前用戶生效

1). 方法一:修改~/.profile文件。本質和修改/etc/profile一樣,但這種僅僅修改了當前用戶自己的配置文件。作用域:當前用戶,永久性的。

2). 方法二:修改~/.bashrc文件。本質和修改/etc/bashrc一樣。不保存環境變量,只是在當前用戶使用bash shell時進行設置而已。作用域:當前用戶,永久性的。設置同修改/etc/bashrc一樣。

3. 臨時生效

1). 方法一:在Terminal中使用shell命令

export PATH=$PATH:[your path1]:[your path2]:[...] 

2). 方法一:在Terminal中使用shell命令

export PATH=[your path1]:[your path2]:[...]:$PATH  

注:上面兩種方法是暫時的生效。關閉終端設置也就失效了。作用域:僅限于當前終端,其他終端中這個設置不會啟作用。

五、設置生效

  1. 輸入env命令查看所有環境變量。

  2. 輸入echo $PATH 命令查看PATH環境變量
    這時我們就可以在PATH變量后看到相關的修改了。

  3. 是否發現有的設置后設置并沒有及時生效???
    你猜的對,這樣就可以生效了:
    法一:你需要考慮重啟或者注銷后重新登錄了(請思考:哪個需要重啟,哪個需要重新登錄?等我后續閑了再給你答案。)
    法二:使用source命令。在命令行輸入:

source [file name]  

注:
1、[file name]為你修改的文件名字的路徑,絕對路徑和相關路徑都可以。
2、以上方法只需要一種即可,但要根據個人需要選擇適用的方法。
3、使用export命令設置的環境變量是臨時性質且局部的,因此只需要關閉這個Terminal就好了。

是不是沒有你想象的那么難???

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,646評論 6 533
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,595評論 3 418
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,560評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,035評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,814評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,224評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,301評論 3 442
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,444評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,988評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,804評論 3 355
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,998評論 1 370
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,544評論 5 360
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,237評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,665評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,927評論 1 287
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,706評論 3 393
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,993評論 2 374

推薦閱讀更多精彩內容