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