linux shell有哪些

linux shell有:1、Bourne Shell;2、C Shelll;3、Korn Shell;4、Bourne Again Shell;5、Almquish shell;6、Z Shell;7、Fish等等。

linux shell有哪些

本教程操作環(huán)境:Ubuntu 16.04系統(tǒng)、Dell G3電腦。

什么是Linux Shell?

Shell是系統(tǒng)的用戶界面,提供了用戶與內(nèi)核進(jìn)行交互操作的一種接口。它接收用戶輸入的命令并把它送入內(nèi)核去執(zhí)行。是在Linux內(nèi)核與用戶之間的解釋器程序,現(xiàn)在Linux通常指/bin/bash解釋器來(lái)負(fù)責(zé)向內(nèi)核翻譯以及傳達(dá)用戶/程序指令,shell相當(dāng)于操作系統(tǒng)的“外殼”

Linux系統(tǒng)提供多種不同的Shell以供選擇。

Bourne Shell

Bourne Shell(簡(jiǎn)稱sh)是AT&T Bell實(shí)驗(yàn)室的 Steven Bourne為AT&T的Unix開(kāi)發(fā)的,它是Unix的默認(rèn)Shell,也是其它Shell的開(kāi)發(fā)基礎(chǔ)。Bourne Shell在編程方面相當(dāng)優(yōu)秀,但在處理與用戶的交互方面不如其它幾種Shell。

C Shelll

C Shelll(簡(jiǎn)稱csh)是加州伯克利大學(xué)的Bill Joy為BSD Unix開(kāi)發(fā)的,與sh不同,它的語(yǔ)法與C語(yǔ)言很相似。它提供了Bourne Shell所不能處理的用戶交互特征,如命令補(bǔ)全、命令別名、歷史命令替換等。

但是,C Shell與Bourne Shell并不兼容。

Korn Shell

Korn Shell(簡(jiǎn)稱ksh)是AT&T Bell實(shí)驗(yàn)室的David Korn開(kāi)發(fā)的,它集合了C Shell和Bourne Shell的優(yōu)點(diǎn),并且與Bourne Shell向下完全兼容。Korn Shell的效率很高,其命令交互界面和編程交互界面都很好。

Bourne Again Shell

最常用的shell是Bourne Again Shell,或bash。它是為GNU項(xiàng)目而設(shè)計(jì)的,目的是作為Bourne Shell的開(kāi)源替代品,而B(niǎo)ourne Shell是在UNIX系統(tǒng)上使用的一種常用的Shell。Bash還從其他一些UNIX shell中獲得了靈感,比如C shell(csh)和KornShell(ksh)。每個(gè)主要的UNIX Shell特性都不同:Bourne Shell適用于編寫腳本,雖然使用C shell編寫腳本需要具備C編程語(yǔ)言知識(shí),但是它確實(shí)提供了一些方便的工具,使其更適合交互使用。Bash將這種改進(jìn)的交互性與Bourne Shell的簡(jiǎn)易腳本結(jié)合在一起。雖然bash成為了Linux系統(tǒng)的默認(rèn)shell(現(xiàn)在對(duì)大多數(shù)發(fā)行版來(lái)說(shuō)仍然如此),但如果可以改進(jìn)的話,它不會(huì)阻止項(xiàng)目使用替代的shell。

Almquish shell

Almquish shell,或ash就是這樣的shell。此shell設(shè)計(jì)是為了與Bourne shell兼容,并且是輕量級(jí)的。但與此同時(shí),它也缺少一些shell(如bash、ksh和csh)所具有的改進(jìn)。它體積小,資源利用率低,這意味著它通常用于嵌入式系統(tǒng),比如那些使用BusyBox系統(tǒng)的系統(tǒng)。BusyBox通常用于Android設(shè)備的shell以及Linux安裝和引導(dǎo)過(guò)程的一部分。這意味著如果安裝或啟動(dòng)Linux系統(tǒng)出現(xiàn)問(wèn)題,可能是因?yàn)樽约涸贐usyBox中使用了Almquish shell。還有一個(gè)名為dash((Debian Almquish shell)的端口,從這里將ash移植到Debian Linux。Dash是Debian和Ubuntu系統(tǒng)上的/bin/sh命令的默認(rèn)shell。

Z Shell

Z shell,或zsh,是另一個(gè)基于Bourne shell的shell。它還添加了一些來(lái)自bash、ksh和csh的特性。除此之外,它還擁有完善的命令行完成功能,不僅可以識(shí)別命令名,還可以識(shí)別選項(xiàng)和參數(shù),以及拼寫更正。它還可以使用主題和插件進(jìn)行擴(kuò)展,并且能夠以兼容模式運(yùn)行,使其能夠像某些其他shell(如Bourne shell)一樣工作。關(guān)于插件和主題,有一個(gè)方便的工具可以幫助從命令行中找到并安裝它們,使設(shè)置變得非常容易。有了這些特性,Z shell已經(jīng)成為bash的流行替代品。

Fish

一個(gè)友好的互動(dòng)shell。顧名思義,它的設(shè)計(jì)是為了使命令行成為一個(gè)更友好的地方。因此,fish有許多特性可以使在命令行中的工作更容易,比如語(yǔ)法高亮和錯(cuò)誤檢查,利用顏色讓工作變得更容易。還有一些自動(dòng)建議可以在鍵入命令時(shí)完成命令。缺點(diǎn)是它與Bourne shell不兼容,所以雖然對(duì)于初學(xué)者來(lái)說(shuō)是一個(gè)很好的開(kāi)始,但是在遷移到另一個(gè)shell時(shí),有許多不可轉(zhuǎn)移的元素,比如它使用自己的腳本語(yǔ)言。

相關(guān)推薦:《Linux視頻教程

以上就是

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊8 分享