最新linux系统教程课后习题答案资料.docx
《最新linux系统教程课后习题答案资料.docx》由会员分享,可在线阅读,更多相关《最新linux系统教程课后习题答案资料.docx(46页珍藏版)》请在冰豆网上搜索。
最新linux系统教程课后习题答案资料
第1章 Linux概述
1.什么是Linux?
Linux是一套免费使用和自由传播的类UNIX操作系统,源代码开放,能运行于各类硬件平台,包括Intelx86系列和RISC处理器。
这个系统是由世界各地成千上万的程序员设计和实现的。
其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的UNIX兼容产品。
2.Linux有哪些特性?
(1)开放性
(2)多用户
(3)多任务
(4)良好的用户界面
(5)设备独立性
(6)丰富的网络功能
(7)可靠的系统安全
(8)良好的可移植性
3.Linux与Windows操作系统的主要区别是什么?
(1)从发展的背景看,Linux是从一个比较成熟的操作系统发展而来的,而其他操作系统,如Windows等,都是自成体系,无对应的相依托的操作系统
(2)从使用费用上看,Linux是一种开放、免费的操作系统,Windows是封闭的系统,需要有偿使用。
(3)Linux上丰富的应用软件也是自由的,而在Windows下,几乎所有的软件都有独立的版权,需要购买使用,即使某些软件可以免费使用,也一般不提供其源代码,更不用说由用户修改扩充其功能了。
(4)Windows对硬件配置要求高,而Linux在低端PC系统上仍然可以流畅运行
4.Linux与Unix的共同点与不同点是什么?
共同点:
由于Linux是从Unix发展来到,它遵循Unix开放标准,基本支持同样的软件、程序设计环境和网络特性,可以说Linux是UNIX的PC版本,Linux在PC机上提供了相当于UNIX工作站的性能。
与商用Unix的不同点有:
1)Linux是免费软件,用户可以从网上下载,而商用的UNIX除了软件本身的价格外,用户还需支付文档、售后服务费用;2)Linux拥有GNU软件支持,Linux能够运行GNU计划的大量免费软件,这些软件包括应用程序开发、文字处理、游戏等方面的内容;3)Linux的开发是开放的,任何志愿者都可以对开发过程做出贡献;而商用UNIX则是由专门的软件公司进行开发的。
与自由Unix的不同点:
1)在组织方式上,FreeBSD由它的核心团队(coreteam)的领导,他们负责原始程序的开发与维护。
有coreteam的优点是原始程序会有一致性,会有组织的被更新,但是整个系统的活力操纵在coreteam手中,缺乏活力。
Linux没有核心团队,在Linus的主导下来自世界各地的爱好者都可以发布自己的patch,缺点是源代码杂乱无章且可能会相互冲突。
2)在发展方向上,FreeBSD的核心团队将主要精力投入在UNIX自身的风格和特点上。
Linux通常会首先加入商品化系统上的各种东西,比如新的硬件驱动、samba等。
因此,从易用和可用上讲,Linux更容易上手和使用。
3)在系统核心功能上二者区别不大,但在Linux系统上,几乎可是找到任何需要的功能
4)在系统的性能上,据专家分析,FreeBSD在网络性能、软件移植性和系统规范化上略胜一畴,而在硬件支持、磁盘IO操作等方面Linux略强一些。
5.什么是GNU软件,什么是GPL和LGPL?
GUN项目主要由自由软件基金资助的一个项目,目标是开发一个自由的、UNIX类型的操作系统,称为GNU系统。
GNU是“GNU’sNotUNIX”的首字母的递归缩写,目前使用Linux内核的各种GNU操作系统应用非常广泛。
所有的GNU软件和派生工作均遵循GNU通用公共许可证,即GPL。
GPL和软件是否免费无关,它主要目标是保证软件对所有的用户来说是自由的。
GPL通过如下途径实现这一目标:
l 它要求软件以源代码的形式发布,并规定任何用户能够以源代码的形式将软件复制或发布给别的用户。
l 它提醒每个用户,对于该软件不提供任何形式的担保。
l 如果用户的软件使用了受GPL保护的任何软件的一部分,那么该软件就继承了GPL软件,并因此而成为GPL软件,也就是说必须随应用程序一起发布源代码。
l GPL并不排斥对自由软件进行商业性质的包装和发行,也不限制在自由软件的基础上打包发行其他非自由软件。
l 遵照GPL的软件并不是可以任意传播的,这些软件通常都有正式的版权,GPL在发布软件或者复制软件时声明限制条件。
但是,从用户的角度考虑,这些根本不能算是限制条件,相反用户只会从中受益,因为用户可以确保获得源代码
LGPL允许用户在自己的应用程序中使用程序库,即使不公开自己的源代码。
但是,要求用户必须能够获得在应用程序中使用的程序库的源代码,并且允许用户对这些程序库进行修改。
遵循LGPL的一种方法是,随应用程序一起发布目标代码以及可以将这些目标程序和受LGPL保护的程序库链接起来的makefile文件。
遵循LGPL的另一种比较好的方法是使用动态链接
6.什么是Linux的内核版本和发行版本?
内核版本指的是在Linux的创始人Linus领导下的开发小组开发出的系统内核版本号,Linux内核的版本号主要由三部分构成:
主版本号、次版本号、次次版本号。
主版本号表示系统内核有大的改动,次版本号表示系统内核有小的改动,开始支持一些新的特性,一般表示系统内核对新的硬件支持进行了改进。
如果更改之后还处于测试阶段,那么次版本号为奇数,如果已经过了测试阶段,改动是成功的,那么次版本号是偶数。
次次版本号表示系统有一点儿改动,对内核影响不大。
一些组织或公司将Linux内核与应用软件和文档包装起来,并提供安装界面、系统配置与管理工具,这样就构成了一种发行版本。
发行版本的版本号随发行者的不同而不同,与系统内核的版本号是相互独立的。
7.你知道哪些主要的Linux发行版本?
RedHatLinux,RedFlagLinux,BluePoint,TurboLinux,SuseLinux,DebianGNU/Linux,MandrakeLinux等。
8.什么是内核,它的作用是什么?
内核是系统的心脏,是运行程序和管理磁盘、打印机等硬件设备的核心程序。
它的总有是管理CPU、内存和外设。
9.什么是shell,shell的作用是什么?
shell是系统的用户界面,它实际上是一个命令解释器,它解释由用户输入的命令并把它们送到内核,把执行的结果显示给用户。
不仅如此,shell有自己的编程语言,允许用户编写由shell命令组成的程序。
10.在安装Linux之前应该如何获取系统的硬件资料?
在安装Linux之前,先确定你的计算机的硬件是否能被Linux所支持。
需要关注的硬件包括显卡、声卡、网卡、打印机、鼠标等。
要获知相应硬件的型号,可以在Windows下查看,也可以通过设备本身的标志查看。
检查有没有相应的设备驱动程序。
关注硬盘分区、大小等信息。
如果声卡、显卡的型号不能识别,一般可以模拟成标准硬件来使用。
11.Linux有几种安装方法?
1) 从光盘安装
2) 从硬盘安装
12.Fedora10在安装时提供哪几种方式建立Linux的分区?
Fedora10在安装时提供了五个关于分区的选项:
在选定磁盘上删除所有分区并创建默认分区结构:
如果想在磁盘上仅安装一个Fedora系统,可以选择这个选项。
特别注意,如果选择了这个选项,那么该磁盘中已经安装的所有其他系统将被破坏。
在选定驱动器上删除Linux分区并创建默认的分区结构:
如果系统中存在任何Linux分区,选择这个选项可以删除所有的Linux分区,然后在腾出的空闲分区中安装Fedora系统。
选择这个选项不会影响或者修改已经分配给其他非Linux操作系统占用的分区空间。
重新定义现有分区大小并在剩余空间中创建默认布局:
该选项允许调整现有分区的大小,然后自动创建默认的分区结构。
使用选定驱动器中的空余空间并创建默认的分区结构:
保留现有分区中的数据,仅在空闲空间上创建新分区。
建立自定义的分区结构:
在前几个选项中,系统根据驱动器的大小以及内存大小自动创建分区布局。
本选项则允许用户自己定义分区结构。
选择该选项后,将打开分区管理窗口,在这里可以方便地创建、编辑、删除分区。
13.安装Linux至少需要哪两个分区?
还有哪些常用分区?
至少有/和swap分区。
其它常用分区有:
/bin/home/usr/var/usr/local/tmp等
14.安全专家建议,安装Linux时,最好为主要的目录建立单独的分区,试分析这样做的优点。
由于每个分区指定了自己的大小,当某个分区的数据超过自己的大小限制时,不会挤占其它分区的空间。
15.swap交换分区的作用是什么?
它实际上是用硬盘实现虚拟内存,即当系统内存使用率比较高的时候,内核会自动使用swap分区来模拟内存。
16.安装Linux都需要收集哪些信息?
安装过程所使用的语言、键盘鼠标类型、安装类型、磁盘分区、系统语言、安装软件包。
17.如何在安装时选择安装某个软件?
在安装过程中,安装程序将显示软件选择界面。
默认情况下,Fedora安装程序会自动安装一组适合桌面图形环境的软件。
在该界面上,还可以选择软件安装所需的程序库。
选择“现在定制”后点击【下一步】按钮,打开软件包定制界面。
在这里,可以对系统安装的软件进行更详细的定制。
18.什么是运行级别?
Linux有几个运行级别?
运行级别是指Linux的运行状态,Linux系统有六种不同的运行级,这六种运行级分别为:
0:
停机
1:
单用户模式,就像Win9X下的安全模式。
2:
多用户,但是没有NFS
3:
完全多用户模式,标准的运行级
4:
保留,一般不用
5:
XWindow图形界面模式
6:
重新启动
19.如何更改默认启动级别?
在配置文件/etc/inittab文中,有一行文本“id:
5:
initdefault:
”标志了Linux的默认启动级别,5表示默认进入XWindow图形界面,如果把这里的数字改为3,则默认进入控制台界面。
注意,不要把initdefault设置为0和6,这两个级别是系统在关机和重启过程中自动使用的。
20.如何登录和注销?
登录分为图形界面登录和命令行登录,在提示用户名和口令时分别输入用户名和口令即可登录。
要注销图形化环境,选择【系统/注销】命令,弹出注销确认对话框,或者按键,直接执行注销命令。
输入命令logout,则又回到登录界面,可以重新登录。
21.如何安全关闭Linux系统?
在图形界面下,选择【系统/关闭】命令,选择【关闭系统】按钮执行关闭命令,系统关闭自身所有进程。
也可以在注销后出现的重新登录界面上选择【关闭】按钮来关闭系统。
某些计算机会在关闭系统后自动切断电源,如果计算机不这样做,那么,当看到“Powerdown.”消息后,便可以手工切断计算机的电源。
可以在控制台执行halt命令、init命令或者shutdown命令来关闭系统。
第2章 shell及常用命令
1.判断下列命题是否正确
1)Linux的文件名与命令不区分大小写。
(×)。
2)$ls*\*和$ls*"*"的显示结果完全一致。
(×)
3)rm和rmdir的作用一样,都是删除整个目录。
(×)
4)Linux文件名的命名规则必须遵守8.3的格式。
(×)
2.什么是Linux终端?
Linux终端又称为什么?
Linux终端也称为虚拟控制台,是Linux从UNIX继承来的标准特性。
显示器和键盘合称终端,因为它们可以对系统进行控制,所以又称为控制台,一台计算机的输入输出设备就是一个物理的控制台。
如果在一台计算机上用软件的方法实现了多个互不干扰独立工作的控制台界面,就是实现了多个虚拟控制台。
Linux终端的工作方式是字符命令行方式,用户通过键盘输入命令进行操作,可以通过Linux终端对系统进行控制。
3.默认情况下,Linux有几个虚拟终端?
如何在不同终端之间切换?
如何在xWindow与终端之间进行切换?
通常情况下,Linux默认启动六个虚拟终端。
虚拟控制台的选择可以通过按下键和功能键(n=1~6)来实现。
如果启动方式选择了直接启动XWindow,那么XWindow在第七个虚拟终端上。
在XWindow图形操作界面中按(n=1~6)就可以进入控制台字符操作界面。
在控制台操作界面里按即可回到刚才的XWindow。
4.什么是shell?
shell在用户与操作系统之间的作用是什么?
shell是一个命令解释器,它可以用来启动、挂起、停止程序,还允许用户编写由shell命令组成的程序。
shell是系统的用户界面,它提供了用户与内核进行交互的一种接口。
它接收用户输入的命令并把它送入内核执行,把执行结果显示给用户。
5.什么是通配符?
常用的操作通配符有哪些?
Linux系统中的通配符除了“*”和“?
”以外,还可以使用“[”、“]”和“-”组成的字符组模式,以便精确地扩充需要匹配的文件范围。
通配符*:
通配符*可以代表文件名中的任意字符或字符串。
通配符*不能与单句点开头的文件名相匹配。
以单句点开头的文件在Linux中是隐藏文件。
通配符?
:
通配符?
可以匹配任意一个字符。
字符组模式:
通配符“[”、“]”、“-”用于构成字符组模式。
“[”和“]”将字符组括起来,表示可以匹配字符组中的任意一个。
“-”用于表示字符范围。
例如[abc]表示匹配a或者b或者c,[a-f]表示匹配从a到f这个范围之中的任意一个字符。
6.什么是文件系统?
什么是文件?
在多数操作系统中都有文件的概念。
文件是Linux用来存储信息的基本结构,它是被命名(称为文件名)的存储在某种介质(如磁盘、光盘和磁带等)上的一组信息的集合。
Linux系统中有三种基本的文件类型:
普通文件、目录文件和设备文件。
在计算机系统中存有大量的文件,如何有效的组织与管理它们,并为用户提供一个使用方便的接口是文件系统的一大任务。
Linux系统通过目录将系统中所有的文件分级、分层组织在一起,形成了Linux文件系统的树型层次结构。
以根目录“/”为起点,所有其他的目录都由根目录派生而来。
7.Linux系统文件命名有什么规定?
文件名是文件的标识,它由字母、数字、下划线和句点组成的字符串来构成。
Linux要求文件名的长度不超过255个字符。
为了便于管理和识别,用户可以把扩展名作为文件名的一部分,通常句点之后的部分为扩展名。
扩展名对于将文件分类十分有用。
8.Linux系统的目录/usr、/home、/bin、/dev/、/var、/etc/中主要存放什么文件?
/usr存放用户安装的软件,用户安装的软件一般位于此目录;/home存放系统用户自身的数据;/bin存放shell命令;/dev存放系统设备的信息;/var主要存放系统可变信息的内容,如日志、邮件、打印队列等;/etc存放系统可执行文件。
9.如何使用cat命令将多个文件连接起来显示?
使用命令:
catfile1file2….就可以将多个文件首尾相连显示在屏幕上。
10.more命令和less命令有什么区别?
more可将文件显示在屏幕上,但它每次只显示一页。
显示文件时,按空格键可显示下一页,按键退出显示,键给出帮助信息;
less的作用与more十分相似,都可以用来浏览文本文件的内容,不同的是less允许使用者往回卷动以浏览已经看过的部份,同时less并不在一开始就读入整个文件,因此在遇上大型文件的时,会比较快。
与more相比,less的功能更加强大,在less命令执行时,可以使用的指令与vi编辑器的命令以及more的指令类似。
11.如何用复制、删除命令实现文件的移动?
步骤如下:
1)首先使用cp目录将文件从原目录拷贝到目标目录;2)在原目录中删除原文件
12.如何使用ls命令查看隐藏文件信息?
使用-a选项将显示所有文件包括隐藏文件的信息,ls默认将名称以“.”开头的文件或目录视为隐藏,不会列出;
13.如何递归地将当前目录下所有的C语言程序拷贝至/home目录中,要求如果有同名文件,则覆盖同名文件?
执行命令cp,并使用选项-rf,-r表示若source中含有目录,则递归地将目录下的文件也依序拷贝至目的地。
-f表示若目的地已经有同名文件存在,则在复制前先予以删除再进行复制。
14.如何强制删除当前目录及其子目录下的所有c程序。
执行命令:
rm–rf*.c
15.给出命令,在当前工作目录下的A目录中,删除名为B的子目录。
若B删除后,A目录成为空目录,则A也予删除。
rmdir-pA/B
16.给出查找/usr目录下大小超过50k并且最近2小时内被更新过的文件的命令。
查找/usr下大小超过50k的文件:
find /usr/ -size50k –cmin-120
17.如何使用命令完成把当前工作目录切换到/root并显示是否切换成功?
首先使用pwd命令查看切换之前的目录,然后执行命令cd/root;
最后使用pwd命令查看当前目录,看是否是/root,如果是表示切换成功。
18.给出命令将当前目录下的文件file的时间记录改成2005年5月10日18点30分。
执行命令:
touch -t0505181830file 或者命令touch-d"6:
30pm05/10/2005"file
19.如何执行tar命令对文件执行备份和恢复?
备份:
tarcvfxx.tar* 或者tarczvfxx.tar.gz*
恢复tarcvfxx.tar 或者tarczvfxx.tar.gz
20.给出命令将当前目录下的所有c程序备份并为一个文件。
Tarcvfxx.tar*.c 或者tarczvfxx.tar.gz*.c
21.假设有一个rpm包的软件:
software-1.2.3-1.i386.rpm,简述软件的命名含义,并说明如何安装及如何查看是否已经安装?
software-1.2.3-1表示软件名称和版本,i386表示该软件是为386体系结构机器编写编译的,rpm表示该软件使用rpm软件包管理工具打包。
安装命令为:
rpm–isoftware-1.2.3-1.i386.rpm
查看命令为:
rpm–qsoftware-1.2.3-1.i386.rpm
22.下面是执行“ls –l software”命令得到的信息,通过联机帮助,解释这些信息:
第1个域表示文件的访问权限;
第2个域表示硬链接的个数
第3个域表示文件的所有者
第4个域表示文件所属的群组
第5个域表示文件大小
第6个域表示文件最近一次修改的时间
最后一个域表示软件名称。
第3章 vi编辑器的使用
1.vi有几种工作模式,各工作模式之间如何进行转化?
vi有三种基本工作模式,分别是:
命令模式(commandmode)、插入模式(insertmode)和底行模式(lastlinemode)三种模式之间的转换如下图。
2.在vi中如何保存正在编辑的文件?
在命令模式下,连按两次大写字母,若当前编辑的文件曾被修改过,则vi保存该文件后退出,返回到shell;若当前编辑的文件没被修改过,则vi直接退出,返回到shell。
在末行模式下,有几种命令可以保存文件:
1):
w vi保存当前编辑的文件,但并不退出vi,而是继续等待用户输入命令。
2):
w 把当前文件的内容保存到指定的文件newfile中,而原有文件保持不变。
若newfile是一个已存在的文件,则vi在窗口的状态行给出提示信息:
Fileexists(use!
tooverride)
表示指定的文件已经存在,如果要替换原有内容,需要使用“!
”。
3):
w!
把当前文件的内容保存到指定的文件newfile中,如果newfile已经存在,则覆盖原有内容。
3.有几种方法可以退出vi编辑器?
在末行模式下,有四种方法可以退出vi返回到shell:
1):
q 系统退出vi返回到shell。
在用此命令时,若编辑的文件没有被保存,则vi在窗口的最末行显示如下信息:
Nowritesincelastchange(use!
tooverrides)
提示用户该文件被修改后没有保存,需要使用!
放弃保存。
出现此提示后,vi并不退出,继续等待用户命令。
2):
q!
vi放弃所作修改而直接退到shell下。
3):
wq先保存文件,然后再退出vi返回到shell。
4):
x 该命令的功能与命令模式下的ZZ命令功能相同。
4.如何让屏幕上显示正在编辑的文件的行号?
在末行方式下输入如下命令即可给文本加行号:
:
setnumber 或者:
setnu
5.说明vi中的字、句子、段落的含义。
在vi中“字”有两种含义。
一种是广义的字,它可以是两个空格之间的任何内容。
狭义上的字是指:
英文单词、标点符号和非字母字符,如“!
”、“@”、“#”、“$”、“%”、“^”、“&”、“*”、“(”、“)”、“-”、“+”、“{”、“}”、“[”、“]”、“~”、“|”、“\”、“<”、“>”、“/”等,均被当成是一个字。
句子被定义为是以句号“.”、问号“?
”和感叹号“!
”结尾,且其后跟着至少一个空格或一个换行符的字符序列。
段被定义为以一个空白行开始和结束的片段。
6.练习使用vi中在当前行左右移动光标的命令
l或者→、h或者←、w、w、b、b、e、0、$等命令的使用,这些命令使光标在同一行上移动。
7.练习使用vi中光标上下移动的命令
练习使用命令:
j或者↓、+、k或者↑、-
8.练习使用vi中在文本块间移动光标的命令
练习使用命令:
)、(、}、{
9.在vi中如何将光标直接定位到某行?
在命令模式下,执行<行号>G,则将光标移至行号所指定的行的行首。
10. 练习屏幕上下移动光标和滚动屏幕的命令。
三个关于光标在全屏幕上移动并且文件本身不发生滚动的命令。
它们分别是H、M和L命令;
滚屏命令:
分页命令:
或者、或者
屏幕调零命令:
[行号]z[行数]<回车>
[行号]z[行数].
[行号]z[行数]-
11. 在命令模式下,如何删除文本中的字符、字、行和文本块?
字符删除命令:
x、dh
字和行删除命令:
dw、db、dd、d$、d0、dd
文本块删除命令:
d)、d(、d}、d{
12. 在命令模式下,如何查找匹配某个模式的行?
/ 回车
?
回车
13. 在命令模式下,如何修改一段文本?
vi提供了三种修改命令,分别是c、C和cc。
它们修改文本的范围是由光标的当前位置和光标移动命令二者限定的。
14. 在命令模式下,练习文本的几种替换命令。
vi提供的替换命令有取代命令:
r和R、替换命令:
s和S和字替换命令:
cw
15. 如何复制n行文本?
[n]yw:
复制从光标所在位置开始的n个字到缓冲区;
16. 如何移动一段文本?
在文件中移动文本通过如下三步完成:
1)使用文本删除命令将要移动的文本删除;
2)使用光标移动命令将光标移动到目标位置;
3)使用命令“p”将刚删除的文本粘贴到目标位置。
17. 如何将