2015年度上学期Linux期末考题,命题人:2012级计算机科学与技术1班全体 总编写:王广明 参考人:刘永贵
第一章
1.简述在虚拟机中安装Red Hat Linux 9.0 的过程 5分 答;
1. 下载操作系统的镜像ISO文件 1分 2.下载虚拟机并安装 1分
3.通过ISO文件安装操作系统 1分
4.执行相关配臵即可 1分 字迹漂亮的外加1分
2.什么是Linux?其创始人是谁?Linux操作系统的诞生、发展和成长过程始终依赖着的重要支柱都有哪些? 5分 答:Linux是一个功能强大的操作系统,同时它是一个自由软件,是免费的、源代码开放的,可以自由使用的类UNIX产品。其创始人是Linus。Linux操作系统的诞生、发展和成长过程始终依赖着的重要支柱有以下几点:3分(1)UNIX操作系统;(2)MINIX操作系统;(3)GNU计划;1分 (4)POSIX标准;(5)Internet网络。1分
3.Linux内核主要由哪几部分组成?每部分的作用?简答题 (10分) 答 :
Linux内核主要由五个子系统组成:进程调度,内存管理,虚拟文件系统,网络接口,进程间通信。 3分
进程调度(SCHED):控制进程对CPU的访问。当需要选择下一个进程运行时,由调度程序选择最值得运行的进程;2分 内存管理(MM)允许多个进程安全的共享主内存区域;虚拟文件系统(VirtualFileSystem,VFS)隐藏了各种硬件的具体细节,为所有的设备提供了统一的接口,VFS提供了多达数十种不同的文件系统; 3分 网络接口(NET)提供了对各种网络标准的存取和各种网络硬件的支持;进程间通讯(IPC) 支持进程间各种通信机制。 2分
4.叙述Linux操作系统的三个主要部分及其功能。(6分) 答:
内核:内核是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序。2分 命令解释层:是系统的用户界面,提供了用户与内核进行交互操作的一种接口。2分 文件结构:是文件存放在磁盘等存储设备上的组织方法,文件结构的相互关联性使共享数据变得容易。2分
第二章
1.vi编辑器有哪几种工作模式?如何在这几种工作模式之间转换?3分 答:Vi的工作模式有三种:命令模式、输入模式、末行模式。1分
在命令模式下输入a、A、i、I、o、O等命令之一可以进入输入模式,在输入模式下按Esc键回到命令模式;在命令模式下输入:进入末行模式,末行命令执行完后回到命令模式。2分
2. 什么是位臵变量?shell的变量类型有哪些种?5分 答:位臵变量是指命令行上传递给程序的参数。1分
Shell变量可以分为:用户自定义变量、环境变量、位臵变量、特殊变量 4分
3. 叙述什么是shell? 什么是X window?Redhat的默认shell和X window是什么?(6分) 答:Shell 是系统的用户界面,提供了用户与内核进行交互操作的一种接口。是一个命令解释器,它可以用来启动、挂起、停止、甚至编写程序。3分 Xwindow 选择shell如何进行任务控制。是否支持命令行编辑。是否支持命令行历史记录,环境变量有哪些,什么是它的开机启动文件或者配臵文件,支持什么样的编程框架? 是UNIX和Linux系统上的图形用户界面系统。
3 Linux的默认shell是bash,默认XWindow是XFree86 3分
4.在UNIX/Linux系统中,环境变量是非常重要,在字符界面下试说明:8分 (1) PATH变量的作用,如何得到PATH的值。2分
(2) 在UNIX/Linux系统的超级用户的环境变量PATH中允许包含当前目录吗?2分
(3) 若在超级用户的当前目录内有可执行文件mypro,如何执行它(写出执行时键盘输入内容)?2分
(4) 如何使用该命令在后台执行(写出执行时键盘输入内容)?
答:(1) PATH为命令搜索路径,可用echo $PATH命令显示;(2)UNIX/Linux的PATH变量内不允许包含当前路径(.);(3)./mypro;(4)./mypro & 2分
5.Shell程序中,对用户变量赋值有哪些方式?简要说明每种赋值方式的使用方法。10分 (1) 等号赋值
1)在等号前后均不能有空格。
2)当需要将一个包含空格的字符串赋给用户变量时,应用单引号将该字符串括起来。2分 (2) 键盘赋值
由read命令来实现的。用法为:read 用户变量名 当shell程序执行到该行时,将等待用户从键盘输入, 当用户按下回车键时shell把你输入的内容赋给用户变量。3分 (3) 命令替换赋值 用法为:用户变量=`命令` 该语句将首先执行反向单引号之间的命令,
然后将其执行后输出的内容赋给该用户变量,在这种赋值方式中, 等号前后同样不能有空格,而且必须用反向单引号(即重音号)把命令括起来。5分(注意,语句不要完全一样,意思接近都可的满分)
6.创建一个shell 脚本,它从用户那里接收10个数,并显示已输入的最大的数。 参考程序:5分 #! /bin/bash max=0
for((count=1 ; count <= 10 ; count = count+1)) 2分 do
echo -n \read value 1分 if [ $max -lt $value ] then 1分 max=$value fi
done 1分
7.下面给出了一个SHELL程序,试对其行后有#(n)形式的语句进行解释,并说明程序完
成的功能。(8分) #!/bin/sh
DIRNAME=`ls /root | grep bak` #(1) if [ -z \ #(2) mkdir /root/bak ; cd /root/bak #(3) fi
YY=`date +%y` ; MM=`date +%m` ; DD=`date +%d` #(4) BACKETC=$YY$MM$DD_etc.tar.gz #(5) tar zcvf $BACKETC /etc #(6) echo \
答:#(1)获取/root中名称包含bak的文件或目录 1分 #(2)判断1结果为空 1分
#(3)创建目录/root/bak并进入该目录 1分 #(4)获取当前时间的年月日 1分
#(5)按照年(2位)月(2位)日(2 位)_etc方式构造压缩文件名 1分 #(6)压缩etc目录并保存在/root/bak中 1分
程序功能:若/root/bak不存在则创建之,然后将/etc按日期打包保存于该目录中。2分
8.设计一个shell程序,添加一个新组为class1,然后添加属于这个组的30个用户,用户名的形式为stdxx,其中xx从01到30。(6分) 答:#!/bin/sh i=1
groupadd class1 while [ $i -le 30 ] 1分 do
if [ $i -le 9 ] ;then
USERNAME=stu0${i} 1分 else
USERNAME=stu${i} 1分 fi
useradd $USERNAME 1分 mkdir /home/$USERNAME
chown -R $USERNAME /home/$USERNAME 1分 chgrp -R class1 /home/$USERNAME i=$(($i + 1)) #或let “i=i+1” 1分 done
9. 设计一个shell程序计算n的阶乘。要求:8分 (1) 从命令行接收参数n;
(2) 在程序开始后立即判断n的合法性,即是否有参数,若有是否为正整数,若非法请给错误提示;
(3) 最后出计算的结果。 参考代码:
#!/bin/sh
if [ $# -eq 0 ]; then echo -e \x=`echo $1 | awk '/[^[:digit:]]/ { print $0 } ' `
if [ \
fact=1;tmp=1
while [ $tmp -le $1 ] do fact=$((fact*tmp));tmp=$((++tmp)); done
echo \ 8分(注意,程序要基本一致,步骤大体差不多的可酌情给分)
第三章
1.操作题(写出完成下述功能的命令序列,每小题4分,共20分)
(1).假设你的用户账号是zheng,现在你登录进入linux系统,查看当前登录到系统中的用户,查看当前系统中运行的进程,然后再退出系统。 答:login:zheng
Password:口令 $who $ps $Ctrl+D
(2).在当前目录/home/zheng下新建一个目录back,将当前目录改为back,在back下新建2个长度为0的文件test1、test2,然后把test2移到其父目录中并改名为file12。 答:$ mkdir back $ cd back
$ touch test1 test2 $ mv test2 ../file2
(3).现在需要统计当前目录/home/zheng下普通文件的数目并显示结果,如何实现? $find –type f | wc –l
(4).假设你是系统管理员,需要增加一个新的用户账号zheng,为新用户设臵初始密码,锁定用户账号uly,并删除用户账号chang。 答:.#useradd zheng #passwd zheng #passwd –l uly #userdel chang
(5).若给需要将/home/zheng目录下的所有文件打包压缩成/tmp/zheng.tar.gz,你准备怎么做?当需要从压缩包中恢复时,又该如何处理? 答:#tar –zcvf /tmp/zheng.tar.gz /home/zheng #tar -zxvf /tmp/zheng.tar.gz
2.试编写一个SHELL程序,该程序能接收用户从键盘输入的100个整数,然后求出其总和、最大值及最小值。(6分) 答:#!/bin/sh read max min=$max sum=$max i=1
while [$i –lt 100] do
read x 2分
sum=`expr $sum + $x` if [ $max –lt $x ] then
max=$x fi
if [ $ x –lt $min ] 2分 min=$x fi
i=`expr $i + 1` done
echo \ max = $max min = $min \分(注意,程序要基本一致,步骤大体差不多的可酌情给分)
3.简述解决忘记root密码的办法。12分 参考答案:
1)用RedHat标准安装盘启动系统 当出现提示符时敲入:linux rescue 就会以修复模式启动系统 2分
2)系统启动完毕后,会将硬盘mount到/mnt/sysimage,届时会有提示 1分 3)进入提示符后,敲入命令: chroot /mnt/sysimage 2分 4)敲入命令: passwd
更改密码 1分
5)连续敲入两次exit,即重起系统,将光盘拿出,按正常模式启动系统
除了用光盘引导rescue模式,还有一种方法是用启动装载器来进入单用户模式: (1) grub
进入启动画面之后,敲入“e”,把光标移动到kernel ...那一行,再敲入“e”,在kernel 一行的最后加上空格single,回车
敲入“b”,启动系统,即进入单用户模式, 这个时候就可以用passwd命令改密码了。 3分 (2) lilo
进入lilo命令行模式,敲入linux single,即进入单用户模式。 passwd ...
如果grub/lilo设了密码,一定要记住才行。要是忘了grub/lilo的密码,就只有用rescue模式了。 3分
4..有一普通用户想在每周日凌晨零点零分定期备份/user/backup到/tmp目录下,该用户应如何做? 5分 答:
(1) 第一种方法:
用户应使用crontab –e 命令创建crontab文件。格式如下: 0 0 * * sun cp –r /user/backup /tmp 5分
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Linux期末考题在线全文阅读。
相关推荐: