1、操作系统实验参考材料操作系统实验参考材料一、Linux/UNIX操作系统基础1.上网查阅资料.根据你所获得的信息,用十句话以内的文字简单描述以下几种操作系统,并作比较. 1)SOLARIS 2)SCO OPEN UNIX 3)FREE BSD 4)LINUX2.什么是LINUX? 列出五种常见的LINUX版本,并用三至五句话对每个版本作简单描述.解答提示 LINUX 是一个可独立运作的POSIX兼容OS。它也包含了SXS V和BSD的功能。版本包括有Redhat, Suse, 红旗, Slackware, Deban等。3.简单描述REDHAD LINUX的安装过程解答提示 步骤如下 1)用L
2、INUX启动光盘启动计算机 2)选择安装语言、鼠标、键盘等 3)选择安装类型(服务器、工作站、自定、升级)4)为磁盘划分LINUX分区与SWAP分区5)选择引导装载程序与记录引导程序的位置6)依次配置网络、防火墙、语言及时区7)配置帐号与密码8)选择合适的软件包9)进行图形界面配置10)安装软件包11)创建引导盘12)进行X窗口设置13)安装完成。(一)UNIX操作基础1.新建立一个用户,用此用户名和口令登陆系统.注意屏幕上列出的提示信息.解答 1)useradd student 2)passwd 123452.查看系统的命令提示符,确定系统使用的SHELL 程序类型. 列出unix系统常见的
3、SHELL种类解答 1)echo $SHELL 2)sh bash tcsh csh pdksh zsh ash mc等3.用who 命令 来查看当前登陆在系统中的用户列表解答who 4.利用who 命令的选项来查看系统中的用户总数和系统启动时间解答 1)who q 2) who -b5.查找系统中的帮助系统工具,比较 learn, help, man三个命令的异同解答 1)learn 无learn命令 只有unix系统有 2)help info bash 3) man 是手册manual的缩写6.用date 命令查看当前的日期和时间 解答date7.用cal 命令查看2003年1月1日是星期
4、几解答cal my 1 20038.查看2000年的日历表解答cal y 20039.新建立一个student 用户,用passwd命令修改口令.解答同题110.试图用一个不满足口令组成要求的字符串作为新口令.将系统显示的错误信息记录下来.解答 错误口令分两种 一种是类字典的单词,另外一种是非法字符(二)vi编辑器1.列出Linux/UNIX系统支持的编辑器类型解答 Kwrite, vi, Emace , Mozilla Composer, Edit, hexedit等2.列出VI编辑器的两种工作模式并简述特点.解答 编辑模式(文本的输入与修改)与命令模式(输入各种命令)3.用vi生成一个名为
5、test文件,输入两到三行文字.解答 1)vi test 2)输入文字 3)wq4.对上述的test文件进行增删改的操作.解答1)增加 i命令2)删除 dd命令3) 修改 x命令5.在VI中,列出用户当前目录下的文件.解答 方法1 vi . 方法2 e .6.创建一个用户名的缩写,并把它加到用户文件的头部解答 vi fileenter a line of filesisort7.读入日期和时间,并将它们放到文件中用户名之后解答 在命令行输入Hdate8.创建一个garden文件.并把test文件追加到它的尾部.解答 在命令行输入 Lcat test9.试改变VI编辑器的showmode选项解答
6、 set showmode set noshowmode10.试在文档中搜索指定的字串.解答 在命令行输入 /string11.用什么命令设置与取消行号功能?解答在命令行内输入 set nu! 显示与取消行号(三)UNIX文件系统(一)1.显示当前目录解答echo $PWD2.改变到用户主目录解答cd 3.列出当前目录的内容解答ls4.确认用户主目录解答echo $HOME5.当前目录下,创建名为ABC的新目录解答mkdir ABC6.在ABC目录创建名为ABC的新文件,输入若干文字解答vi abc7.显示当前目录内容1)按照字母逆序 ls -r2)按照长格式 ls -l3)按照水平格式 ls
7、 -format=horizontal4)显示不可见的文件 ls d .*8.在屏幕上显示文件ABC的内容解答cat ABC9.删除ABC目录下的ABC文件.删除ABC文件前,要求确认解答rm -i ABC/ABC10.删除当前目录中的ABC目录解答rm ABC11.显示当前默认打印机的状态解答lpc status12.列出所有文件,包括不可见的文件解答 ls a或者 ls -al13.打印文档的多份副本的命令是什么?解答lp n(四)UNIX文件系统(二)1.在用户主目录下创建名为memos的目录解答 1)cd /返回用户主目录 2)mkdir memos/建立memos目录 2.用vi编辑
8、器,在用户主目录中创建名为myfile的文件解答 1)vi myfile/建立myfile文件 2)ESC-:wq /存盘退出3.用cat命令,把myfile多次附加到新创建的名为large的文件中.解答一个三次附加的例子 Cat myfilelarge X34.用pr命令及其选项,格式化large文件并打印解答 pr largelarge.print6.用cp命令把用户主目录下的所有文件复制到目录memos下解答cp * ./memos7.用ln命令创建large的另一个文件名解答ln large large.old8.用mv命令,把large更名为large.old解答mv large l
9、arge.old9.用mv命令,把large移到memos下解答mv large memos10.显示一个文件的后五行解答tail n 5 large11.显示一个文件的前五行解答head n 5 large12.把一个文件的最后30个字符存到另一个文件中解答tail c 30 largemyfile13.保存用户主目录中所有7天前创建的文件列表解答 1)cd. 2)find ./-ctime 7 name “*” 7days14.查找名为passwd的文件解答 find ./-name “passwd”15.查找名为profile的文件解答 find ./name 16.从用户主目录开始,查
10、找所有7天前创建的文件解答 find $home atime 7 17.查找所有多于10天的文件,保存到另一个目录中解答 find ./ -ctime +10 name “*” exec cp ./backup/18.用paste命令,将两个文件连在一起解答 paste large1 myfilemyfile19.用more命令读大文件.解答 more file(五)通信1.把下列的消息发给自己 so little time and so much to do解答 echo so little time and so much to do | write root2.读取当前的日期和时间,追加
11、到消息的结尾解答 (echo so little time and so much to do : date -R) | write root 3.在发送消息之前,把消息保存到一个文件中解答 (echo so little time and so much to do : date -R) files cat files | write root 4.读取自己的邮件解答 1)mail 列出所有邮件 2)t1 读取第一封邮件 3)q或x退出5.比较x命令和q命令退出mailx的不同处解答q退出时,会返回信息,该用户所有邮件会保存到相应的缓冲池上,例如root的信会保存到/var/spool/ma
12、il/rootx则保持资料在邮件服务系统上,不删除,马上退出。二、 Linux的进程和作业控制(一)要点概述: 通过虚拟终端,我们可以感受Linux的多用户特性,而Linux的进程和作业控制,则体现了Linux的多任务的特性。1进程和作业 每当运行一个程序,Linux系统就启动了一个进程,Linux把正在运行的程序称为进程。而我们称一个正在运行的进程为作业。进程和作业有时是可互换的。如果我们要了解进程和作业的信息,可以分别使用ps命令和jobs命令来查看。下面我们先介绍这两个命令的使用。(1)PS命令 格式:ps Options pids 功能:将显示正在执行的进程的信息。 常用选项说明: -
13、l:以长列表的形式列出。 -u:用户格式,给出用户名和开始时间。 -j:作业格式,给出pgid,sid。 -s:信号格式。 -v:虚拟存储器格式。 -m:显示内存信信息。 -f:给出树状格式。 -a:显示其他用户的进程。 -X:显示没有控制台的进程。 -c:从 task_struct 中给出进程名。 -e:显示环境。 -w:宽行输出。 -h:无标题。 -r:只显示正在运行的程序。 -n:用数字来输出USER和WCHAN. txx:只显示受ttyxx控制的进程。 pids:只显示特定的进程。 -help:在标准输出上输出帮助信息并退出。 -version:在标准输出上输出版本信息并退出。 例如,
14、要查看当前进程的信息,可在shell提示符下,输入命令“ps -l”,屏幕显示栏目表。 下面对主要的栏目作简要说明: UID:用户的标识号。 PID:进程的标识号,是系统赋予每个正在执行进程的唯一编号。 PPID:父进程的标识号。 PRI:进程优先级。 SIZE:虚拟内存的大小。 RSS:驻留空间的大小。 STAT:进程状态,如:“R”表示进程正在运行:“s”表示睡眠;“D”表示 不可打断的睡眠;“T”表示停止或跟踪;“Z”表示僵尸进程; “W”表示进程没有驻留页。 TTY:是进程所在的虚拟终端号。 TIME:是该进程已运行的时间。 COMMAND:是该进程的名称。 可以观察到,用户root当
15、前正在运行的进程是hash和ps命令自身,即hash与ps命令同时运行。当root输入ps命令后,hash执行该命令,ps完成运行后,控制返回hash进程,hash显示提示符,等待下一个命令。(2)jobs 格式:jobs 功能:命令列出当前正在运行的作业信息,该命令没有选项和参数。2进程控制 在这里,我们介绍的进程控制主要是指运用Linux系统提供的命令,如何运行和撤消进程、改变进程的优先级以及将进程切换到后台运行的方法。(l)运行和撤消进程 运行进程的方法在前面已经叙述,我们这里主要介绍撤消进程的方法,有两种方法可以撤消进程,一种是使用kill命令来撤消一个进程,另一种是使用CtrlC组合
16、键来撤消,下面我们先介绍kill命令的使用。 格式:kill options pid 其中,Pid是进程标识。 功能:终止(或撤消)一个进程。 常用选项说明: -s信号名:指出欲发送的信号,信号是以信号名或数字给出的。 -p:指kill 只输出已命名的 pid,而且不送信号给它。 -l:输出一个信号名列表。 如我们要撤消一个进程,只需在命令kill后键入欲撤消进程的进程标识(pid)即可,kill命令除可用于撤消进程外,还可撤消作业,其使用方法将在作业控制中介绍。使用CtrlC组合键往往撤消一个当前正在前台运行的进程。(2)指定进程的优先级 Linux提供的nice命令可以指定进程的优先级,也
17、即我们可以通过它来改变一个进程的优先级,下面我们就来介绍该命令的使用方法。 格式:nice optionsCOMAMND arg. 功能:通过修改调度优先级来运行一个程序。 常用选项说明: s:加上由指定的优先级而不是默认值10。 -help:输出帮助信息。 -version:输出版本信息。(3)将进程切换到后台运行 将一个进程放到后台运行有两种方法,第一种方法很简单,我们只需在要运行的程序命令的最后加上字符;第二种方法是:首先正常地在前台启动一个作业,然后暂时中止它,最后再在后台重新启动它。让我们来看一个例子: 例如,要将进程yes/dev/null放到后台运行,我们先用第一种方法,则在sh
18、ell提示符下,键入命令yesdevnull,此时屏幕显示:rootlocalhost /root#yes/dev/null &1164rootlocalhost /root# 其中,命令yes是向标准输出发送无穷尽的一串y,devnull就象一个黑洞,任何被送入这个黑洞的数据都会消失。屏幕显示的1代表yes进程的作业号。164是进程标识符,也称PID,它是系统赋予这个进程的标号。现在,yes进程正在后台运行,并不断地把一连串的y字符送给devnull。下面我们用另一种方法,先在前台启动该进程,然后我们使用组合键CtrlZ暂时中止它,最后再键入命令bg在后台重新启动它。其操作过程屏幕显示:ro
19、otlocalhost /root#yes/dev/null1+stopped yes/dev/nullrootlocalhost /root#rootlocalhost /root#bg1+ yes/dev/null &rootlocalhost /root# 3作业控制 Linux系统提供了许多命令使用户可以方便地运行和撤消作业、在指定时间运行作业以及将作业在前后台之间切换等。在这里,我们就对这些作业控制的方法作一介绍。(1)前台作业和后台作业以及前后台作业之间的切换 作业可以在前台运行,也可以在后台运行,但在同一时刻只能有一个作业在前台运行。所谓前台作业是指正在对它进行交互操作的作业,如
20、它从键盘接收输入,并将输出送到屏幕。而我们称不接收终端的输入,不需要进行交互操作,而只是默默运行的作业为后台作业。有了前台和后台,我们不仅能够实现真正意义的多任务,而且我们还可方便地对前后台作业进行切换。将一个作业放到后台运行的一种方法是先用CtrlZ组合键中止该作业,然后在shell提示符下键入命令bg,而我们要将该作业再次切换回前台运行,只需在Shell提示符下键入命令fg即可。如果系统上运行着多个作业,我们也可使用命令fg和bg方便地对作业进行前后台切换,但必须在命令后跟上符和作业号。例如有三个作业,3号作业在前台运行,1、2号作业在后台运行,我们现在要将2号作业放到前台运行而把 3号作
21、业放到后台运行,则只需分别键入命令fg2和命令bg3即可。(2)挂起作业和撤消作业 作业可以被挂起,挂起作业只是暂时中止该作业的运行,用户可在需要时在前台或后台恢复它的运行,恢复被挂起的作业将不会改变作业的状态,该作业将从被中断的地方继续运行。挂起作业的方法是使用挂起键,挂起键通常是CtrlZ组合键。与挂起不同,撤消作业是指终止该作业的运行,我们可以用kill命令来撤消一个作业,但在命令kill后必须先键入符号,再键入作业号。我们来看个例子: 例如,要求用两种方法之一撤消上例中的1号作业,并查看撤消结果。 一种方法是用命令kill直接撤消1号作业,然后用命令jobs来查看结果,其操作过程屏幕显
22、示:。rootlocalhost /root#kill %1rootlocalhost /root#jobs1+Terminated yes/dev/nullrootlocalhost /root# 注意,如果再次使用加命令,屏幕上将不会显示任何信息。在这个例子中,由于只有一个进程,所以作业和进程的概念是一致的,所以我们使用的另一种方法就是用进程标识号(PID)作为命令 kill的参数来撤消该进程即等于撤消该作业。该进程的 PID为164。我们只需在 shell提示符下键入命令 kill 164即可。(3)指定时间运行作业 如果用户想在一个特定的时间执行作业或删除队列中的文件,可以使用at命令
23、。 格式:at -v-q队列-f文件名-mldbv时间 功能:在一个特定的时间执行作业或删除队列中的文件 常用选项说明: -v:显示版本号。 -q队列名 指定可选队列名称,队列的字母顺序越高,则队列的优先级越低。: -f: 从指定文件名的文件中读取作业。 -l:列出用户排在队列中的作业。 -d:删除队列中的作业。 -b:用低优先级运行作业。 时间:用户设定的作业开始时间,可接受的时间形式是HHMM或HH:MM。也可以指定在哪一天运行,给出的日期格式为MMDDYY,MM/DD/YY或MMDDYY。 例如,work是一个作业文件,我们分别用两种方式使作业 work在15:00运行,然后删除作业队列
24、中的1号作业。我们先用命令cat来看看它的内容。屏幕显示:rootlocalhost /root#cat workls -l 我们可以观察到在文件work中,用户已经存入要执行的命令ls -l。现在如果用户要在 15:00执行work中的作业,应在shell提示符下,键入命令at -f work 15:00,系统将在15:00执行文件work中的命令,并且将执行的结果将送入你的maill中。你可以通过maill命令查看作业运行的结果。我们也可用另一种方式得到相同的结果,其操作过程屏幕显示:rootlocalhost /root#at 15:00atls -lat 需要注意的是,在at命令中如果
25、不指定-f选项,则at从标准输入(键盘)读入所有的命令,并以EOT(CtrlD组合键)结束输入。 现在已有两个作业在队列中,我们可以用命令at -l来查看,屏幕显示:rootlocalhost /root#at -l1 2002-6-6 15:00 a2 2002-6-6 15:00 a 输出信息的第一列为作业号,第二列为作业启动的时间,第三列为作业的队列名称。 为删除在队列中的二号作业,我们在提示符下键入命令at -d,屏幕显示:rootlocalhost /root#at -d 1rootlocalhost /root#at -l2 2002-6-6 15:00 a(4)作业的顺序执行 用
26、户可以在一个命令行输入多个命令来使作业顺序执行。这时,作业之间要用分号(;)或与号()分开,Linux系统将按照命令行的顺序来执行这些作业,并将所有的输出在屏幕上显示出来。例如,要顺序执行以下三个命令: s -lfile1(输出root目录下的文件的详细格式到 file1中) cat file1(将 file1中的内容输出至屏幕) cp file1 file2(将 file1中的内容复制到 file2 中)。可以在 shell提示符下键入命令ls -lfilel;cat file1;cp flle1 file2。4 观察系统动态的进程控制和进程调度的好工具-top 格式:top options
27、 功能:主要是显示系统动态的进程控制和进程调度,除此之外,还可查看内存动态使用的实时信息。由它提供的内存动态使用信息包括:总的可用内存,未占用的内存,已使用的内存,共享的内存和用于缓存的内存。 常用选项说明: d:指出屏幕更新的延迟,可以通过交互命令S来完成改变。 q:使top不延迟地刷新,如果调用者拥有超级用户的特权,top就以最 高可能的优先级来运行它。 S:特指累积模式,每一进程都以cpu时间列出。 s:top将在安全模式下运行以避免交互命令的潜在危险。 i:不理会任何空闲或僵尸进程就开始运行top。 c:显示命令行而不只是命令名。 在键入top命令后,top命令将以全屏方式显示出了处理
28、器状态的各种动态信息,默认5秒更新一次显示,其中有很多字段,我们对这些字段作一说明: top命令的字段说明: uptime:显示系统已运行时间和系统的三个加载均值,加载均值是指那些准备在 1分、5分、15分内运行的进程的平均数。 process:显示在最近一次更新时运行的进程总数并作分类,可通过交互命令t来 切换进程和状态显示。 CPU states:显示在用户模式下的 CPU利用的百分比、系统方式、优先级任务(优先 级任务仅指那些优先级值为负的)和空闲任务。花费在优先级任务上的 时间将以系统和用户时间进行计数,所以总数会超过100,可通过交 互命令t来切换进程和状态显示。 Mem:显示内存使
29、用的统计,包含总的可用内存、空闲内存、已用内存、共享 内存和用于缓存的内存,可通过交互命令m来切换内存信息显示。 swap:显示对交换空间的统计,包含总的交换空间,可用交换空间和已用交换 空间。 PID:显示每个任务的进程标识号。 PPID:显示每个任务的父进程标识号。 UID:显示任务所有者的用户号。 USER:显示任务所有者的用户名。 PRI:显示任务的优先级。 NI:显示任务的NICE值。 SIZE:显示任务代码加上数据及堆栈空间的大小(以KB为单位)。 TSIZE:显示任务的代码大小。 DSIZE:显示数据加上堆栈的大小但对ELF进程不显示。 TRS:显示文本驻留空间的大小。 SWAP:显示此任务使用的交换空间的大小。 D:显示页的大小。 LIB:显示使用库页的大小,对 ELF进程也无效。 RSS:显示被任务占用的物理内
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1