1、 HUNAN UNIVERSITY操作系统实验报告题 目: Shell 初步、控制进程学 生 姓 名 : 彭灿学 生 学 号 : 20110806126专 业 班 级 : 信息安全一班同 组 成 员 :上 课 老 师 : 肖德贵目 录一、内容.2二、目的.2三、实验设计思想和流程.2四、主要数据结构及符号说明.2五、程序初值及运行结果.2六、实验体会和思考题.2附录(源代码及注释).21、内容使用通配符来进行文件名的查找重定向标准输入、标准输出、标准错误输出使用管道操作,将一个进程的输出作为另一个进程的输入使用命令行续行符和群组命令在指定的目录中,对满足条件的文件名进行递归查找在文本文件中,查
2、找符合指定模式的文本行将文本文件中的各行,按顺序排列显示一个文本文件的前几行或者后几行使用 ps 与 jobs 命令监视进程使用 kill 与 jobs 命令控制进程显示当前进程的 ID2、目的、使学生熟悉 shell 的基本操作,并使学生有机会使用 LINUX 中最常用的数据处理命令、使用户熟悉进程的操作与控制。三、实验设计思想和流程由于实验指导书上对实验写的非常的详细,我做在实验时完全按照实验书上的要求做的4、主要数据结构及符号说明cat 命令建立 shell 脚本* 代表任何字符串(长度可以不等) ,例如:“a*”匹配以 a 打头的任意字符串。但应注意,文件名前的圆点(.)和路经名中的斜
3、线(/)必须显式匹配。例如“*”不能匹配.file,而“.*”才可以匹配.file。 ? 代表任何单个字符。 代表指定的一个字符范围,只要文件名中位置处的字符在中指定的范围之内,那么这个文件名就与这个模式串匹配。方括号中的字符范围可以由直接给出的字符组成,也可以由表示限定范围的起始字符、终止字符及中间的连字符(-)组成实现重定向的最简单的方法是使用改向操作符。改向操作符可以将标准输入、标准输出和标准报错改向到某个文件。另一种实现重定向的方法是使用管道() ,它将一条命令的输出发送到另一条命令的输入tee 命令:输出的一个副本输送到标准输出,另一个副本拷贝到相应的文件中Find:遍历当前目录甚至
4、于整个文件系统来查找某些文件或目录。pathname:find 命令所查找的目录路径-print:find 命令将匹配的文件输出到标准输出。-exec:find 命令对匹配的文件执行该参数所给出的 shell 命令。相应命令的形式为 command ;,注意 和;之间的空格。Grep:从指定的输入文件中查找与指定的正则表达式相匹配的行sort 命令的功能是对文件中的各行进行排序ps 或 ps -x 查看系统中,属于自己的进程。ps -au 查看系统中,所有用户的进程。ps -aux 查看系统中,包含系统内部的及所有用户的进程。top 命令的功能就是向用户报告当前“活着”的进程的状态,将状态信息
5、显示在屏幕上q:退出 top 命令Jobs:查看正在后台中执行的5、程序初值及运行结果六、实验体会和思考题通过本实验,我初步熟悉了 shell 的基本操作,如使用通配符来进行文件名的查找、重定向标准输入、标准输出、标准错误输出、使用管道操作,将一个进程的输出作为另一个进程的输入、使用命令行续行符和群组命令、在指定的目录中,对满足条件的文件名进行递归查找、在文本文件中,查找符合指定模式的文本行、将文本文件中的各行,按顺序排列、显示一个文本文件的前几行或者后几行等。使用 UNIX 中常用的数据处理命令,对那些命令有了一定的了解。熟悉了进程的操作与控制,如使用 ps 与 jobs 命令监视进程、使用 kill 与 jobs 命令控制进程、显示当前进程的 ID 等通过学过的命令对进程进行控制,加深了对进程环境的理解,学会了识别从终端启动的进程并操作父进程与子进程中的变量