Shell的种类
上一篇 /
下一篇 2008-07-14 22:32:55
/ 个人分类:linux
Bourne shell
Bourne shell,简称 bash, 是标准的
UNIX shell,以前常被用来做为管理系统之用。大部份的系统管理命令文件,例如 rc start、stop 与shutdown
都是Bourne shell 的命令档,且在单一使用者模式(single user mode)下以 root
签入时它常被系统管理者使用。Bourne shell 是由 AT&T 发展的,以简洁、快速著名。 Bourne shell
提示符号的默认值是 $。
Bourne shell 也是
Linux系统默认使用的Shell,它由Brian Fox和Chet Ramey共同完成,是Bourne Again Shell的缩写,内部命令一共有40个。Linux使用它作为默认的Shell是因为它有以下的特色:
(1)可以使用类似DOS下面的doskey的功能,用上下方向键查阅和快速输入并修改命令。
(2)自动通过查找匹配的方式,给出以某字串开头的命令。
(3)包含了自身的帮助功能,你只要在提示符下面键入help就可以得到相关的帮助。
C shell
C shell
是柏克莱大学(Berkeley)所开发的,且加入了一些新特性,如命令列历程(history)、别名(alias)、内建算术、档名完成
(filename completion)、和工作控制(job control)。对于常在交谈模式下执行 shell
的使用者而言,他们较喜爱使用 C shell;但对于系统管理者而言,则较偏好以 Bourne shell 来做命令档,因为 Bourne
shell 命令檔比 C shell 命令档来的简单及快速。C shell 提示符号的默认值是 %。它由以William Joy为代表的共计47位作者编成,共有52个内部命令。该Shell其实是指向/bin/tcsh这样的一个Shell,也就是说,csh其实就是tcsh。
Korn shell
Korn shell, 简称 Ksh, 是Bourne
shell 的超集(superset),由 AT&T 的 David Korn 所开发。它增加了一些特色,比 C shell
更为先进。Korn shell 的特色包括了可编辑的历程、别名、函式、正规表达式万用字符(regular expression
wildcard)、内建算术、工作控制(job control)、共作处理(coprocessing)、和特殊的除错功能。Bourne
shell 几乎和 Korn shell 完全向上兼容(upward compatible),所以在 Bourne shell
下开发的程序仍能在 Korn shell 上执行。Korn shell 提示符号的默认值也是 $。在 Linux 系统使用的 Korn
shell 叫做 pdksh,它是指 Public Domain Korn Shell。
除
了执行效率稍差外,Korn shell 在许多方面都比 Bourne shell 为佳;但是,若将 Korn shell 与 C shell
相比就很困难,因为二者在许多方面都各有所长,就效率和容易使用上看,Korn shell 是优于 C shell,相信许多使用者对于 C
Shell 的执行效率都有负面的印象。
在shell 的语法方面,Korn
shell 是比较接近一般程序语言,而且它具有子程序的功能及提供较多的资料型态。至于 Bourne shell,它所拥有的资料型态是三种
shell 中最少的,仅提供字符串变量和布尔型态。在整体考量下 Korn shell 是三者中表现最佳者,其次为 C shell,最后才是
Bourne shell,但是在实际使用中仍有其它应列入考虑的因素,如速度是最重要的选择时,很可能应该采用 Bourne
shell,因它是最基本的 shell,执行的速度最快。
tcsh
tcsh
是近几年崛起的一个免费软件(Linux 下的C shell 其实就是使用 tcsh)执行,它虽然不是UNIX
的标准配备,但是从许多地方您都可以下载到它。如果您是 C shell 的拥护者,笔者建议不妨试试 tcsh,因为您至少可以将它当作是 C
shell 来使用。如果您愿意花点时间学习,您还可以享受许多它新增的优越功能,例如:
1. tcsh 提供了一个命令列(command line)编辑程序。
2. 提供了命令列补全功能。
3. 提供了拼字更正功能。它能够自动检测并且更正在命令列拼错的命令或是单字。
4. 危险命令侦测并提醒的功能,避免您一个不小心执行了rm* 这种杀伤力极大的命令。
5. 提供常用命令的快捷方式(shortcut)。
相关阅读:
- linux 硬盘格式化、挂载、卸载命令 (rting, 2008-7-04)
- 用tcpdump截获msn信息 (ainux, 2008-7-06)
- 如何在linux下检测内存泄漏 (ainux, 2008-7-06)
- nmon performance: A free tool to analyze AIX and Linux performance (ainux, 2008-7-09)
- gcov和lcov对linux c++分析代码覆盖率 (qaarchitech, 2008-7-09)
- Nmon监控Linux系统资源 (fishy, 2008-7-09)
- Linux操作系统的发展简史 (tomma_2006, 2008-7-10)
- Linux 和 GNU 工程 (tomma_2006, 2008-7-10)
- GNU (tomma_2006, 2008-7-10)
- rpm命令 (liangy, 2008-7-11)
收藏
举报
TAG:
Shell
种类
linux