殼層

Shell（也称为壳层）在電腦科學中指「為使用者提供使用者介面」的軟體，通常指的是命令行界面的解析器。一般來說，這個詞是指作業系統中提供存取内核所提供之服務的程式。Shell也用于泛指所有为用户提供操作界面的程序，也就是程序和用户交互的層面。因此与之相对的是内核（英語：Kernel），内核不提供和用户的交互功能。 不過這個詞也拿來指應用軟體，或是任何在特定元件外圍的軟體，例如瀏覽器或電子郵件軟體是HTML排版引擎的Shell。Shell這個詞是來自於作業系統（核心）與使用者介面的外層介面。 通常將shell分為兩類：命令列與圖形介面。命令列殼層提供一個命令行界面（CLI）；而圖形殼層提供一個圖形使用者介面（GUI）。 殼層（shell）這個說法起源於路易斯·普贊（Louis Pouzin），在1964年至1965年間首次提出，隨後在Multics（MULTiplexed Information and Computing System）計畫中首次被實作出來。 Unix上的第一個Unix殼層（Unix shell）是肯·湯普遜（Ken Thompson）以Multics上的shell為範本，所寫出的Thompson shell。 微软的Windows操作系统也提供了命令行殼層的功能，它们是Windows 95 / 98下的command.com、Windows NT内核下的cmd.exe以及PowerShell；而图形界面壳层即为explorer.exe。 GUI通常會建構在視窗系統上。 AmigaOS環境： Workbench（從AmigaOS 2.0之後增加了GUI殼） Ambient（MorphOS） Directory Opus ScalOS Wanderer（AROS.） DOS Shell（英语：DOS Shell） Macintosh Finder Microsoft Windows環境： Aston shell BB4Win Emerge Desktop Geoshell Litestep 程序管理器 Secure Desktop SharpE Windows Explorer UserShell X Window System環境或Wayland环境（主要用於類Unix作業系統）： 獨立的X窗口管理器，例如Blackbox與Fluxbox 依靠窗口管理器的完整桌面環境，例如： CDE GNOME Unity（以GNOME作核心） KDE XFCE 常見或歷史上知名的Unix殼層有： Bourne shell（sh） /*'man sh' （页面存档备份，存于互联网档案馆）*/ Almquist shell（ash） /*'man ash' （页面存档备份，存于互联网档案馆）*/ Debian Almquist shell（dash） /*'man dash' （页面存档备份，存于互联网档案馆）*/ Bourne-Again shell（bash） /*'man bash' （页面存档备份，存于互联网档案馆）*/ Korn shell（ksh） /*'man ksh' （页面存档备份，存于互联网档案馆）*/ Z shell（zsh） /*'man zsh' （页面存档备份，存于互联网档案馆）*/ C shell（csh） /*'man csh' （页面存档备份，存于互联网档案馆）*/ TENEX C shell（tcsh） /*'man tcsh' （页面存档备份，存于互联网档案馆）*/ EMACS shell (eshell) Es shell（es） esh (Unix) – Easy Shell friendly interactive shell（fish） /*'man fish' （页面存档备份，存于互联网档案馆）*/ rc shell（rc）– shell for Plan 9 from Bell Labs and Unix scsh（Scheme Shell） Stand-alone Shell（sash） BeanShell（bsh （页面存档备份，存于互联网档案馆），bsh.Interpreter , bsh.Console （页面存档备份，存于互联网档案馆）） /*'man bsh'[永久失效連結]*/ Rhino JavaScript殼層 （页面存档备份，存于互联网档案馆）（org.mozilla.javascript.tools.shell.Main （页面存档备份，存于互联网档案馆）） /*'man rhino'*/ 以及linux系統上的：'/etc/shells' （页面存档备份，存于互联网档案馆） 4DOS（英语：4DOS）, 4OS2, 4NT（英语：4NT） – JP Software公司可在在DOS, OS/2，及Windows NT下使用的殼層。Take Command（英语：Take Command (command line interpreter)）程式則是GUI方式的相容程式。 Amiga CLI/Amiga殼層是稱為Workbench的AmigaOS圖形介面的另一選擇。 BASIC-PLUS – RSTS/E Beemos（BEEMos）–在Windows XP上執行的一個小型專案，提供設定、應用程式等功能，感覺起來像是在另一個作業系統下。 CANDE MCS– MCP作業系統的指令行殼曾與文字編輯器 CCP – CP/M作業系統的主控台指令處理器 cmd.exe –基於OS/2、Windows CE、Windows NT系列作業系統的命令提示字元殼層 COMMAND.COM – DOS的殼層 Commodore DOS Wedge – Commodore 64上BASIC 2.0的延伸功能，包括常用磁碟操作的簡略指令 DCL – OpenVMS的標準殼層，衍生自早期的迪吉多（DEC）作業系統 DDT – 迪吉多（DEC）PDP-10 偵錯工具，麻省理工學院Incompatible Timesharing System的指令殼層 DROS – 智能手机上基於Java ME平台的類DOS殼層 EFI-SHELL –可擴展韌體介面（Extensible Firmware Interface，EFI）指令殼層，它是開放原始碼的 Google Shell –基於瀏覽器的Google Search前端介面 iSeries QSHELL – IBM OS/400上的Unix風格殼層 Macintosh Programmer's Workshop –古典Mac OS軟體開發用的老式指令行環境 Microsoft BASIC –一些古老8位元電腦上的主要作業環境 Rexx – IBM的脚本语言（scripting language） Singularity shell – Singularity的標準殼層 Windows PowerShell –命令提示字元的新一代物件導向後繼者（舊稱Monad或Microsoft Shell (MSH)） Windows修復主控台– Windows 2000、Windows XP、Windows 2003作業系統的一項功能 YouShell –用於YouOS，基於JavaScript的指令處理器 Louis Pouzin, The Origin of the Shell. [2010-04-15]. （原始内容存档于2017-12-21）.  存档副本. [2010-04-15]. （原始内容存档于2013-02-03）.  存档副本. [2010-04-15]. （原始内容存档于2012-08-06）.  UserShell Software Complex. [2018-07-24]. （原始内容存档于2020-12-10）.  命令殼層概觀，Microsoft Technet （页面存档备份，存于互联网档案馆） The Unix Shell: Introduction 计算机科学主题 软件主题 Linux主题 電腦殼的比較 殼帳號（Shell Account） 殼腳本（Shell Script） 批次檔 Unix shell DOS殼 Internet Explorer殼