"Unix程序设计环境第2章:shell使用和基本概念"
版权申诉
95 浏览量
更新于2024-02-22
收藏 1.47MB PPT 举报
&T 公司的 Steven Bourne 于 1977 年开发的一种标准化 shell 程序。它提供了一种灵活且强大的命令语言,可以很好地处理文件和进程操作。Bourne shell 程序的命令行格式为:
$ command argument1 argument2 … argumentn
其中,$ 表示 shell 提示符,command 为要执行的命令,argument1 ~ argumentn 为命令的参数。
C shell 程序是加州大学伯克利分校的 Bill Joy 开发的一种 shell 程序,它提供了一种与 Bourne shell 不同的命令语言,包括了许多新特性和改进。C shell 程序的命令行格式与 Bourne shell 类似,但在语法和特性上有所不同。
2.1.2 shell 命令格式
shell 命令的基本格式由三部分组成:命令名、选项和参数。命令名用于指定要执行的命令,选项用于控制命令的行为,参数用于传递给命令的数据。
命令名和选项之间用空格分隔,选项和参数之间也用空格分隔。命令名、选项和参数的组合形式如下:
command -option1 -option2 … argument1 argument2 … argumentn
2.1.3 shell 命令参数通配符
在 shell 程序中,可以使用通配符来匹配文件名和路径名。通配符是一种特殊的字符序列,用于表示一类文件名或路径名。shell 程序中常用的通配符包括以下几种:
* 代表零个或多个字符
? 代表任意一个字符
[set] 代表 set 中的任意一个字符
[!set] 代表除 set 中的任意一个字符之外的任意一个字符
在使用通配符时,通配符会被 shell 程序自动展开为匹配的文件名或路径名,以便于命令的执行。
2.2 输入输出重定向
在 shell 程序中,可以使用输入输出重定向来改变命令的标准输入和标准输出。输入输出重定向通过使用特殊符号来实现,常用的重定向符号包括以下几种:
> 用于将命令的标准输出重定向到文件中
>> 用于将命令的标准输出追加到文件末尾
< 用于将文件的内容作为命令的标准输入
2>&1 用于将标准错误输出重定向到标准输出
在使用输入输出重定向时,可以根据需要将命令的输入输出重定向到文件或设备中,以便于实现不同的功能和目的。
2.3 管道
在 shell 程序中,可以使用管道将多个命令连接起来,实现数据流的传递和处理。管道通过使用竖线符号来连接多个命令,将第一个命令的标准输出作为第二个命令的标准输入,以此类推。
使用管道时,可以实现多个命令之间的协作和数据交换,提高命令的复杂度和灵活性,实现更加丰富和强大的功能。
2.4 进程
在 shell 程序中,可以使用多种方式来管理和控制进程,包括后台执行、进程监控和信号处理等。通过合理地管理和控制进程,可以实现更高效和稳定的系统运行。
在 shell 程序中,可以使用各种命令和工具来管理和控制进程,包括 ps、kill、nice 等。这些命令和工具可以帮助用户实现对进程的查看、控制和调度,提高系统的性能和可靠性。
2.5 定制用户环境
在 shell 程序中,可以使用各种方式来定制用户的工作环境,包括 shell 配置文件、环境变量和别名设置等。通过合理地定制用户的工作环境,可以提高用户的工作效率和体验。
在 shell 程序中,可以使用 shell 配置文件来设置用户的工作环境,包括 .profile、.bashrc、.cshrc 等。这些配置文件可以设置用户的环境变量、别名和路径,以便于用户的工作和操作。
2.6 vi 屏幕编辑程序
在 shell 程序中,可以使用 vi 屏幕编辑程序来编辑和管理文本文件,包括创建、修改和保存文件等。vi 程序是一种功能强大且灵活的文本编辑工具,可以满足用户对文本编辑的各种需求。
在 vi 程序中,可以使用各种命令和操作来编辑和管理文本文件,包括光标移动、文本删除、文本插入、保存退出等。通过合理地使用 vi 程序,可以提高用户对文本文件的编辑和管理效率。
综上所述,Unix 程序设计环境中的 shell 使用是非常重要和基础的内容,包括了各种概念和技术,如 shell 种类、命令格式、参数通配符、输入输出重定向、管道、进程控制、用户环境定制和 vi 屏幕编辑程序等。通过对这些内容的学习和掌握,可以提高用户对 Unix 程序设计环境的理解和应用能力,从而更好地进行程序设计和开发工作。
2021-09-21 上传
2021-09-21 上传
2021-09-28 上传
2021-09-28 上传
2021-09-28 上传
2021-09-28 上传
智慧安全方案
- 粉丝: 3837
- 资源: 59万+
最新资源
- AJAX开发简略.pdf
- PowerBuilder8.0中文参考手册.pdf
- struts2.0+hibernate3.1+spring2.0的使用.doc
- VB中与串口通讯需要用到的控件介绍
- cpu卡基础知识与入门方法
- c++ TR1 文档
- 虚拟键盘的驱动程序 制作虚拟键盘的过程和
- MRPII-最经典的教材
- GRAILS中文开发PDF文档
- c++ 小游戏 程序
- 深入浅出Struts2.pdf
- 网络工程师英词典 网工英语词汇表.pdf
- Ubuntu实用学习教程
- Linux.C++.Programming.HOWTO
- QTP初级使用手册QTP8_Tutorial_oldsidney_cn
- 注册表概述精华及普遍误区