《「基于UNIX操作系统编程实验大纲」.pdf》由会员分享,可在线阅读,更多相关《「基于UNIX操作系统编程实验大纲」.pdf(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 一、课程名称:基于NIX 操作系统编程(一)本课程实验总体介绍 1、本课程上机实验的任务:通过本实验了解并掌握NX操作系统的基本命令的使用,以及输入输出重定向、管道、进程控制、数据输入输出和hell 编程等方面的知识。在充分了解基本原理和基本语法格式的基础上,发挥学生独立分析问题和提出解决方法的能力,鼓励学生综合运用所学知识提出自己独特的和新的实现方案。2、本课程上机实验简介:本实验包含两个题目,一个是有关数据的输入输出和文件管理;另一个是状态监测和进程控制。这两个实验题目涉及NIX 系统中的“文件”和“进程”两个基本概念,都是需要在熟练掌握 shl 编程语言、各种基本命令、以及输入输出重定
2、向和管道的基本功能的基础上,鼓励学生不拘形式,充分发挥自己的创造力,设计出既满足功能要求,又别具一格的程序模块。、本课程适用专业:计算机相关专业。4、本课程上机实验涉及核心知识点:核心知识点:文件、进程、基本命令、输入输出重定向、管道、shll 编程语言、程序设计、数据输入和输出、进程状态监控、文件读写和程序运行控制等。5、本课程上机实验重点与难点:数据输入输出、文件读写和进程状态控制。6、本课程上机实验运用软件名称:UNIX 操作系统 7、总学时:课程实验:16 学时 8、教材名称及教材性质(自编、统编、临时):名称:UNIX 初级教程(第五版)性质:统编 9、参考资料:(二)实验项目基本信
3、息 实验项目 1、实验项目名称:文本建立和输入 2、实验项目的目的和任务:目的:使用户熟悉NI的基本 SHELL 程序设计方法,包括命令行参数检测、变量设置、文本建立和输入、程序运行控制和输入输出重定向 任务:编写一个 SHEL 程序,将用户从键盘输入的文本附加到一个指定的文件中。如果该文件不存在,则新建立该文件;如果该文件已经存在,则把键盘输入的文本附加到该文件后面。输入内容及行数不限定,以空行表示输入结束。运行结束时显示该文件内容。3、上机实验内容:(1)用 屏 幕 编 辑 程 序 vi 建 立 SHE L 程 序 exam1。程序头应有几行以#号开始的简单的程序功能说明行,其它主要的语句
4、前或后都应有功能注释。(2)通过检测变量$#的值判断命令行参数个数是否正确,如果正确则程序继续运行下去;否则提示用户该命令的运行格式:Ua:exam1 并退出运行。(3)设置变量 INUT,并赋予任意一个非空的字符串。(4)用 ech语句在屏幕上提示用户输入任一行文本(空行表示整个输入结束)。(5)用hie 建立一无限循环,循环退出条件为变量 IUT为空,循环体为用 read 语句读入一行到变量 INPUT 中,用ec命令将该变量的内容用附加方式的重定向()输出到用户在命令行上指定的文件名中。(6)用 ct 命令将该文件的内容显示在屏幕上。(7)用 ls 命令查看刚建立好的 ea1 的读写保护
5、模式。(8)用 chmo命令修改xam的读写保护模式,使用户自己拥有执行权限。(9)在当前目录下直接用程序名 exam1 运行该程序 思考:如果出现类似如下提示:xam1:no foun 是什么原因?如何调整?(10)试试不带参数或参数个数大于等于2个来运行em1程序,看程序能否正常判断,并显示提示信息后退出。(11)用一个新文件名 newfile 作为参数正常运行x1,任意输入若干行,并以一个空行结束输入。程序能否显示前面的所有输入行后结束运行。(12)用 ls 命令查看当前目录下是否有新建立的 newfile 文件,并用 ca命令查看该文件的内容。(13)再次用wfe 作为参数运行 exa
6、m1,运行结束后查看newfle 文件中本次键盘输入的内容是附加还是覆盖上次运行时输入的内容。(14)试试使用其他的文件名作为参数来运行 exm1 程序。(15)思考:如果要使作为输入结束标志的空行不出现在新建立的结果文件中,xam该作哪些修改?4、学时数:5 实验项目 2 1、实验项目名称:用户监测 2、实验项目的目的和任务:目的:使用户熟悉一种简单的指定用户的监测方法.练习命令行参数、用户变量、whle 循环控制和暂停进程(seep)等方面的使用技巧。任务:编写一个用户监测程序 usr_mito,其运行格式为:usr_monitr use 其中 usernme 是用户指定的任意一个用户名。
7、程序运行时首先列出当前系统中的已登录用户的名单,再检查指定用户是否已登录。如果已登录,则显示相应信息;如果未登录,则等待该用户登录,直到指定用户登录进入系统为止。、上机实验内容:建立hll 程序sr_moitr 根据变量的值检查命令行上是否有一个用户名,如果有则 继续运行;如果没有或多于一个用户名则提示运行格式:Usag:sr_motor useram 运行who命令,并将运行结果中的用户名字段截取下来,保存到一个用户变量中。echo 命令显示该变量的值,即当前系统中的用户名单。判断用户名单中是否包含命令行上指定的用户,如果有则显示:usr usename i logo 并退出程序。如果用户名单中没有包含命令行上指定的用户,则显示:waitig ser erame 光标停留在省略号后面。使用hile 循环,用 sleep 命令每隔秒钟检查指定用户是否已登录系统。检测方法与步骤 3 相同。如果指定用户未登录,则一直等待下去;如果指定用户已登录,则在省略号后面接着显示:useame is lo on 退出循环,并结束程序。
限制150内