殼層
访问操作系统内核服务的用户界面
(重定向自殼程式)
Shell(也称为壳层)在電腦科學中指「為使用者提供使用者介面」的軟體,通常指的是命令行界面的解析器。一般來說,這個詞是指作業系統中提供存取内核所提供之服務的程式。Shell也用于泛指所有为用户提供操作界面的程序,也就是程序和用户交互的層面。因此与之相对的是内核(英語:Kernel),内核不提供和用户的交互功能。
「殼層」的各地常用名稱 | |
---|---|
中国大陸 | shell,壳层,外壳 |
臺灣 | shell,殼層 |
不過這個詞也拿來指應用軟體,或是任何在特定元件外圍的軟體,例如瀏覽器或電子郵件軟體是HTML排版引擎的Shell。Shell這個詞是來自於作業系統(核心)與使用者介面的外層介面。
通常將shell分為兩類:命令列與圖形介面。命令列殼層提供一個命令行界面(CLI);而圖形殼層提供一個圖形使用者介面(GUI)。
歷史
殼層(shell)這個說法起源於路易斯·普贊(Louis Pouzin),在1964年至1965年間首次提出,隨後在Multics(MULTiplexed Information and Computing System)計畫中首次被實作出來。[1]
Unix上的第一個Unix殼層(Unix shell)是肯·湯普遜(Ken Thompson)以Multics上的shell為範本,所寫出的Thompson shell。[2][3]
微软的Windows操作系统也提供了命令行殼層的功能,它们是Windows 95 / 98下的command.com、Windows NT内核下的cmd.exe以及PowerShell;而图形界面壳层即为explorer.exe。
殼層列表
图形用户界面(GUI)殼層
- X Window System環境或Wayland环境(主要用於類Unix作業系統):
命令行界面(CLI)殼層
Unix或類似作業系統下的殼層
常見或歷史上知名的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' (页面存档备份,存于互联网档案馆)*/
- Almquist shell(ash) /*'man ash' (页面存档备份,存于互联网档案馆)*/
- 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' (页面存档备份,存于互联网档案馆)
非Unix作業系統的殼層
- 4DOS, 4OS2, 4NT – JP Software公司可在在DOS, OS/2,及Windows NT下使用的殼層。Take Command程式則是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的指令處理器
參考文獻
外部連結
參見
- 電腦殼的比較
- 殼帳號(Shell Account)
- 殼腳本(Shell Script)
- 批次檔
- Unix shell
- DOS殼
- Internet Explorer殼