文章來源:
https://www.zhangjunbk.com/article/590
Linux是一個多用戶的操作系統(tǒng)躯肌。多用戶意味著每個用戶登錄系統(tǒng)后叹坦,都有自己專用的運(yùn)行環(huán)境甫何。而這個環(huán)境是由一組變量所定義,這組變量被稱為環(huán)境變量荣倾。用戶可以對自己的環(huán)境變量進(jìn)行修改以達(dá)到對環(huán)境的要求疤估。
設(shè)置環(huán)境變量的方法
對所有用戶生效的永久性變量
這類變量對系統(tǒng)內(nèi)的所有用戶都生效系宜,所有用戶都可以使用這類變量照激。作用范圍是整個系統(tǒng)。
此文件只在root下才能修改盹牧。
#?vi?/etc/profile
exportCLASSPATH=./JAVA_HOME/lib:$JAVA_HOME/jre/lib
添加完成后新的環(huán)境變量不會立即生效俩垃,立即生效需要運(yùn)行 source /etc/profile ,否則只能在下次重進(jìn)此用戶時才能生效汰寓。
對單一用戶生效的永久性變量
在用戶目錄下的.bash_profile 文件中添加變量口柳,該文件是隱藏文件,可使用ll -a查看:
$?whoami
rethink
$?vi?/home/rethink/.bash_profile
exportCLASSPATH=./JAVA_HOME/lib:$JAVA_HOME/jre/lib
$source/home/rethink/.bash_profile
在上圖中用紅框框住了兩個文件:.bashrc 和.bash_profile 有滑,原則上講設(shè)置此類環(huán)境變量時在這兩個文件任意一個里面添加都是可以的跃闹,這兩個文件的區(qū)別為:.bash_profile是交互式login方式進(jìn)入bash shell運(yùn)行,.bashrc是交互式non-login方式進(jìn)入bash shell運(yùn)行。
可以理解為.bash_profile文件只會在用戶登錄的時候讀取一次望艺,而.bashrc在每次打開終端進(jìn)行一次新的會話時都會讀取苛秕。
臨時有效的環(huán)境變量(只針對當(dāng)前shell有效)
此類環(huán)境變量只對當(dāng)前的shell有效。當(dāng)我們退出登錄或者關(guān)閉終端再重新打開時找默,這個環(huán)境變量就會消失艇劫。是臨時的。
設(shè)置方法:命令行下直接使用[export 變量名=變量值] 定義變量惩激。
$exportNAME="rethink"
$echo$NAME
rethink
設(shè)置環(huán)境變量常用命令
echo 用于打印顯示環(huán)境變量店煞,如:echo $NAME;
export 用于設(shè)置新的環(huán)境變量风钻,如:export NAME='rethink'顷蟀;
更新環(huán)境變量 更新環(huán)境變量直接重新賦值即可:NAME='test' ? (注意:變量名前不需要加$);
env 顯示當(dāng)前用戶的變量骡技;
set 顯示當(dāng)前shell變量鸣个,shell變量包含用戶變量;
unset 刪除一個環(huán)境變量哮兰,如:unset NAME毛萌;
readonly 設(shè)置環(huán)境變量只讀,如:readonly NAME ?喝滞,只讀變量unset無效阁将。
常用環(huán)境變量
PATH
#?echo?$PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
路徑之間用冒號分隔,這些路徑都是一些可以找到可執(zhí)行程序的目錄列表右遭。當(dāng)我們輸入一個指令時做盅,shell會先檢查命令是否是系統(tǒng)內(nèi)部命令,如果不是則會再去檢查此命令是否是一個應(yīng)用程序窘哈,shell會試著從PATH中尋找這些應(yīng)用程序吹榴。
如果shell在這些路徑目錄里沒有找到可執(zhí)行文件,就會報錯滚婉;若找到图筹,系統(tǒng)將調(diào)用執(zhí)行應(yīng)用程序。通過設(shè)置PATH 让腹,可以讓我們運(yùn)行程序或指令更加方便远剩。
將某個目錄路徑加入到PATH中,可以這樣寫:
$pwd
/root/docker/httpd
$exportPATH=$PATH:$PWD
$echo$PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/docker/httpd
`可以看到在PATH后面已經(jīng)加上了我們當(dāng)前所處目錄的路徑`
HOME
用戶的主工作目錄骇窍,即為用戶登錄到Linux系統(tǒng)中時的默認(rèn)目錄瓜晤。
$?whoami
rethink
$echo$HOME
/home/rethink
HISTSIZE
保存歷史命令的條數(shù)。我們輸入的指令都會被系統(tǒng)保存下來腹纳,這個環(huán)境變量記錄的就是保持指令的條數(shù)痢掠。一般為1000驱犹。
$echo$HISTSIZE
1000
$?HISTSIZE=1001
$echo$HISTSIZE
1001
歷史命令是被保存在內(nèi)存中的,當(dāng)退出或者登錄shell時足画,會自動保存或讀取我們可以通過history命令來查看雄驹。可以使用符號 ! 執(zhí)行指定序號的歷史命令锌云。例如荠医,要執(zhí)行第2個歷史命令,則輸入!2桑涎。
$history5
59??ls
60??who
61history|?head?-n?5
62??who?am?i
63history5
$?!62
who?am?i
root?????pts/0????????2018-04-04?11:00?(101.81.92.18)
LOGNAME
當(dāng)前用戶登錄名。
$echo$LOGNAME
rethink
HOSTNAME 主機(jī)名稱兼贡。
$echo$HOSTNAME
JDu4e00u53f7
SHELL
當(dāng)前用戶使用的shell種類攻冷。
$echo$SHELL
/bin/bash
如侵權(quán)請私聊刪文