什麼是shell?Linux常用的shell有哪些?

老男孩IT教育機構 發表於 2022-06-06
Linux

  關於shell,大家對它有不同的理解,有人認為shell是一個命令直譯器,而有人認為shell是一個指令碼語言,那麼什麼是shell?Linux常用的shell有哪些?本文為大家詳細介紹一下。

  什麼是shell?

  Linux系統的shell作為作業系統的外殼,為使用者提供使用作業系統的介面。它是命令語言、命令解釋程式及程式設計語言。

  shell是使用者和Linux核心之間的介面程式,如果把Linux核心想象成一個球體的中心,shell就是圍繞核心的外層。當從shell或其他程式向Linux傳遞命令時,核心會做出相應的反應。

  shell是一個命令語言直譯器,它擁有自己內建的shell命令集,shell也能被系統中的其他應用程式所呼叫。使用者在提示符下輸入的命令都由shell先解釋然後傳給Linux核心。

  Linux常用的shell有哪些?

  1、Bourne shell

  Bourne shell是一個交換式的命令直譯器和命令程式語言。

  Bourne shell是標準的UNIX shell,以前常被用來做為管理系統之用。大部分的系統管理命令檔案,例如rc start、stop與shutdown都是Bourne shell的命令檔,且在單一使用者模式下以root簽入時它常被系統管理者使用。Bourne shell是由AT$T發展的,以簡潔、快速著名,Bourne shell提示符號的預設值是$。

  2、C shell

  C shell是一種比Bourne shell更適合的變種shell,使用的是類C語言,csh是具有C語言風格的一種shell,其內部命令有52個,比較龐大。

  C shell是柏克萊大學所開發的,且加入了一些新特性,如命令列歷程、別名、內建算術、檔名完成和工作控制。對於常在交談模式下執行shell的使用者而言,他們較喜歡用C shell;但對於系統管理者而言,則較偏好以Bourne shell來做命令檔,因為Bourne shell命令檔比C shell命令檔來的簡單及快速。C shell提示符號的預設值是%。

  3、korn shell

  korn shell是一個Unix shell,它由貝爾實驗室的David Korn在二十世紀八十年代早期編寫。它完全向上相容Bourne shell幷包含了c shell的很多特性,例如貝爾實驗室使用者需要的命令編輯。

  Korn shell是Bourne shell的超集,由AT&T的David korn所開發。它增加了一些特色,比C shell更為先進。Korn shell的特色包括了可編輯的歷程、別名、函式、正規表示式萬用字元、內建算術、工作控制、共作處理和特殊的除錯功能。Korn shell提示符號的預設值也是$。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952527/viewspace-2898991/,如需轉載,請註明出處,否則將追究法律責任。