壳层
访问操作系统内核服务的用户界面
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壳