一、概述
1.紅帽企業(yè)版Linux默認(rèn)的Shell是bash Shell。
2.bash Shell可以交互使用,或者作為一種強(qiáng)大的腳本語(yǔ)言使用;
3.bash啟動(dòng)時(shí)執(zhí)行~/.bashrc文件中的命令,允許用戶(hù)自定義其Shell;
4.bash Shell保存它所執(zhí)行的命令到歷史記錄中。在命令行可以使用以“!”開(kāi)頭的各種歷史記錄替換在歷史記錄中進(jìn)行檢索。
歷史替換:
?。。。呵耙粋€(gè)命令
??!n:歷史記錄中的第幾條命令
!-n:歷史記錄中的倒數(shù)第n條命令
??!cmd:最后啟動(dòng)cmd的命令記錄
history命令的技巧:
Esc+.和Alt+.:代表前一條輸入的命令行中的最后一個(gè)單詞。
Ctrl+R:相當(dāng)于!cmd。
fc:允許用戶(hù)通過(guò)打開(kāi)用戶(hù)的默認(rèn)編輯器把之前鍵入的命令作為文本進(jìn)行“整理”。推出編輯器時(shí),新文本會(huì)立刻執(zhí)行。
二、命令列表和腳本
1.多個(gè)命令間可以用;隔開(kāi);
2.退出命令時(shí),每個(gè)命令向父命令返回一個(gè)整數(shù),稱(chēng)作返回值;
3.Shell變量$?表示先前執(zhí)行命令的返回值。
4.&&和||有條件地運(yùn)行多個(gè)命令。
命令A&&命令B:表示命令A成功的話(huà),則運(yùn)行命令B。
命令A||命令B:當(dāng)命令A失敗時(shí),才執(zhí)行命令B。
5.shell腳本編程的幾個(gè)知識(shí)點(diǎn):
1)腳本的第*行必須指定向哪個(gè)解釋器發(fā)送指令,可以用一個(gè)名叫“shebang”的特殊字符串來(lái)完成,這個(gè)字符串是#!。shebang之后是該腳本解釋器的名稱(chēng)。大多數(shù)腳本只用#?。猓椋睿螅琛?br/> ?。玻┰谶\(yùn)行腳本前必須賦予它“可執(zhí)行的”權(quán)限。用來(lái)賦予權(quán)限的命令是?。悖瑁恚铮洹。酰。迹螅悖颍椋穑簦睿幔恚澹?,這樣就可以來(lái)運(yùn)行該腳本了,或者使用命令source(。)來(lái)get該腳本文件,也可以的。
三、bash變量
1.shell變量用A=apple語(yǔ)法來(lái)賦值;
2.用$字符來(lái)解析變量,例如echo $A。*保險(xiǎn)的引用方式是:${A}
3.在內(nèi)核層,每個(gè)進(jìn)程有一個(gè)由子進(jìn)程繼承的環(huán)境變量集合。
4.export命令將Shell變量轉(zhuǎn)化為環(huán)境變量。
5.set和env命令分別用于列出shell變量和環(huán)境變量。可以通過(guò)export命令把shell變量提升為環(huán)境變量。
四、命令行替換
1.bash shell在解釋命令前替換某些命令行元字符。
2.代字號(hào)替換將用戶(hù)主目錄替換為以代字號(hào)(~)開(kāi)始的標(biāo)記。
3.大括號(hào)替換將帶有大括號(hào){}的標(biāo)記替換為多個(gè)字,每個(gè)字都含有一個(gè)來(lái)自指定列表上的字。
4.命令替換把反引號(hào)(??)或美元圓括號(hào)($())中的文本替換為括號(hào)內(nèi)的命令產(chǎn)生的輸出結(jié)果。
5.雙引號(hào)(“。。。”)、單引號(hào)(‘。。?!┖头葱本€(xiàn)字符可以用來(lái)避免元字符被shell替換。
五、自定義shell
1.bash shell本身即實(shí)現(xiàn)某些簡(jiǎn)單命令,這些命令與shell的行為緊密相連,被稱(chēng)為內(nèi)置命令。
2.shell別名可創(chuàng)建擴(kuò)展為任意文本的命令
3.用alias命令簡(jiǎn)歷和檢查shell命令別名。
4.用unalias命令刪除shell別名。
5.用PS1變量自定義bash shell提示符。
6.shell標(biāo)記可以用set -f命令設(shè)定,用set +f命令刪除。
7.shell選項(xiàng)用shopt命令檢查、設(shè)置(-s)和復(fù)位(-u)。
六、獲得shell腳本和shell初始化
1。shell腳本用source或.命令獲得
2.shell腳本在執(zhí)行獲得腳本的同一個(gè)shell中執(zhí)行,并且可能會(huì)修改當(dāng)前shell的變量。
3.bash shell既可以是登錄shell,也可以是非登錄shell;
4.在啟動(dòng)每個(gè)登錄shell時(shí)可獲得/etc/profile、/etc/profile.d目錄中的文件,以及~/.bash_profile。
5.在每次shell啟動(dòng)時(shí)可獲得/etc/bashrc和~/.bashrc。
6.在每次退出shell時(shí)可獲得~/.bash_logout。
2023-10-06發(fā)布
2023-10-06發(fā)布
2023-10-06發(fā)布
2023-10-06發(fā)布
2023-10-05發(fā)布
下一篇
網(wǎng)絡(luò)及網(wǎng)絡(luò)安全類(lèi)技術(shù)崗位薪資看漲,擁有思科認(rèn)證及培訓(xùn)更優(yōu)~~~