殼層
「殼層」的各地常用別名 | |
---|---|
中国大陸 | shell |
港臺 | 殼層 |
在電腦科學中,殼層(英语:shell)指「為使用者提供使用者介面」的軟體,通常指的是命令行界面的解析器。一般來說,這個詞是指作業系統中提供存取内核所提供之服務的程式。Shell也用于泛指所有为用户提供操作界面的程序,也就是程序和用户交互的层面。因此与之相对的是内核(英语:Kernel),内核不提供和用户的交互功能。
不過這個詞也拿來指應用軟體,或是任何在特定元件外圍的軟體,例如瀏覽器或電子郵件軟體是HTML排版引擎的shell。Shell這個詞是來自於作業系統(核心)與使用者介面的外層介面。
通常將shell分為兩類:命令列與圖形介面。命令列殼層提供一個命令行界面(CLI);而圖形殼層提供一個圖形使用者介面(GUI)。
目录
1 歷史
2 殼層列表
2.1 图形用户界面(GUI)殼層
2.2 命令行界面(CLI)殼層
2.2.1 Unix或類似作業系統下的殼層
2.2.2 非Unix作業系統的殼層
3 參考文獻
4 外部連結
5 參見
歷史
殼層(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)殼層
GUI通常會建構在視窗系統上。例如X Window System中,有獨立的X窗口管理器以及依靠窗口管理器的完整桌面環境。
AmigaOS環境:
Workbench(從AmigaOS 2.0之後增加了GUI殼)
Ambient(MorphOS)- Directory Opus
- ScalOS
Wanderer(AROS.)
- DOS Shell
- Macintosh Finder
Microsoft Windows環境:
- Aston shell
- BB4Win
- Emerge Desktop
- Geoshell
- Litestep
- Program Manager
- Secure Desktop
- SharpE
- Windows Explorer
UserShell [4]
X Window System環境(主要用於類Unix作業系統):
- 獨立的X窗口管理器,例如Blackbox與Fluxbox
- 完整的桌面環境,例如:
- CDE
- GNOME
Unity(以GNOME作核心)- KDE
- XFCE
- 獨立的X窗口管理器,例如Blackbox與Fluxbox
命令行界面(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'*/
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的指令處理器
參考文獻
^ Louis Pouzin, The Origin of the Shell
^ http://v6shell.org/history/
^ http://www.multicians.org/unix.html
^ UserShell Software Complex.
外部連結
- 命令殼層概觀,Microsoft Technet
- The Unix Shell: Introduction
參見
- 電腦殼的比較
殼帳號(Shell Account)
殼腳本(Shell Script)- 批次檔
- Unix shell
- DOS殼
- Internet Explorer殼