Unix Shell详解:Bourne、C、Korn与bash
需积分: 10 45 浏览量
更新于2024-09-09
收藏 360KB PDF 举报
"这篇文档主要介绍了Linux环境下的各种Shell,包括B型Shell、Bourneshell(sh)、Kornshell(ksh)、BourneAgainshell(bash)、POSIXshell(sh)、C型Shell(Cshell(csh))以及TENEX/TOPS-Cshell(tcsh)。"
在Linux操作系统中,Shell扮演着至关重要的角色,它是一种命令行界面,允许用户与操作系统进行交互。Shell不仅是一个命令解释器,负责解析并执行用户输入的命令,还是一个强大的脚本编程语言,用于自动化任务。
**Bourneshell(sh)** 是第一个重要的标准Unix Shell,由Stephen Bourne在1970年底为V7 Unix开发。它的特点在于简洁和速度,但交互性相对较弱。作为login shell时,它会读取`/etc/profile`和`$HOME/.profile`文件来设置环境。`/etc/profile`适用于所有用户,而`$HOME/.profile`是针对当前用户的。
**Cshell(csh)** 由Bill Joy在20世纪80年代初在加州大学伯克利分校创建,设计灵感来源于C语言。Cshell引入了许多增强交互性的特性,如命令历史、别名、文件名扩展和作业控制。然而,由于其设计初衷是为了交互式使用,因此其执行效率相对较低。
**Kornshell(ksh)** 是由David Korn在AT&T Bell实验室开发的,旨在结合Bourneshell的编程语法和Cshell的交互特性。Kornshell成为了两者的折衷选择,它支持Cshell的大部分交互特性,同时也保留了Bourneshell的语法。Kornshell是Bourneshell的超集,具有更强的兼容性,能在多个操作系统上运行,符合POSIX标准。它还增加了数学运算、进程协作和行内编辑等功能,虽然执行效率略逊于Bourneshell,但在其他方面表现出色。
**Bourne-Again SHell(bash)** 是Bourneshell的一个扩展版本,目前已经成为大多数Linux发行版的默认Shell。bash不仅继承了Bourneshell的优点,还添加了许多新特性,如命令补全、历史扩展和数组变量等。
**POSIXshell(sh)** 是遵循POSIX标准的Shell,旨在确保跨平台的兼容性。它与Bourneshell相似,但更注重标准化。
**TENEX/TOPS-Cshell(tcsh)** 是Cshell的一个增强版,提供了更多的命令行编辑特性,如自动补全,使得交互体验更加友好。
每种Shell都有其特定的应用场景和优势,用户可以根据自己的需求和习惯选择合适的Shell。对于系统管理员和自动化脚本编写者来说,了解并掌握这些Shell的不同特性和用法是非常重要的。
2012-11-30 上传
2023-09-19 上传
2023-07-27 上传
2023-09-03 上传
2023-07-08 上传
2023-08-09 上传
2024-10-10 上传
weixin_40292102
- 粉丝: 0
- 资源: 1
最新资源
- 前端协作项目:发布猜图游戏功能与待修复事项
- Spring框架REST服务开发实践指南
- ALU课设实现基础与高级运算功能
- 深入了解STK:C++音频信号处理综合工具套件
- 华中科技大学电信学院软件无线电实验资料汇总
- CGSN数据解析与集成验证工具集:Python和Shell脚本
- Java实现的远程视频会议系统开发教程
- Change-OEM: 用Java修改Windows OEM信息与Logo
- cmnd:文本到远程API的桥接平台开发
- 解决BIOS刷写错误28:PRR.exe的应用与效果
- 深度学习对抗攻击库:adversarial_robustness_toolbox 1.10.0
- Win7系统CP2102驱动下载与安装指南
- 深入理解Java中的函数式编程技巧
- GY-906 MLX90614ESF传感器模块温度采集应用资料
- Adversarial Robustness Toolbox 1.15.1 工具包安装教程
- GNU Radio的供应商中立SDR开发包:gr-sdr介绍