《Linux操作系统》第2版完整习题答案电子工业出版社.docx
《《Linux操作系统》第2版完整习题答案电子工业出版社.docx》由会员分享,可在线阅读,更多相关《《Linux操作系统》第2版完整习题答案电子工业出版社.docx(39页珍藏版)》请在冰豆网上搜索。
《Linux操作系统》第2版完整习题答案电子工业出版社
参考答案
第1章
1.思考题
(1)C语言。
(2)UNIX系统的特点有以下几点:
(1)多任务;
(2)多用户;(3)并行处理能力;(4)设备无关性;(5)工具;(6)错误处理;(7)强大的网络功能;(8)开放性。
(3)Linux是一个功能强大的操作系统,同时它是一个自由软件,是免费的、源代码开放的,可以自由使用的类UNIX产品。
其创始人是Linus。
(4)Linux操作系统的诞生、发展和成长过程始终依赖着的重要支柱有以下几点:
(1)UNIX操作系统;
(2)MINIX操作系统;(3)GNU计划;(4)POSIX标准;(5)Internet网络。
(5)Linux系统的特点有以下几点:
1)自由软件;2)良好的兼容性;3)良好的界面;4)丰富的网络功能;5)支持多种平台。
(6)常见的Linux的发行版本有以下几种:
1)RedHatLinux;2)CalderaOpenLinux;3)SuSELinux;4)TurboLinux;5)红旗Linux;6)中软Linux。
(7)略。
2.单项选择
(1)-(5):
BCCBA
第2章
1.思考题
(1)Linux系统有哪些运行级别?
其含义为何?
答:
Linux/Unix有7个运行级或运行状态,定义如下(参见/etc/inittab),具体级别与含义如下:
0:
关闭系统;1:
单用户模式;2:
多用户使用模式,但没有NFS功能;3:
完全多用户模式;4:
没有使用,用户可自定义;5:
完全多用户模式,且支持X-Windows(默认运行级);6:
重新启动。
(2)Linux系统下经常使用的两种桌面环境是什么?
答:
GNOME他KDE
(3)什么是X-Window系统?
它有什么特点?
答:
图形界面(X-Window)就是在Linux操作系统中提供图形化用户界面(GUI),支持的视窗系统,也被称为X。
X-Window的工作方式跟MicrosoftWindows有着本质的不同。
MSWindows的图形用户界面(GUI)与操作系统本身紧密结合,成为操作系统的一部分;而X-Window并不是操作系统的一部分,它实际上只是在Linux操作系统上面运行的一个应用程序,可以不启动。
换句话说,MSWindows的图形支持是内核级的,而Linux的X-Window则是应用程序级的。
X-Window的一个主要的特性就是它采用了“客户端-服务器”模式。
其组成由X服务器(XServer)、X客户端(XClient)和通讯通道(Comunicationchannel)三部分组成,XServer和XClient可位于同一台主机上,也可独立地运行于同网络上的不同主机上。
(4)试比较X-Window系统与MSWindows系统有何不同?
答:
参见(3)
(5)何谓虚拟桌面?
如何将一个运行的应用程序从一个虚拟桌面移动到另一个虚拟桌面?
答:
默认情况下,当用户从图形界面登录成功后,系统为用户4个工作区,这4个工作区就可以理解为4个虚拟桌面,它们依次排列底部面板内。
默认时用户工作在第1个工作区,用户可点按其它工作区实现工作区的切换。
在每个工作区内,用户都可运行相同或不同的应用程序。
(6)如何进行本地登录和注销?
答:
用户可从图形界面或字符界面登录,但需要提供正确的用户名和密码。
(7)默认情况下,超级用户和普通用户的登录提示符分别是什么?
答:
#和$
(8)如何正确地关闭和重新启动Linux系统?
答:
用户可从图形界面或字符界面关闭和重启系统,参见2.3(pp17-18)。
(9)如何获得命令帮助?
man命令的作用是什么?
答:
Linux的帮助资源丰富,常见的有man、info、yelp和网络资源等,用户可以根据需要使用它们。
man(manual)是传统UNIX系统的在线手册页,通过它用户可以获得在线帮助。
使用man可以获得相关主题的帮助信息。
(10)如何获得Linux文档?
答:
第(9)题中的帮助信息都是Linux的文档资源,除此之外还有软件包项目文档、HOWTO、LDP文档等,可以通过系统或系统的网站获得并安装这些资源。
2.单项选择
(1)-(5)BCADD
第3章
1.思考题
(1)shell的基本功能有哪些?
答:
功能有6:
命令解释执行、文件名替换、I/O重定向、通讯管道建立、系统环境设置和shell编程。
(2)Linux系统中的主要的目录有哪些?
各有什么作用?
解:
请参见p35。
(3)工作目录及其父目录可分别用什么表示?
答:
.和..
(4)在如图3-1所示的目录结构中,若处在usr1目录中的用户要访问include目录中的stdio.h,可以采用什么样的路径,对应的带有路径的文件名是什么?
答:
绝对路径和相对路径,分别是/usr/include和../../usr/include
(5)Linux系统中常用的通配符有哪些?
试举例说明它们的作用。
解:
参见表3-1及其说明。
(6)常用的shell环境变量有哪些?
怎么查询和设置环境变量?
答:
.常用环境变量参见3.1.61;可使用env或set显示或设置环境变量。
(7)什么是输入/输出重定向?
管道的功能是什么?
试举例说明如何使用它们。
解:
参见§3.1.7和§3.1.8。
(8)shell中的引号有哪几种?
各有什么作用?
试举例说明之。
答:
在shell中有三种引号:
单引号('),双引号(")和反单引号(`),前两者用于变量定义,后者用于命令替换。
具体作用和示例请参见P41§3.1.91。
(9)什么是参数替换?
什么是命令替换?
试举例说明如何使用它们。
解:
参见P41§3.1.9
(10)shell的种类有哪些?
解:
参见P42-43§3.1.11。
2.单项选择
(1)-(5)DAABA
3.综合题
(1)试述Linux的shell启动过程。
解:
参见P69§3.3.1及图3-2.
(2)试述在Linux系统中如何进行日期和时间管理。
在图形界面下可以实现时间和日期管理吗?
若能,如何做?
答:
可以从图形或字符界面对日期和时间进行管理。
字符界面下的命令为date,具体用法参见P58-60;图形界面下也可方便地实现日期和时间管理,方法是“System”->“Administration”->“Date&Time”打开管理图面。
通过“Date&Time”选项卡可以设置日期和时间;通过“TimeZone”选项卡可以设置时区;通过“NetworkTimeProtocol”可以激活网络时间协议,并设置相关的选项。
(3)在UNIX/Linux系统中有些操作是有副作用的,比方cp,mv和rm等,应该如何避免?
答:
可以使用备份功能。
对于cp和mv等提供备份功能的命令可以使用它们的备份功能(选项-b/--backup);对于没有提供备份功能的命令,可以使用交互功能增加用户确认的机会,也可以在操作前,手工进行备份。
第4章
1.思考题
(1)为了提高系统的安全性,对用户密码应如何管理?
解:
参见P78§4.5.1。
除此之外,对于任何涉密单位都要健全的密码管理制度,并严格按制度执行。
(2)叙述文件/etc/passwd、/etc/shadow和/etc/group文件的作用及其结构。
解:
参见P72-73。
(3)为何要上锁一个用户?
如何锁定一个用户?
当需要时如何解锁?
答:
当一个真实用户较长时间离开工作岗位,但还要再回来继续工作时,可以在其离开后,将所用用户上锁,待其回来后,再将用户解锁,供其继续使用。
这样可以避免在用户离开期间,其它人冒名使用。
上锁一个用户,比如zh3,可以使用命令
passwd-lzh3
或usermod-Lzh3
解锁用户可以使用命令
passwd–uzh3
或usermod-Uzh3
(4)如何在删除一个用户时也同时删除它的家目录,在做操作时应注意些什么问题?
答:
在删除用户时使用-r选项可以在删除用户的同时,删除用户家目录。
但一般不必要这样做,可以在删除用户时暂不删除其家目录,因为家目录中可能有用户还需要的信息。
需待用户再三确认,确实无可用信息或所有信息均已备份后,再使用rm命令删除它。
(5)如何观察当前系统的运行级别?
答:
who-r
(6)如何确定用户所使用的终端?
答:
tty
2.单项选择题
(1)-(5)DAAAC
3.综合题
(1)试述Linux系统的访问控制机制。
答:
Unix/Linux系统的标准安全级别为C2级,具有用户身份认证、访问控制和操作的可靠性等特点。
密码管理是实现身份认证的基础。
访问控制机制是复杂的,在本章只可能提到用户登录时,需要提供正确的用户名和密码。
只有两者均正确才能进入并使用系统。
(2)试述su命令的用法。
解:
参见P82-8§34.7.5。
(3)试述如何创建一个用户。
答:
创建一个用户非常简单,只需要使用命令useradd就可以了,若以缺省方式创建一个用户zh3,只需要输入命令useraddzh3就可以了。
问题的关键是,为何要创建用户,这个用户创建后要做什么工作?
如果为了某项业务而创建用户,则应根据实际情况为用户指定家目录、归属组甚至还有登录shell等。
第5章
1.思考题
(1)Linux系统有几种类型文件?
它们分别是什么?
有哪些相同点和不同点?
解:
参见P33-34。
(2)Linux系统的引导盘有何用处,如何创建系统的引导盘?
答:
这里的引导盘是指系统的应急引导盘,是在系统出现故障或不能引导时,用于从其引导的“磁盘”,在通过应急盘启动系统后,就可以对系统进行修复和维护了。
根据系统的内容和大小,应急启动盘可有boot盘和boot/root盘之分。
boot盘用来启动系统,boot/root盘本身就是一个迷你Linux系统,boot盘启动完成后,可将boot/root安装而独立工作。
启动软盘是系统修复的必备工具,因此掌握启动盘的制作方法或在系统安装后制作应急引导盘是必须的。
在Fedora9下,可用以下方法构造引导盘:
mkbootdisk--devicedevicesizekernel
构造引导盘的示例如下:
#mkbootdisk--device/dev/fd0`uname-r`
说明:
mkbootdisk在软件包mkbootdisk上,还需要syslinux包的支持;若不使用/dev/fd0,则可以指定一个普通文件;`uname-r`的是系统的版本号;这里没有指定size由系统自动检测。
(3)何为裸设备,如何使用裸设备?
以裸方式使用设备时应注意些什么?
解:
参见P100。
(4)如何刻录一个可启动光盘?
解:
参见P95-96,尤其注意-b选项。
(5)如果某些设备文件被误删除了,如何恢复它们?
解:
参见P105§5.4.5。
(6)如何确定某文件的类型?
如何确定文件的属性?
答:
可使用file确定文件的类型;可使用stat或ls等查看文件的属性。
请参见和stat命令。
2.单项选择题
(1)-(7)CCDABCA
3.综合题
(1)综述Linux系统的文件权限及其管理。
答:
UNIX/Linux系统对文件操作的三种权限(读、写和执行)只对三类人分配,他们是用户主(user:
u)、同组人(group:
g)和其它人(other:
o)。
用户主是文件的拥有者;同组人是与文件主同组的用户;其它人是指除用户主和同组人以外的用户。
除此之外,还有一个特殊用户root,它具有至高无上的权力。
UNIX/Linux文件权限可用字符串或8进制表示,具体管理工具是chmod,当然与权限相关的命令还有umask、chown和chgrp等。
umask用于设置新建文件的默认权限,而chown和chgrp用于文件的所有者和组的管理,也会影响到用户的权限,因为地位和身份的改变完全有可能带来权限的变化。
(2)设Linux系统与某Windows系统共享硬盘,且Windows系统使用的FAT格式文件系统,C:
盘位于第二个物理分区上,试以WindowsC:
盘为例说明UNIX/Linux中文件系统的使用。
解:
不妨以将C:
上的文件复制到Linux或将Linux系统中的文件复制到C:
为例说明具体用法。
a.安装文件系统:
mount/dev/hda2/mnt
b.使用设备:
从C:
复制文件比如x:
cp/mnt/x.
将文件y复制到C:
盘:
cpy/mnt
c.拆卸文件系统:
umount/mnt或umount/dev/hda2
(3)tar和cpio命令常用于数据备份,试分别以实例说明如何使用它们进行数据备份和恢复?
解:
参见P107-110§5.4.8。
(4)在DOS/Windows系统中,磁盘或U盘等介质上的自动启动型病毒经常在介质刚放入驱动器时因其上自动执行文件的启动而感染系统,如何在Linux系统下杀掉介质上的这种病毒?
解:
此问题主要是说如何清除引导型病毒的。
关于引导型病毒是不小的话题,这里只说如何清楚引导型病毒。
对于主引导记录上的引导病毒,清除较容易。
若你有一个主引导记录的正确备份(比如名为MBR.bak),且假设硬盘是IDE的第1块,清除方法如下:
ddif=MBR.bakof=/dev/hda
若没有正确备份的引导记录,事情就麻烦多了。
首先要按照备份主引导记录的方法读取主引导记录,不妨将其存放到MBR.tmp,方法如下:
ddof=/dev/hdaif=MBR.tmpbs=1bcount=1
然后,从其它机器上得到一个可以使用的主引导记录(记为MBR.new),再根据自己系统上或MBR.tmp内容的分区表,修改MBR.new的分区表。
确认一切都没有问题后,将MBR.new写入硬盘的主引导记录。
需要说明,这种操作需要很多的经验和耐心,否则可导致更严重的问题。
(5)试述造成UNIX/Linux文件系统受损的常见原因,如何能有效地避免文件系统受损?
如何修复受损的文件?
解:
参见P100-101§5.3.5。
(6)何为映像文件?
以一个带有vfat文件系统的3”软盘说明如何创建和使用映像文件?
解:
映像文件是磁盘、光盘、分区、文件系统等的精确副本,是对指光盘、磁盘或其它存储的文件系统及内容在UNIX/Linux或Windows系统的硬拷贝。
对于一个带有vfat文件系统的3”软盘,设其映像文件为fd.img,可以用命令
ddif=/dev/fd0of=fd.imgbs=18k
构造其映像。
对映像文件fd.img的使用可参照
(2),只是这里的安装命令可以是
mount-oloopfd.img/mnt#使用映像
或mount/dev/fd0/mnt#使用原磁盘
第6章
1.思考题
(1)UNIX/Linux系统有几类进程,试说明后台进程的作用或执行过程?
解:
参见P116§6.1.2。
(2)试述0#和1#进程的作用及UNIX/Linux进程树的形成。
解:
参见P1166.1.4。
(3)试述UNIX/Linux系统的进程状态及转换?
解:
参见P117-118
(4)Linux系统中进程常见状态标志有哪些?
各是什么意义?
解:
参见P122-123§6.3.2及表6-3。
2.单项选择题
(1)-(5)ADABADAB
3.综合题
(1)试述kill与killall的相同与不同点。
解:
两者均可向指定进程发指定信号(默认为TERM)。
kill的目标是进程的PID或进程组,killall的目标是进程名。
两者还均可使用-l查询系统中的可用信号。
(2)试述fuser的功能与作用,如何终止在终端tty2运行的所有进程?
如何监视网络服务端口的活动情况?
解:
a.fuser的功能是确定使用某个设备或文件系统的进程和用户的情况。
b.fuser/dev/tty2
c.示例
#fusertelnet/tcp#监视本地telnet和ftp端口的tcp活动情况
#fuser–u23/tcp21/tcp#监视本地telnet和ftp端口的tcp活动情况
#fuser–ntcp21#监视本地ftp端口的tcp活动情况
(3)简述UNIX/Linux的作业和任务调试功能,如何让作业myjob在2小时后执行?
如何让系统在每个周一1:
00重新启动?
解:
a.在UNIX/Linux系统中还有相关命令用于对作业进行调度,以规定在指定时刻调度或安排任务的执行。
这样做是非常有益的,因为我们可以把那些不急于处理的任务,放在系统负载小或非峰值的时间执行,也可以让系统在无用户使用或用户最少的时候重新启动,以保证系统运行的效率。
用于作业管理的命令有at,batch和crontab。
b.atnow+2hoursc.编辑crontab文件,在其中增加如下一行内容:
crontab-e
01**1/sbin/init6
或01**1/sbin/shutdown-rnow
然后保存退出。
第7章
1.思考题
(1)Linux系统需要哪些分区?
在安装Linux系统时应如何规划分区?
解:
参见P137-138§7.1.3及图7-3。
(2)Linux系统的引导程序是Grub,在系统安装时可安装在哪些位置?
效果有何不同?
答:
可以安装在主引导扇区或自己的逻辑引导扇区。
当安装在自己的逻辑引导扇区时,不会影响共享硬盘的其它操作系统,但仍然可以通过GRUB引导它们;当安装在主引导扇区时,将会控制整个硬盘上的操作系统,且可引导安装在扩展分区上的操作系统。
具体安装在什么地方,由使用者根据需要选择。
(3)简述Linux系统/etc/inittab文件的作用?
答:
/etc/inittab是系统初始化配置文件之一,它描述在系统启动时哪个进程将被启动。
在Fedora9之前的系统中,系统启动包为SysVinit,在系统启动期间,1#进程init将参照/etc/inittab文件进行系统初始化。
在Fedora9~Fedora14中,启动包换成了upstart,/etc/inittab功能被削弱,只用来定义默认的运行级。
Fedora15+中,启动包又换成了systemd,/etc/inittab文件不再使用,但整个启动控制机制大致还是SysVinit的思路。
(4)简述init.d和rcN.d目录的作用及联系?
解:
参见P149-150.
(5)如何升级你的Linux系统?
解:
参见P160-162§7.5
(6)Linux系统有哪些常见日志,如何阅读它们?
解:
参见P1657.6.2
2.单项选择题
(1)-(6)CADBDC
3.综合题
(1)试述UNIX/Linux系统的运行级和init与telinit的作用?
解:
Linux有7个运行级或运行状态,定义如下:
0:
关闭系统;1:
单用户模式;2:
多用户使用模式,但没有NFS功能;3:
完全多用户模式;4:
没有使用,用户可自定义;5:
完全多用户模式,且支持X-Windows(默认运行级);6:
重新启动。
init的作用是系统初始化,当然也可以进行运行级别是切换;telinit功能是告诉init进行运行级别的切换。
(2)如何让系统在启动时自动启动用户程序/usr/bin/myinit?
解:
参见P151,方法有2:
①在默认运行目录(比如/etc/rc.d/rc5.d/)内创建一个shell脚本文件S99ustart,并为其添加执行权,内容为
/usr/bin/myinit&
②将以上内容添加到/etc/rc.c/rc.local文件内。
(3)系统管理的任务是什么?
解:
参见P167-168§7.7.1。
(4)sysstat软件包是传统UNIX系统用于系统、磁盘、网络和其它I/O的监视工具,它提供有iostat和sar等实用程序。
请安装此包并写出使用rpm命令安装此软件包的操作步骤。
解:
①查询:
rpm-qa|grepsysstat
②获得:
sysstat包(从发布盘或网络)
③安装:
rpm-ivhsysstat-*
(5)sar-r命令用于监视系统的内存和交换区使用情况,若内存利用率过高或交换设备使用也率较高,说明了什么问题?
解:
如果内存利用率过高或交换设备使用也率较高,说明系统物理内存过少,或系统负担太重。
解决方法有二:
1、扩内存;2、分割任务,将不同的任务分配到不同的系统上。
(6)试述编译新内核的方法和步骤。
解:
参见P172-174。
(7)试述Fedora9的events机制及event.d与原/etc/inittab内容的关系。
解:
Fedora9所使用的系统初始化功能的软件包为upstart,包中涉及到了与系统的初始化、关机与启动相关的命令,比如init/telinit、halt、reboot、initctl、poweroff、shutdown和runlevel等命令。
该机制所使用的配置目录为/etc/event.d,在该目录中的每个文件对应一个初始化事件,当事件到来时执行事件处理脚本文件。
事件脚本处理文件与老的SysyVinittab文件内容的对应关系如表7-2所示。
第8章
1.思考题
(1)/dev目录的作用是什么?
请说出一些常用的设备及其设备文件名。
解:
/dev目录的作用是存入设备文件。
其中常用的设备及其设备文件名如表8-1所示。
(2)如何得到一个大小为1K的内容全为’\0’的数据文件zero_file?
解:
ddif=/dev/zeroof=zero_count=1
(3)如何使用系统支持的非即插即用设备?
解:
可首先为其安装驱动程序,驱动程序可编译进内核,或编译成可加载模块。
具体地请参考P180-1838.2。
(4)交换区的作用是什么?
若系统安装时设置的交换区不足,应如何再为系统增加交换空间?
解:
交换区的作用是动态扩充内存。
当系统交换区不够时,可进行扩充。
扩充时可使用设备或普通文件,具体的请参见P191。
2.单项选择题
(1)-(6)ADBCBCADAC
第9章
1.思考题
(1)什么是子网掩码?
其作用是什么?
解:
网络掩码也叫子网掩码。
网络掩码是用来区分一个IP地址的网络号和主机号各占多少位。
(2)举例说明你知道的Linux系统下的网络服务。
解:
使用chkconfig--list可得到系统内已经安装的所有网络服务,比如dhcpd、telnet、vsftpd、network等。
(3)如何查看当前系统运行了哪些服务进程?
chkconfig--list#所有已经安装的服务
chkconfig--list|grep–won#所有状态为on的服务
(4)用户如何设置在Linux系统开机时自动启动某个网络服务?
解:
设服务名为server,分两种情况:
独立服务和xinetd服务。
对于独立服务,直接使用命令
chkconfigserveron
对于xinetd服务,除了开启server外,还要开启xinetd服务。
2.单项选择题
(1)-(4)ABBC
3.综合题
(1)试述守护进程的工作原理。
解:
在C/S模式下,服务器监听(Listen)在一个特定的端口上等待客户连接,连接成功后服务器和客户端通过端口进行数据通信。
守护进程的工作就是打开一个端