萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

認識 Linux Shell:定義、啟動流程、發展史與三大主流 Shell 比較

什麼是 Shell?

Shell 是介於使用者與核心之間的命令解譯程式,負責將指令轉換為機器碼執行,同時保護系統資源免受誤操作傷害。程式經編譯器成二進位,命令則由 Shell 解譯執行。

Shell 啟動流程

  1. 核心載入記憶體,管理系統資源、建立進程、檔案系統、通訊等。
  2. Shell 等程式存放磁碟,由核心載入執行。
  3. 登入時啟動互動式 Shell,提示輸入命令。
  4. 鍵入命令後 Shell 執行:語法分析 → 處理萬用字元/導向/管線/工作控制 → 搜尋並執行命令。

Shell 發展歷程

  • Bourne Shell (sh):1979 年 V7 UNIX,Stephen Bourne 開發,基於 Algol,用於自動化管理,簡潔快速,缺乏互動功能(歷史、別名、工作控制)。
  • C Shell (csh):Berkeley 1970 年代末,Bill Joy 開發,隨 2BSD 發行。基於 C 語言語法,加入歷史、別名、工作控制、內建算術、檔名補全。但大型機設計,小機器執行較慢。
  • Korn Shell (ksh):AT&T David Korn,1980 年代中期發明,1986 發行,1988 成 SVR4 標準。Bourne Shell 超集,向上兼容,吸收 C Shell 優點,提升速度效率,支援函式、正規表示式萬用字元、協同處理、除錯功能。Linux 上為 pdksh (Public Domain Korn Shell)。

三大主流 Shell 比較

Shell來源特色預設提示符適用場景
Bourne Shell (sh)AT&T標準、簡潔、快速$系統管理腳本、單用戶模式 root
C Shell (csh/tcsh)Berkeley互動強:歷史、別名、工作控制、檔名補全%互動式使用者偏好
Korn Shell (ksh/pdksh)AT&TBourne 超集、兼容、功能最豐富、效率高$進階腳本、跨平台(OS/2、VMS、DOS)

Linux 預設通常為 Bash (Bourne Again Shell),功能兼容 sh 並擴充 csh/ksh 特性,是目前最普及的 Shell。

copyright © 萬盛學電腦網 all rights reserved