Unix C Shell 教程:简体中文版

需积分: 9 12 下载量 87 浏览量 更新于2024-08-01 收藏 464KB DOC 举报
"Unix C Shell - 简体中文版,由台湾作者黄天彦(网络农夫)编写,基于FreeBSD文档的C Shell教程。内容涵盖了Shell的基础知识、C Shell的特性和使用,包括指令行模式、环境定制、程序设计、输入/输出重定向、文件名扩展、管线操作、历史记录、别名设置、工作控制以及内建指令等。" 在Unix系统中,Shell是用户与操作系统交互的接口,它负责解析用户在命令行输入的指令并执行。`C Shell`,全称为`C-Style Shell`,是由Bill Joy为Berkeley System Distribution (BSD)开发的一种Shell,因其语法和C编程语言相似而得名。本教程深入浅出地介绍了C Shell的各个方面。 1. **认识Shell** Shell是一个命令解释器,它提供了一种用户与操作系统内核进行交互的方式。在Unix系统中,有多种Shell,如Bourne Shell、Korn Shell和C Shell。C Shell以其友好的语法和丰富的特性受到许多用户的喜爱。 2. **C Shell的运用** - **指令行模式**:用户可以通过命令行直接输入指令,C Shell会解析并执行这些指令。 - **制定使用环境**:C Shell允许用户通过环境变量来定制自己的工作环境,例如设置PATH变量来指定可执行文件的搜索路径。 - **程序设计**:C Shell支持简单的流程控制结构,如if-else、for、while等,使得用户可以在命令行环境中编写简单的脚本。 3. **C Shell的基本运用** - **单一指令**:执行单个命令。 - **连续指令**:通过分号或逻辑运算符(&&和||)连接多个命令,按顺序或条件执行。 - **群体指令**:使用大括号将一组命令包裹起来,作为一个整体执行。 - **条件式的指令执行**:通过if、case等结构实现条件判断,决定是否执行特定的命令。 - **输入/输出重定向**:改变命令的默认输入输出源,如使用`>`和`<`进行输出和输入重定向。 - **管线**:通过`|`连接多个命令,实现数据流的传递。 4. **输入/输出重定向** - **输出重定向**:可以将命令的输出写入文件,或追加到现有文件。 - **实用的输入/输出重定向运用**:如重定向标准错误输出、使用`tee`指令同时输出到屏幕和文件等。 5. **文件名扩展** - `*`和`?`:通配符,匹配任意数量的字符和单个字符。 - `[]`:匹配括号内的任意一个字符。 - `{,,,}`:匹配括号内的任意一个值,常用于文件名的批量处理。 6. **别名(aliases)的设定与运用** - 用户可以创建别名,简化常用命令的输入,如设置`ll`为`ls -l`的别名。 - 别名可以包含参数,并能引用其他别名,但需避免别名循环引用。 7. **工作控制(job control)** - **前台工作**:用户直接交互执行的任务。 - **后台工作**:使用`&`符号将任务放入后台运行。 - **后台工作的控制管理**:使用`fg`和`bg`命令切换任务的前后台状态,`jobs`命令查看当前后台任务。 8. **C Shell的内建指令** - 如`cd`改变目录,`echo`打印文本,`umask`设置文件创建权限等,这些指令无需调用外部程序,提高了效率。 这个教程详尽地介绍了C Shell的各个方面,对于想要理解和掌握C Shell的用户来说,是一份非常实用的学习资料。