首頁  >  文章  >  運維  >  linux shell有哪些

linux shell有哪些

青灯夜游
青灯夜游原創
2021-11-26 10:30:196371瀏覽

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有哪些

本教學操作環境:Ubuntu 16.04系統、Dell G3電腦。

什麼是Linux Shell?

Shell是系統的使用者介面,提供了使用者與核心互動操作的一種介面。它接收用戶輸入的命令並把它送入內核去執行。是在Linux核心與使用者之間的解釋器程序,現在Linux通常指/bin/bash解釋器來負責向核心翻譯以及傳達使用者/程式指令,shell相當於作業系統的「外殼」

Linux系統提供多種不同的Shell以供選擇。

Bourne Shell

Bourne Shell(簡稱sh)是AT&T Bell實驗室的Steven Bourne為AT&T的Unix開發的,它是Unix的預設Shell,也是其它Shell的開發基礎。 Bourne Shell在程式設計方面相當優秀,但在處理與使用者的互動方面不如其它幾種Shell。

C Shelll

C Shelll(簡稱csh)是加州柏克萊大學的Bill Joy為BSD Unix開發的,與sh不同,它的語法與C語言很相似。它提供了Bourne Shell所不能處理的使用者互動特徵,如命令補全、命令別名、歷史命令替換等。

但是,C Shell與Bourne Shell並不相容。

Korn Shell

Korn Shell(簡稱ksh)是由AT&T Bell實驗室的David Korn開發的,它集合了C Shell和Bourne Shell的優點,並且與Bourne Shell向下完全相容。 Korn Shell的效率很高,其指令互動介面和程式設計互動介面都很好。

Bourne Again Shell

最常用的shell是Bourne Again Shell,或bash。它是為GNU專案而設計的,目的是作為Bourne Shell的開源替代品,而Bourne Shell是在UNIX系統上使用的常用的Shell。 Bash也從其他一些UNIX shell中獲得了靈感,例如C shell(csh)和KornShell(ksh)。每個主要的UNIX Shell特性都不同:Bourne Shell適用於編寫腳本,雖然使用C shell編寫腳本需要具備C程式語言知識,但是它確實提供了一些方便的工具,使其更適合互動使用。 Bash將這種改進的互動性與Bourne Shell的簡易腳本結合在一起。雖然bash成為了Linux系統的預設shell(現在對大多數發行版來說仍然如此),但如果可以改進的話,它不會阻止專案使用替代的shell。

Almquish shell

Almquish shell,或ash就是這樣的shell。此shell設計是為了與Bourne shell相容,並且是輕量級的。但同時,它也缺少一些shell(如bash、ksh和csh)所具有的改進。它體積小,資源利用率低,這意味著它通常用於嵌入式系統,例如使用BusyBox系統的系統。 BusyBox通常用於Android設備的shell以及Linux安裝和引導過程的一部分。這表示如果安裝或啟動Linux系統出現問題,可能是因為自己在BusyBox中使用了Almquish shell。還有一個名為dash((Debian Almquish shell)的端口,從這裡將ash移植到Debian Linux。Dash是Debian和Ubuntu系統上的/bin/sh命令的預設shell。

Z Shell

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

Fish

一個友善的互動shell。顧名思義,它的設計是為了讓命令列成為一個更友善的地方。因此,fish有許多特性可以讓在指令行中的工作更容易,例如語法高亮和錯誤檢查,利用顏色讓工作變得更容易。還有一些自動建議可以在鍵入命令時完成命令。缺點是它與Bourne shell不相容,所以雖然對於初學者來說是一個很好的開始,但是在遷移到另一個shell時,有許多不可轉移的元素,例如它使用自己的腳本語言。

相關推薦:《Linux影片教學

以上是linux shell有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn