1.shell是一個(gè)命令解釋器,處于內(nèi)核和用戶之間,負(fù)責(zé)把用戶的指令傳遞給內(nèi)核并且把執(zhí)行結(jié)果回顯給用戶
2.shell是一個(gè)用c語言編寫的程序,踏實(shí)用戶使用Linux的橋梁,同時(shí),shell也可以作為一門強(qiáng)大的編程語言,我們常說的shell是命令行解釋器的意思,也有內(nèi)核上的一層殼的含義
3.shell常見的類型有sh,csh,bash,zsh等提供的腳本支持
4.shell的功能點(diǎn)在于外部命令的使用,其內(nèi)部數(shù)據(jù)處理方面,側(cè)重文本(或者說字符串,或字符流)處理,而對運(yùn)算
5.缺點(diǎn):實(shí)現(xiàn)命令自動(dòng)化同時(shí)贤牛,需要依賴其他程序才能完成大部分工作殉簸,是缺點(diǎn)也是個(gè)優(yōu)點(diǎn)。
?? 優(yōu)點(diǎn):簡潔的腳本語言標(biāo)記方式般卑,而且比c語言編寫的程序執(zhí)行更快,更有效率沐鼠。
6. bash是Linux標(biāo)準(zhǔn)默認(rèn)的shell叹谁,是BourneAgain Shell的縮寫。
7. shell是c語言編寫的程序焰檩,使用戶使用Linux的橋梁,也是一門強(qiáng)大的編程語言兜叨。shell常見的類型有sh衩侥、zsh、csh等提供的腳本支持茫死。 shell的功能在于實(shí)現(xiàn)命令自動(dòng)化。
8. bash有很多特性特漩,如:可以使用類似DOS下面的doskey的功能,用方向鍵查閱和快速輸入并修改命令涂身。自動(dòng)通過查找匹配的方式給出以某些字符串的開頭命令。輸入help就可以得到先關(guān)幫助丁鹉。
9. 在Linux系統(tǒng)中那些:#悴能!/bin/bash開頭的文件內(nèi)容,這就是聲明了該文件是一個(gè)基于bash的shell編程文件漠酿。
10.干貨
#!/bin/bash? 進(jìn)入mongodb/bin 目錄? cd/home/liwei/mongodb/bin 執(zhí)行啟動(dòng)mongodb數(shù)據(jù)宇姚,? ./mongod-dbpath=../liwei_db. ?? 一條條執(zhí)行夫凸,還可以執(zhí)行更多指令可以通過>或者>>來記錄下一些的結(jié)果報(bào)告。
#夭拌!/bin/bash???? cd/lamp????? ls*.tar.gz>ls.list?? for TAR in 'cat ls.list'? do? tar-zxf $TAR??????? 將目錄里面所有的壓縮包批量解壓,ls的結(jié)果集可也拿來參與下一個(gè)命令執(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