OSWikiHK: 請協力 GPLv3 的中文翻譯工作。

Shell

OSWikiHK,自由中文開源知識庫

所謂Shell就是Unix/Linux世界的命令解釋器(Command Interpreter) 。它好像外殼一樣包著操作系統核心(Kernel) ,隔開用戶和操作系統並負責兩者之間的溝通,把用戶下達的命令解譯給系統去執行,並將系統傳回的訊息解譯給用戶,讓他瞭解其含意。Unix/Linux的Shell有很多,主要分Bourne Shell和C Shell兩大系:

  • Bourne Shell系
    • Bourne Shell (sh) - 由Steve Bourne在1978年開發,成為早預Unix系統的預設shell。
    • Korn Shell (ksh) - 由貝爾實驗室(AT&T Bell Laboratories)的David Korn在80年代初開發的Bourne Shell相容shell,在很多商業Unix取替Bourne Shell成為預設shell。
    • Bourne-Again Shell (bash) - GNU專案的Bourne Shell相容shell,成為大部份GNU/Linux系統的預設shell。
    • Almquist shell (ash) - 以BSD License發放的Bourne Shell相容shell,簡單而細小,多用於細小受限制的環境中,例如急救碟或嵌入式系統。
  • C Shell系
    • C Shell (csh) - 由美國加州柏萊爾大學(UC Berkeley)開發的shell,語法和C程式語言有點相似,成為BSD系Unix的預設shell。
    • TENIX C Shell (tcsh) - C Shell的強化版本。
  • 其他
    • Z Shell (zsh) - 同時相容Bourne Shell和C Shell語法的最強Unix Shell。
    • Thompson Shell - 最原始的Unix Shell,由Unix之父Ken Thompson開發shell,成為Unix 1至6版 (1971-1975)間的shell。

你可以打「ps」知道現時正使用那個Shell:

  PID TTY          TIME CMD
16545 pts/1    00:00:00 bash
27922 pts/1    00:00:00 ps

但大部份GNU/Linux都會預設使用 Bourne Again Shell (bash) 。

相關文章

Personal tools
廣告橫額