《Linux操作系统(第2版)》课后习题答案练习题一、选择题1.Linux最早是由计算机爱好者B开发的。A.RichardPetersenB.LinusTorvaldsC.RobPickD.LinuxSarwar2.下列C是自由软件。A.WindowsXPB.UNIXC.LinuxD.Windows20003.下列B不是Linux的特点。A.多任务B.单用户C.设备独立性D.开放性4.Linux的内核版本是A的版本。A.不稳定B.稳定的C.第三次修订D.第二次修订5.Linux安装过程中的硬盘分区工具是D。A.PQmagicB.FDISKC.FIPSD.DiskDruid6.Linux的根分区系统类型是C。A.FATl6B.FAT32C.ext4D.NTFS二、填空题1.GNU的含义是:GNU'sNotUNIX。2.Linux一般有3个主要部分:内核(kernel)、命令解释层(Shell或其他操作环境)、实用工具。3.安装Linux最少需要两个分区,分别是swap交换分区和/(根)分区。4.Linux默认的系统管理员账号是root。三、简答题(略)1.简述RedHatLinux系统的特点,简述一些较为知名的Linux发行版本。2.Linux有哪些安装方式安装RedHatLinux系统要做哪些准备工作3.安装RedHatLinux系统的基本磁盘分区有哪些4.RedHatLinux系统支持的文件类型有哪些练习题一、选择题1.C命令能用来查找在文件TESTFILE中包含四个字符的行A.grep’’TESTFILEB.grep’….’TESTFILEC.grep’^$’TESTFILED.grep’^….$’TESTFILE2.B命令用来显示/home及其子目录下的文件名。A.ls-a/homeB.ls-R/homeC.ls-l/homeD.ls-d/home3.如果忘记了ls命令的用法,可以采用C命令获得帮助A.lsB.helplsC.manlsD.getls4.查看系统当中所有进程的命令是D。A.psallB.psaixC.psaufD.psaux5.Linux中有多个查看文件的命令,如果希望在查看文件内容过程中用光标可以上下移动来查看文件内容,则符合要求的那一个命令是C。A.catB.moreC.lessD.head6.C命令可以了解您在当前目录下还有多大空间。A.UsedfB.Usedu/C.Usedu.D.Usedf.7.假如需要找出/etc/文件属于哪个包(package),可以执行C命令。A.rpm-q/etc/B.rpm-requires/etc/C.rpm-qf/etc/D.rpm-q|grep/etc/8.在应用程序启动时,B命令设置进程的优先级。A.priorityB.niceC.topD.、setpri9.C命令可以把复制为A.cp|B.cat|C.catD.copy|10.使用B命令可以查看Linux的启动信息。A.mesg–dB.dmesgC.cat/etc/mesgD.cat/var/mesg二、填空题1.在Linux系统中命令区分大小写。在命令行中,可以使用Tab键来自动补齐命令。2.如果要在一个命令行上输入和执行多条命令,可以使用分号来分隔命令。3.断开一个长命令行,可以使用反斜杠“\”,以将一个较长的命令分成多行表达,增强命令的可读性。执行后,Shell自动显示提示符“”,表示正在输入一个长命令。4.要使程序以后台方式执行,只需在要执行的命令后跟上一个“&”符号。三、简答题1.more和less命令有何区别2.Linux系统下对磁盘的命名原则是什么3.在网上下载一个Linux下的应用软件,介绍其用途和基本使用方法。练习题(略)1.Vim的3种运行模式是什么如何切换2.什么是重定向什么是管道什么是命令替换3.Shell变量有哪两种分别如何定义4.如何建立和执行Shell脚本文件如何使一个Shell脚本在当前Shell中运行5.如何设置用户自己的工作环境6.关于正则表达式的练习,首先我们要设置好环境,输入以下命令:$cd$cd/etc$ls-a~/data$cd这样,/etc目录下的所有文件的列表就会保存在你的主目录下的data文件中。写出可以在data文件中查找所有行的正则表达式:1)以“P”开头2)以“y”结尾3)以“m”开头以“d”结尾4)以“e”、“g”或“l”开头5)包含“o”,它后面跟着“u”6)包含“o”,隔一个字母之后是“u”7)以小写字母开头8)包含一个数字9)以“s”开头,包含一个“n”10)只含有4个字母11)只含有4个字母,但不包含“f”练习题一、填空题1.shellshell的语法与命令(含外部命令)正则表达式管道命令数据流重导向2.上下左右3.rr与x4.shell(#!/bin/bash)程序用途版本作者5.readdate6.父程序7.test中括号([])8.if...thencase$varin...esac9.不定循环(while,until)固定循环(for)10.sh-x二、实践习题1.请创建一个script,当你运行该script的时候,该script可以显示:①你目前的身份(用whoami);②你目前所在的目录(用pwd)。#!/bin/bashecho-eYournameis==$(whoami)echo-eThecurrentdirectoryis==$(pwd)2.请自行创建一个程序,该程序可以用来计算“你还有几天可以过生日”。#!/bin/bashread-pPleasinputyourbirthday(MMDD,ex0709):birnow=`date+%m%d`if[$bir==$now];thenechoHappyBirthdaytoyou!!!elif[$bir-gt$now];thenyear=`date+%Y`total_d=$(($((`date--date=$year$bir+%s`-`date+%s`))/60/60/24))echoYourbirthdaywillbe$total_dlaterelseyear=$((`date+%Y`+1))total_d=$(($((`date--date=$year$bir+%s`-`date+%s`))/60/60/24))echoYourbirthdaywillbe$total_dlaterfi3.让用户输入一个数字,程序可以由1+2+3...一直累加到用户输入的数字为止。#!/bin/bashread-pPleaseinputanintegernumber:numberi=0s=0while[$i!=$number]doi=$(($i+1))s=$(($s+$i))doneechotheresultof'1+2+3+...$number'is==$s4.撰写一个程序,他的作用是:①先查看一下/root/test/logical这个名称是否存在;②若不存在,则创建一个文件,使用touch来创建,创建完成后离开;③如果存在的话,判断该名称是否为文件,若为文件则将之删除后创建一个目录,文件名为logical,之后离开;④如果存在的话,而且该名称为目录,则移除此目录。#!/bin/bashif[!-elogical];thentouchlogicalechoJustmakeafilelogicalexit1elif[-elogical]&&[-flogical];thenrmlogicalmkdirlogicalechoremovefile==logicalechoandmakedirectorylogicalexit1elif[-elogical]&&[-dlogical];thenrm-rflogicalechoremovedirectory==logicalexit1elseechoDoesherehaveanythingfi5.我们知道/etc/passwd里面以:来分隔,第一栏为帐号名称。请写一个程序,可以将/etc/passwd的第一栏取出,而且每一栏都以一行字串“The1accountisroot”来显示,那个1表示行数。#!/bin/bashaccounts=`cat/etc/passwd|cut-d':'-f1`foraccountin$accountsdodeclare-ii=$i+1echoThe$iaccountis\$account\done练习题一、选择题1.(A)目录存放用户密码信息A./etcB./varC./devD./boot2.请选出创建用户ID是200,组ID是1000,用户主目录为/home/user01的正确命令。(C)A.useradd-u:200-g:1000-h:/home/user01user01B.useradd-u=200-g=1000-d=/home/user01user01C.useradd-u200-g1000-d/home/user01user01D.useradd-u200-g1000-h/home/user01user013.用户登陆系统后首先进入下列哪个目录(D)A./homeB./root的主目录C./usrD.用户自己的家目录4.在使用了shadow口令的系统中,/etc/passwd和/etc/shadow两个文件的权限正确的是:(C)A.-rw-r-----,-r--------B.-rw-r--r--,-r--r--r--C.-rw-r--r--,-r--------D.-rw-r--rw-,-r-----r—5.下面(C)参数可以删除一个用户并同时删除用户的主目录A.rmuser–rB.deluser–rC.userdel–rD.usermgr–r6.系统管理员应该采用哪些安全措施(CD)A.把root密码告诉每一位用户B.设置telnet服务来提供远程系统维护C.经常检测帐户数量,内存信息和磁盘信息D.当员工辞职后,立即删除该用户帐户7.在/etc/group中有一行shudents::600:z3,14,w5有多少用户在student组里(A)A.3B.4C.5D.不知道8.下列的哪些命令可以用来检测用户lisa的信息(AB)A.fingerlisaB.greplisa/etc/passwdC.findlisa/etc/passwdD.wholisa二、填空题1.Linux操作系统是多用户多任务的操作系统,它允许多个用户同时登录到系统,使用系统资源。2.Linux系统下的用户帐户分为两种:普通用户帐户和超级用户帐户(root)。3.root用户的UID为0,普通用户的UID可以在创建时由管理员指定,如果不指定,用户的UID默认从500开始顺序编号。4.在Linux系统中,创建用户帐户的同时也会创建一个与用户同名的组群,该组群是用户的主组群。普通组群的GID默认也从500开始编号。5.一个用户帐户可以同时是多个组群的成员,其中某个组群是该用户的主组群(私有组群),其他组群为该用户的附属组群(标准组群)。6.在Linux系统中,所创建的用户帐户及其相关信息(密码除外)均放在/etc/passwd配置文件中。7.由于所有用户对/etc/passwd文件均有读取权限,为了增强系统的安全性,用户经过加密之后的口令都存放在/etc/shadow文件中。8.组群帐户的信息存放在/etc/group文件中,而关于组群管理的信息(组群口令、组群管理员等)则存放在/etc/gshadow文件中。练习题一、选择题1.假定kernel支持vfat分区,下面哪一个操作是将/dev/hda1,一个Windows分区加载到/win目录(D)A.mount-twindows/win/dev/hda1B.mount-fs=msdos/dev/hda1/winC.mount-swin/dev/hda1/winD.mount–tvfat/dev/hda1/win2.请选择关于/etc/fstab的正确描述。(B