第五節(jié):環(huán)境變量與文件查找

? ? ? ? 本節(jié)我們主要學習環(huán)境變量的作用與用法仰剿,及幾種搜索文件的方法。學會這些技巧可以高效地使用Linux 琳彩。

1.環(huán)境變量:

? ? ?(1).變量:變量的作用域即變量的有效范圍(比如一個函數(shù)中部凑、一個源文件中或者全局范圍)涂邀,在該范圍內(nèi)只能有一個同名變量。一旦離開則該變量無效比勉,如同不存在這個變量一般浩聋。

? ? ?使用declare命令創(chuàng)建一個變量名為 tmp 的變量:

declared tmp使用=號賦值運算符,將變量 tmp 賦值為 shiyanlou:

tmp=shiyanlou讀取變量的值嫂便,使用echo命令和$符號;echo $闸与。

? ? (2).環(huán)境變量:

? ? 通常我們會涉及到的變量類型有三種:

? ? ?·當前Shell 進程私有用戶自定義變量,如上面我們創(chuàng)建的 tmp 變量厂画,只在當前Shell 中有效拷邢。

? ? ?·Shell 本身內(nèi)建的變量。

? ? ·從自定義變量導出的環(huán)境變量忽洛。

? ? ?命令說 明

? ? ? ? ?set顯示當前 Shell 所有變量,包括其內(nèi)建環(huán)境變量(與 Shell 外觀等相關(guān))集灌,用戶自定義變量及導出的環(huán)境變量复哆。env顯示與當前用戶相關(guān)的環(huán)境變量,還可以讓命令在指定環(huán)境中運行唆阿。export顯示從 Shell 中導出成環(huán)境變量的變量锈锤,也能通過它將自定義變量導出為環(huán)境變量。

? ?為了與普通變量區(qū)分臼隔,通常我們習慣將環(huán)境變量名設為大寫妄壶。

3.命令的查找路徑與順序:

? ? ? 在Shell 中輸入一個命令丁寄,通過環(huán)境變量PATH來進行搜索泊愧,這個PATH里面就保存了 Shell 中執(zhí)行的命令的搜索路徑。在Shell 中執(zhí)行一個命令時屑埋,系統(tǒng)就會按照 PATH 中設定的路徑按照順序依次到目錄中去查找痰滋,如果存在同名的命令,則執(zhí)行先找到的那個团搞。

? 例如:在腳本中添加如下內(nèi)容多艇,保存并退出;

? ?For((i=0;i<0;i++));do

? ?Echo”hello shell”

? ?Done

? ?Exit 0

? ? 為文件添加可執(zhí)行權(quán)限:chmod 755 hello_shell.sh執(zhí)行腳本:./hello_shell.sh

? ? 創(chuàng)建一個c語言的程序:

?Int main ()

?{

?Printf(“hello world!\n”);

?Return 0;

?}

? ? ? ?保存后使用gcc 生成可執(zhí)行文件,在shiyanlou 家目錄創(chuàng)建一個mybin目錄复隆,并將上述 hello_shell.sh 和 hello_world 文件移動到其中,就可以在mybin目錄中分別運行你剛剛創(chuàng)建的兩個程序了挽拂。

?4.添加自定義路徑:

?注意這里一定要使用絕對路徑。

? ? ? ? 在每個用戶的home 目錄中有一個 Shell 每次啟動時會默認執(zhí)行一個配置腳本洪鸭,以初始化環(huán)境仑扑,包括添加一些用戶自定義環(huán)境變量等等。zsh 的配置文件是.zshrc蜓竹,相應Bash 的配置文件為.bashrc储藐。它們在etc下還都有一個或多個全局的配置文件。

?5.修改和刪除已有變量

?變量設置方式說明

? $ ? {變量名#匹配字串}從頭向后開始匹配蛛碌,刪除符合匹配字串的最短數(shù)據(jù)

? $ ? {變量名##匹配字串}從頭向后開始匹配辖源,刪除符合匹配字串的最長數(shù)據(jù)

? $ ? {變量名%匹配字串}從尾向前開始匹配克饶,刪除符合匹配字串的最短數(shù)據(jù)

? $ ? {變量名%%匹配字串}從尾向前開始匹配,刪除符合匹配字串的最長數(shù)據(jù)

? $ ? {變量名/舊的字串/新的字串}將符合舊字串的第一個字串替換為新的字串

? $ ? {變量名//舊的字串/新的字串}將符合舊字串的全部字串替換為新的字串

?6.如何讓環(huán)境變量立即生效:

? ? ?我們可以使用source命令來讓其立即生效,如:source.zshrc ? source命令還有一個別名就是.邀跃,注意與表示當前路徑的那個點區(qū)分開坞嘀,雖然形式一樣,但作用和使用方式一樣丽涩,上面的命令如果替換成.的方式: ??. ./ .zshrc

7.搜索文件:

? ?與搜索相關(guān)的命令常用的有whereis棺滞,which,find和locate继准。

·whereis簡單快速

? ? whereis只能搜索二進制文件(-b)枉证,man 幫助文件(-m)和源代碼文件(-s)移必。如果想要獲得更全面的搜索結(jié)果可以使用locate命令。

·locate快而全

? ? ? 通過“ /var/lib/mlocate/mlocate.db ”數(shù)據(jù)庫查找崔泵,不過這個數(shù)據(jù)庫也不是實時更新的秒赤,系統(tǒng)會使用定時任務每天自動執(zhí)行updatedb命令更新一次憎瘸,剛添加的文件,它可能會找不到幌甘,需要手動執(zhí)行一次updatedb命令。它可以用來查找指定目錄下的不同文件類型锅风,如查找 /etc 下所有以 sh 開頭的文件:注意酥诽,它不只是在/etc 目錄下查找,還會自動遞歸子目錄進行查找皱埠。

? ? ? 查找/usr/share/ 下所有 jpg 文件:注意要添加*號前面的反斜杠轉(zhuǎn)義肮帐,否則會無法找到。如果想只統(tǒng)計數(shù)目可以加上-c參數(shù)漱逸,-i參數(shù)可以忽略大小寫進行查找泪姨,whereis 的-b、-m饰抒、-s同樣可以使用。

·which小而精

? ? ? which本身是 Shell 內(nèi)建的一個命令诀黍,我們通常使用which來確定是否安裝了某個指定的軟件袋坑,因為它只從PATH環(huán)境變量指定的路徑中去搜索命令:

·find精而細

? ? ? find相比較功能較為強大,它不但可以通過文件類型眯勾、文件名進行查找而且可以根據(jù)文件的屬性(如文件的時間戳枣宫,文件的權(quán)限等)進行搜索。find命令強大到吃环,要把它講明白至少需要單獨好幾節(jié)課程才行也颤,我們這里只介紹一些常用的內(nèi)容。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末郁轻,一起剝皮案震驚了整個濱河市翅娶,隨后出現(xiàn)的幾起案子文留,更是在濱河造成了極大的恐慌,老刑警劉巖竭沫,帶你破解...
    沈念sama閱讀 216,591評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件燥翅,死亡現(xiàn)場離奇詭異,居然都是意外死亡蜕提,警方通過查閱死者的電腦和手機森书,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來谎势,“玉大人凛膏,你說我怎么就攤上這事≡嘤埽” “怎么了猖毫?”我有些...
    開封第一講書人閱讀 162,823評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長姐霍。 經(jīng)常有香客問我鄙麦,道長,這世上最難降的妖魔是什么镊折? 我笑而不...
    開封第一講書人閱讀 58,204評論 1 292
  • 正文 為了忘掉前任胯府,我火速辦了婚禮,結(jié)果婚禮上恨胚,老公的妹妹穿的比我還像新娘骂因。我一直安慰自己,他們只是感情好赃泡,可當我...
    茶點故事閱讀 67,228評論 6 388
  • 文/花漫 我一把揭開白布寒波。 她就那樣靜靜地躺著升熊,像睡著了一般。 火紅的嫁衣襯著肌膚如雪级野。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,190評論 1 299
  • 那天辰企,我揣著相機與錄音,去河邊找鬼牢贸。 笑死,一個胖子當著我的面吹牛潜索,可吹牛的內(nèi)容都是我干的臭增。 我是一名探鬼主播帮辟,決...
    沈念sama閱讀 40,078評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼由驹!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起蔓榄,我...
    開封第一講書人閱讀 38,923評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎甥郑,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體澜搅,經(jīng)...
    沈念sama閱讀 45,334評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,550評論 2 333
  • 正文 我和宋清朗相戀三年癌瘾,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片饵溅。...
    茶點故事閱讀 39,727評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡妨退,死狀恐怖咬荷,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情轻掩,我是刑警寧澤,帶...
    沈念sama閱讀 35,428評論 5 343
  • 正文 年R本政府宣布唇牧,位于F島的核電站,受9級特大地震影響奋构,放射性物質(zhì)發(fā)生泄漏拱层。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,022評論 3 326
  • 文/蒙蒙 一根灯、第九天 我趴在偏房一處隱蔽的房頂上張望掺栅。 院中可真熱鬧,春花似錦氧卧、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽闪檬。三九已至,卻和暖如春粗悯,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背同欠。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留衫哥,地道東北人。 一個月前我還...
    沈念sama閱讀 47,734評論 2 368
  • 正文 我出身青樓炕檩,卻偏偏與公主長得像,于是被迫代替她去往敵國和親笛质。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,619評論 2 354

推薦閱讀更多精彩內(nèi)容