上海市高等教育自学考试
计算机信息管理专业
《操作系统》实践性环节考核大纲
2005年修订
一、考核目标
1. 掌握UNIX操作系统的常用命令的基本操作
2. 掌握编辑程序vi 的基本使用方法
3. 初步掌握简单的SHELL程序设计
二、运行环境
软件环境
UNIX 操作系统(IBM AIX )支持50个 以上用户数.
三、考核方式
实行闭卷考核,要求考生在考核时不能携带任何书籍、笔记等,独立实现考题要求的操作和简单的程序设计.
四、考核时间
时间:上机考核时间为每次一小时.
五、考核范围
一. UNIX系统的基本命令操作
1.UNIX系统的登录和退出。
2.UNIX系统的目录管理:显示工作目录、建立子目录、改变工作目录、复制 和删除子目录、列出目录的内容
3.UNIX系统的文件管理:显示文件内容、建立、复制、移动和删除文件
4.输入、输出重定向和管道的使用
5.简单文本处理工具的使用(grep、 sort 、wc 等命令)
6.UNIX系统的进程控制命令的使用( ps、kill、nice, sleep、 wait等命令)
二. 屏幕编辑vi的使用
要求用vi来对文件 进行插入、添加、修改、删除、替换等编辑操作,并保存编辑结果。
三. 简单的SHELL程序设计
1. 执行一个SHELL程序并保存执行结果
2. SHELL程序中控制命令的使用
六.附件
(1).屏幕编辑vi
1.vi 的三种状态:
进入vi: $ vi aa2
搞清vi 的 三种状态(命令模式、输入模式、ex 模式)以及相互转换的方法(如下图所示):
自动
:
命令模式中所有的字母都是命令,大小写有别;在输入模式中键入的是文本;在ex模式中一般键入的是用来存盘、退出等命令
2. 光标的移动
光标移动在命令模式下进行。
j 、k、l 、(或space)、h(或backspace)分别表示下移、上移、右移、左移一个字符。
3. 插入、添加、开新行、删除等操作
a命令表示在当前光标之后添加文本
i 命令表示在当前光标之前插入文本
o命令表示在当前行之下开一个新行
x删除一个字符
dd删除一行
4.退出 vi 的几种方式
a.以原文件名存盘退出
第一种 :wq
第二种 ZZ(大写)
第三种 :x
b.以新文件名存盘(原文件不变)退出
:w newfilename
:q
c.不存盘强制退出vi (进入 vi 后所做的一切编辑动作都被废弃)
:q!
(2)SHELL编程中有关命令
1. grep (文件中的模式查找)
语句格式:grep [选项] 模式 文件名 …
最简单的模式就是字符串,即在文件中查找字符串。
例:grep "morning" file1
在文件file1中查找字符串morning
2. test (条件测试命令)
语句格式: test 表达式
表达式的选择项和意义如下:
对文件的测试:
-r文件名 如果此文件存在并且是可读的,则为真。
-w文件名 如果此文件存在并且是可写的,则为真。
-x文件名 如果此文件存在并且是可执行的,则为真。
-s 文件名 如果此文件存在并且长度大于零,则为真。
-d文件名 如果此文件是一个目录,则为真。
-f文件名 如果此文件是一个普通文件,则为真。
对字符串的测试:
-z s1 如果字符串s1的长度是零,则为真。
-n s1 如果字符串s1的长度不是零,则为真。
s1 = s2 如果字符串s1和字符串s2相等,则为真。(见控制命令例1)
s1 != s2 如果字符串s1和字符串s2不等,则为真。
s1 如果字符串s1不是空串,则为真。
数值测试:
n1 –eq n2 如果整数和在代数意义上相等,则为真。其它的比较有:
-ne (不等于),-gt (大于),-ge (大于或等于),-lt (小于),-le (小于或等于),这些选择项可以和下面的操作符结合在一起:
! 一元“非”操作符。
-a 二进制“与”操作符
-o 二进制“或”操作符
3. expr
expr是一条表达式评估命令,它从其后的自变量中读入,然后进行评估,评估后将结果写到标准输出。通常与命令替换以及变量的赋值一起使用。
评估主要是作一些运算,例如加减乘除等算术运算,逻辑运算,字串匹配等
算术运算符如“+”,“-”,“\*”“/”
逻辑运算符如 “=”,“\>” , “\<”, “\>=”, “\<=”, “!=” 等等
运算符左右都必须有空格,例如
j = `expr $j + 1` 表示SHELL变量j完成了加1的动作。
(见控制命令例5)
4. echo (把它中间用空格分开的所有参数写到标准输出上)
命令格式:echo [选项] [参数]
例:echo "good morning"
5. wc 命令:对一个或多个文件计算它们的字符数、字数和行数
wc [选项] 文件名…
-l 仅对文件中的行计数。
-w仅对文件中的字计数。
-c 仅对文件中的字符计数。
(3)SHELL变量与SHELL中的特殊字符
1. 变量赋值
用户自定义变量: 变量名=变量值 (等号前后不可有空格。)
2. 变量引用
用变量名之前冠以$,表示变量的值,例如 echo $a
3. 命令替换
命令替换是用单撇号(`)将被替换的命令括起来,表示命令执行的结果,单撇号的位置在键盘的左上角,而不是与双引号杂一起的单引号,单撇号常与变量赋值一起使用,在SHELL程序中也常与expr命令合用用来做变量的运算。
例:$ a=`date`
$ echo $a
Thu Oct 18 15:13:34 BEIDT 2001
4. SHELL中的特殊字符
(1) 文件名通配符: * ? [ ]
?匹配任意的单个字符,*匹配任意长的任意字符串,[ ]内是一个字符集合,[ ]表示匹配其中的一个字符。
(2) 反斜线 \
反斜线 \ 屏蔽它后面一个特殊字符的特殊意义。
(3) 单引号
在单引号中的特殊字符均失去它们的特殊意义。
(4) 双引号
在双引号中的特殊字符,除了$、单撇号、反斜线 \、及双引号外均失去它们的特殊意义。
(4)SHELL编程中的控制命令
1. if语句
语句格式: if 命令表1
then 命令表2
else 命令表3
fi
2. case 语句
语句格式: case 字符串 in
模式1) 命令表1;;
模式2) 命令表1;;
……
esac
case语句是多分支语句,它按闭括号)左边的模式对字符串值的匹配来执行相应的命令表,匹配总是由上而下地进行,总是执行首先匹配到的模式对应的命令表,如果模式中的每个都匹配不到,则什么也不执行,所以一般会在最后,放一个*),代表以上都不匹配的任意字符串。
在模式中允许使用通配符?、[ ]、* 以及 “或”操作 (操作符为 | )。
case语句的格式要点:
1) 在case 后的是字符串,因此如果使用的是变量的值,就一定是$变量名,
2) 在每个模式的后面,一定有一个闭括号 )
3) 在每个模式对应的命令表后一定有二个连续的分号;;
4) 在case结束时应有一个case的倒写字符串esac
3. for语句
语句格式: for 变量 in 字串
do
命令表
done
for语句用于循环,它按变量在in 后的字符串的先后顺序取值,来执行do和done中的命令表,这是循环中的循环体,SHELL 中的for语句对变量的个数要求是有限个,并且要把所有的值列在in 之后(每个字符串之间有空格),注意在语句中for的后面是变量名,而不是变量值。
4.while语句
语句格式: while 命令表1
do
命令表2
done
while语句也是应用在循环中的,它首先执行命令表1,根据执行结果是true或false决定是否执行do 和done 中的命令表2(循环体),一般在循环体中会改变某个变量的值,从而使命令表1的执行结果为最终为false,达到在一定的条件下终止循环体的执行的目的。
5.until 语句
语句格式: until 命令表1
do
命令表2
done
until语句也是应用在循环中的,它首先执行命令表1,根据执行结果是false或true决定是否执行do 和done 中的命令表2(循环体),一般在循环体中会改变某个变量的值,从而使命令表1的执行结果为true,达到在一定的情况下终止循环体的执行的目的。
要编制一个shell 程序,通常有以下几个步骤:
(1) 用vi编制它,并保存在一个文件中
(2) 如果程序已经给出,用户首先要搞清程序的功能,不同的参数执行时会有那些结果
(3) 使用上面介绍的二种方法之一,用不同的参数去执行,在标准输出上得到了相应的结果
(4) 如果在执行中有错误,则应再次进入vi,找出错误并改正它,再次执行,直到完全正确。
(5) 如果要保存命令执行的结果,可用输出重定向 > (覆盖)或 >>(添加)到某个文件。
附件下载:
《操作系统》实践性环节考核大纲(2005)