筆記 第三天 shell

shell是一個命令解釋器,處于內(nèi)核和用戶之間,負(fù)責(zé)把用戶的指令傳遞給內(nèi)核并且把執(zhí)行的結(jié)果顯示給用戶。 常說shell是命令解釋器,也是內(nèi)核上的一層殼的意思。

shell誕生于Unix,是Unix/Linux交互的腳本編程,Linux都是默認(rèn)集成了shell環(huán)境。其內(nèi)部數(shù)據(jù)處理方面,側(cè)重于文本(或說字符串,字符流)處理,運(yùn)算和其他基本數(shù)據(jù)結(jié)構(gòu)的原生較弱(array,set,map等等)。

缺點(diǎn):實(shí)現(xiàn)命令自動化同時,需要依賴其他程序才能完成大部分工作,是缺點(diǎn)也是個優(yōu)點(diǎn)。

優(yōu)點(diǎn):簡潔的腳本語言標(biāo)記方式,而且比c語言編寫的程序執(zhí)行更快,更有效率。

bash是Linux標(biāo)準(zhǔn)默認(rèn)的shell,是BourneAgain Shell的縮寫。

shell是c語言編寫的程序,使用戶使用Linux的橋梁,也是一門強(qiáng)大的編程語言。shell常見的類型有sh、zsh、csh等提供的腳本支持。 shell的功能在于實(shí)現(xiàn)命令自動化。

bash有很多特性,如:可以使用類似DOS下面的doskey的功能,用方向鍵查閱和快速輸入并修改命令。自動通過查找匹配的方式給出以某些字符串的開頭命令。輸入help就可以得到先關(guān)幫助。

在Linux系統(tǒng)中那些:#!/bin/bash開頭的文件內(nèi)容,這就是聲明了該文件是一個基于bash的shell編程文件。

干貨

#!/bin/bash? 進(jìn)入mongodb/bin 目錄? cd/home/liwei/mongodb/bin 執(zhí)行啟動mongodb數(shù)據(jù),? ./mongod-dbpath=../liwei_db. ?? 一條條執(zhí)行,還可以執(zhí)行更多指令可以通過>或者>>來記錄下一些的結(jié)果報告。

#!/bin/bash???? cd/lamp????? ls*.tar.gz>ls.list?? for TAR in 'cat ls.list'? do? tar-zxf $TAR??????? 將目錄里面所有的壓縮包批量解壓,ls的結(jié)果集可也拿來參與下一個命令執(zhí)行。

將某文件夾下文件名大寫字母改成小寫字母??? #!/bin/bash? for file in 'ls |grep'[A-Z]'?? do??? str='echo $file|tr'A-Z' 'a-z'?? mv $file $str.

將空文件,沒用的文件全部刪掉????

for filename in 'ls'

do

???? if test -d $filename

???? then b=0??

???? else

????????? a=$(ls -l $filename | awk '{print $5}')??

????????? if test $a -eq 0

????????? then? rm $filename

????????? fi

?? fi?

done

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容