《UbuntuLinux操作系统(第3版)(微课版)-习题(理论题)参考答案陈杰.docx》由会员分享,可在线阅读,更多相关《UbuntuLinux操作系统(第3版)(微课版)-习题(理论题)参考答案陈杰.docx(17页珍藏版)》请在课桌文档上搜索。
1、UbuntuLimix操作系统第3版(微课版)习题(理论题)参考答案第1章Ubuntu概述、安装与基本操作1 .什么是GNUGPL?它对Linux有何影响?GNU是GNlTsNotUNIX”的递归缩写,其目的是开发出-一套与UNlX相似而不是UNIX的系统。作为一个自由软件工程项目,所谓的“自由”(Free),并不是指免费,而是指对所有的用户来说使用软件是自由的,即用户在获取软件之后,可以进行修改,也可以进一步在不同的计算机平台上发布和复制。GPL是GeneraIPUbIiCLiCenSe的缩写,意为通用公共许可证,它是GNU使用最为广泛的一个协议条款。GNUGPL的精神就是开放、自由,任何软
2、件加上GPL授权之后,即成为自由的软件,任何人均可获得,同时亦可获得其源代码。获得GPL授权软件后,任何人均可根据需要修改其源代码。GPL的出现为LinUX的诞生奠定了基础。林纳斯托瓦兹(LinUSTorvalds)按照GPL发布了Linux,很快就吸引了专业人士加入LinUX的开发,从而促进了LinUX的快速发展。.简述LinUX的体系结构。1.inUX操作系统是采用单内核模式的操作系统,采用分层设计,包括4个层次。每层只能与它相邻的层通信,层次间具有从上到下的依赖关系,靠上的层依赖于靠下的层,但靠下的层并不依赖于靠上的层。其中用户应用程序位于整个系统的最顶层;操作系统服务位于用户应用程序与
3、系统内核之间;LinUX内核靠近硬件,是LinUX操作系统常驻内存部分,作为整个操作系统的核心,实现对硬件资源的抽象和访问调度;硬件系统包含LinUX所使用的所有物理设备。.简述LinUX内核版本与发行版本。1.inlIX的版本分为两种:内核版本和发行版本。内核版本是指内核小组开发维护的系统内核的版本号。内核版本也有两种不同的版本号:实验版本和产品版本。内核版本的每一个版本号的组成形式为:主版本.次版本.修订版本H附版本。发行版本是指集成有LinUX内核、源码以及相关应用软件的完整操作系统,便于用户安装和使用。发行版本通常包含了一些常用的工具性的实用程序(Utility),供普通用户日常操作和
4、管理员维护操作使用。发行版本由发行商确定。2 .简述Ubuntu与Debian的关系。Debian是Ubuntu的一个父版本,Ubuntu的发展离不开DebianoDebian是一个纯粹由自由软件所组合而成的作业环境,永远是自由软件,可以在网上免费获得。Debian是极为精简的LinUX发行版,操作环境干净,安装步骤简易,拥有方便的套件管理程序。Ubuntu基于Debian发行版,使用Debian大量资源,继承了Debian的所有优点。Ubuntu旨在为广大用户提供一个最新的,同时又相当稳定的,主要由自由软件构建而成的操作系统。与Debian的不同在于它大概每半年会发布一个新版本。Ubuntu
5、开发人员作为贡献者也参与Debian社区开发。3 .活动概览视图有什么作用?活动概览是一种全屏模式,提供从一个活动切换到另一个活动的各种途径。它会显示所有己打开的窗口的预览,以及收藏的应用程序和正在运行的应用程序的图标。另外,它还集成了搜索与浏览功能。4 .为什么要学习命令行?使用命令行管理Linux系统是最基本和最重要的方式。很多重要的任务必须由命令行完成,而且执行相同的任务,由命令行来完成会比使用图形界面要简捷高效得多。5 .什么是ShelI,它有什么作用?在LinUX中,Shell就是外壳的意思,是用户和系统交互的接口。Shell提供用户与内核进行交互操作的一种接口,接收用户输入的命令,
6、并将其送到内核去执行。实际上Shell是一个命令解释器,拥有自己内建的Shell命令集。1.inUXShell的作用主要有:解释用户在命令行提示符下输入的命令,提供个性化的用户环境,和编写Shell脚本以实现高级管理功能。6 .环境变量分为哪两种类型?如何设置环境变量?环境变量分为系统环境变量和用户环境变量两种类型。前者对所有系统用户都有效,是全局环境变量;后者仅仅对当前用户有效,是局部环境变量。设置环境变量有3种方式。一是使用export命令临时设置环境变量,这种环境变量不会永久保存。二是通过直接赋值来添加或修改某个环境变量,此时环境变量不用加上$符号,这些临时设置的环境变量只在当前的She
7、ll环境中有效。三是使用配置文件使设置的环境变量永久保存。7 .简述命令行命令语法格式。命令行命令语法格式如下:提示符命令选项参数有的命令不带任何选项和参数。Linux命令行严格区分大小写,命令、选项和参数都是如此。选项是包括一个或多个字母的代码,前面有一个“二连字符,主要用于改变命令执行动作的类型。有些选项既可以使用短选项格式,又可使用长选项格式。参数通常是命令的操作对象,多数命令可使用参数。使用多个参数的命令必须注意参数的顺序。有的命令必须带参数。同时带有选项和参数的命令,通常选项位于参数之前。8 .管道有什么作用?管道用于将一个命令的输出作为另一个命令的输入,使用符号“I”来连接命令。可
8、以将多个命令依此连接起来,前一个命令的输出作为后一个命令的输入。第2章用户与组管理.LinUX用户一般分为哪几种类型?1.inux系统通常将用户账户分为3种类型。超级用户(superuser):就是根账户root,可以执行所有任务,在系统中不受限制地执行任何操作,具有最面的系统权限。系统用户(systemuser):系统本身或应用程序使用的专门账户。其中供服务使用的又称服务账户。它并没有特别的权限,通常又分为两种,一种是由LinUX系统安装时自行建立的系统账户,另一种是用户自定义的系统账户。普通用户(regularuser):供实际用户登录使用的普通用户账户。此类用户登录到LinUX系统,不执
9、行管理任务。1 Ubuntu宣i员与普通用户相比,有什么特点?Ubuntu管理员是指具有管理权限的普通用户,有权删除用户、安装软件和驱动程序、修改日期和时间,或者进行一些可能导致计算机不稳定的操作。其他普通用户不能进行这些操作,只能够修改自己的个人设置。Ubuntu管理员主要用于执行系统配置管理任务,但不能等同于Windows系统管理员,其权限比超级管理员则要低很多。2 Ubuntu管理员如何获得root特权?工作中当需要超级用户权限时,管理员可以通过sudo命令获得超级用户root的所有权限。在图形界面中执行系统管理任务时,往往也需要root特权,一般会弹出认证对话框,要求输入当前管理员账户
10、的密码,认证通过后才能执行相应任务。有的图形用户界面软件会提供锁定功能,执行需要root特权的任务时先要通过用户认证来解锁。3 .如何让普通用户能够使用sudo命令?普通用户要使用sudo命令,要么加入到sudo组,要么在sudo配置文件中加入许可。4 .用户和组配置文件有哪些?各有什么作用?用户配置文件包括两个,一个是etcpasswd配置文件,用于存放用户账户及其相关信息(除密码之外);另一个是etc/shadow文件,专门用于保存用户的密码信息。组配置文件包括两个,一个是etcgroup配置文件,用于存放组账户的基本信息;另一个是etcgshadow文件,专门用于保存组密码、组管理员等信
11、息。第3章文件与目录管理.Linux目录结构与Windows有何不同?1.inUX系统的目录结构与WindoWS系统不一样,它没有盘符的概念,不存在什么C盘、D盘,所有的文件和目录都“挂在一棵目录树上”,磁盘、光驱都作为特定的目录挂在目录树上,其他设备也作为特殊文件挂在目录树上,这些目录和文件都有着严格的组织结构。.Linux目录配置标准有何规定?1.inux目录配置标准FHS定义了两层规范。第1层是根目录下面的各个目录应该放什么文件,例如/etc应该放置配置文件,/bin与sbin则应该放置可执行文件等。第2层则针对usr及var这两个目录的子目录来定义,例如varlog放置系统登录文件,u
12、srShare放置共享数据等。FHS仅定义出最上层QI)及子层(usr.var)的目录内容应该要放置的文件,在其他子目录层级内可以自行配置。1.inUX使用规范的目录结构,系统安装时就已创建了完整而固定的目录结构,并指定了各个目录的作用和存放的文件类型。LinUX文件有哪些类型?1.inux文件分为4种类型。普通文件:也称为常规文件,包括文本文件、数据文件和可执行的二进制程序等。目录文件:特殊文件,利用它可以构成文件系统的分层树形结构。设备文件:特殊文件,除了存放在文件索引节点中的信息外,它们不包含任何数据。链接文件:特殊文件,提供对其他文件的参照。1 .关于文件显示的命令主要有哪些?(I)C
13、at命令:连接文件并打印到标准输出设备上,常用来显示文件内容。(2) more命令:可以逐页显示。(3) IeSS命令:分页显示文件内容,但功能比more更强大。(4) head命令:显示文件的开头若干行或多少个字节。(5) tail命令:显示指定文件的末尾若干行或若干字节,与head正好相反。(6) Od命令:按照特殊格式查看文件内容。5.什么是ACL?为什么要使用ACL?访问控制列表(ACL)可以针对单个用户、单个文件或目录设置读、写和执行权限。除了文件的所有者、所属组和其他用户身份之外,ACL还可以为特定的用户或特定的组设置文件和目录的权限,实现更灵活的权限管理。传统的文件权限组合不能实
14、现更杂的文件权限管理。例如,要将一个文件的读权限和写权限分别授予两个不同的用户,或者一个用户和一个组的组合,文件权限组合就无法实现,使用访问控制列表(ACL)则可以实现。ACL实质上是传统的文件权限之外所需的局部权限设置。作为对传统文件权限机制的补充,ACL能够满足特殊权限设置的需要。第4章磁盘存储管理1 .低级格式化与高级格式化有何不同?低级格式化是将空白磁盘划分出柱面和磁道,再将磁道划分为若干个扇区,每个扇区又划分出标识区、间隔区(GAP)和数据区等。低级格式化是物理级的,对硬盘有损伤,影响磁盘寿命。高级格式化是在磁盘分区上建立相应的文件系统,对磁盘的各个分区进行磁道的格式化,在逻辑上划分
15、磁道。高级格式化与操作系统有关,不同的操作系统有不同的格式化程序、不同的格式化结果、不同的磁道划分方法。当一个磁盘分区被格式化之后,就可以被称为卷(VoIume)o.简述Linux磁盘设备命名方法与磁盘分区命名方法。1.inUX磁盘设备名用字母表示不同的设备接口,例如a表示第1个接口,字母b表示第2个接口。原则上SCSI、SAS、SATA、USB接口硬盘的设备文件名均以devsd开头。这些设备命名依赖于设备的ID号码,不考虑遗漏的ID号码。例如,3个SCSI设备的ID号码分别是。2、5,设备名分别是/dev/sda、devsdb/f11devsdco1.inux磁盘分区的文件名需要在磁盘设备文
16、件名的基础上加上分区编号。SCSI、SAS、SATA、USB硬盘分区采用devsdxy这样的形式命名,其中X表示设备编号(从a开始),y是分区编号(从1开始)。1.inux内核从3.3版本开始支持NVMe硬盘接口。一个NVMe控制器可以连接多个NVMe磁盘。NVMe控制器用字符串nvme表示,从0开始编号;NVMe磁盘用字母n表示,并从1开始编号。笫1个控制器连接的第1个和第2个硬盘分别命名为devnvmenl和devnvme2.以此类推。2 .简述分区样式MBR与GPTcMBR是传统的分区样式,将分区表存储在主引导记录MBR内。最多可支持4个磁盘分区,可通过扩展分区来支持更多的逻辑分区,在L
17、inUX中将该分区样式又称为MSDoS。MBR分区的容量限制是2TB。GPT是新分区样式,是可扩展固件接口(EFi)的一个部分。一个GPT磁盘内最多可以创建128个主分区,不必创建扩展分区或逻辑分区。GPT分区可以突破MBR的2TB容量限制,特别适合大于2TB的硬盘分区。.简述Linux分区Linux(LinuxNative)与LinuxSwap1.inux(以前称为LinUXNatiVe)和LinUXSWaP是LinUX特有的分区类型。1.inUX分区是存放系统文件的地方,是最基本的LinUX分区,用于承载LinUX文件系统。可以将Linux安装在一个或多个类型为Linux的磁盘分区中。1.
18、inuxSwap分区是Linux暂时存储数据的交换分区,主要用于保存物理内存上暂时不用的数据,在需要的时候再调进内存。可以将其理解为与WindoWS的虚拟内存一样的技术。虚拟内存一样的技术。一般情况下,SWaP分区应该大于或等于物理内存的大小。3 .简述Linux建立和使用文件系统的步骤。(1)对磁盘进行分区。(2)在磁盘分区上建立相应的文件系统。(3)建立挂载点目录,将分区挂载到系统相应目录下,就可访问该文件系统。4 Ubuntu主要提供哪些磁盘分区工具?命令行工具可以使用fdisk和parteddbus.service服务,并激活basic.target单元,从而最终完成带有图形用户界面的
19、系统启动。6 .是否需要区分单元管理与单元文件管理?需要区分与单元管理与单元文件管理。单元管理是SyStemd最基本、最通用的功能。单元管理的对象可以是所有单元、某种类型的单元、符合条件的部分单元或某一具体单元。单元文件管理是对单元文件本身进行管理,这会影响到单元管理。例如,单元文件状态决定单元能否启动运行,而单元状态是指当前的运行状态(是否正在运行)。从单元文件的状态是无法得知该单元状态的。7 .systeni日志守护进程主要收集哪些信息?SyStemd日志守护进程可以收集来自内核、启动过程早期阶段的日志,系统守护进程在启动和运行中的标准输出和错误信息,以及syslog的日志。有些rsysl
20、og无法收集的日志,systemd能够记录下来。8 .Ubuntu系统启动经过哪4个阶段?(1) BIoS或UEFl启动;(2)启动引导加载程序;(3)装载内核;(4)系统初始化。内核在完成核内引导以后,新版本的Ubuntu使用systemd代替之前版本的init程序来开始系统初始化过程。9 .什么是GRUB?GRUB有什么作用?GRUB实际上是一个微型的操作系统,作为一种多操作系统启动管理器,除引导Linux之外,还可以在多操作系统共存时管理多操作系统的引导。在系统启动过程中,从引导加载程序开始运行,到内核加载之前都由GRUB负责。内核保存在/boot目录中,通过GRUB将内核加载到内存。管
21、理员可以对GRUB进行配置管理,以实现对系统启动选项的控制,干预系统的启动过程。10 .通过Cron服务安排每周一至周五凌晨3点执行某项任务,调度时间如何表示?03*1-511 .anacron有什么作用?与Cron服务任务调度有什么不同?anacron可以扫除Cron调度存在的盲区。anacron检测相关的调度任务有没有被执行,如果有超期未执行,就直接执行,执行完毕或没有需执行的调度任务时,anacron就停止运行,直到下一时刻被执行。Ubuntu通过anacron来解决每天、每周和每月要定期启动的调度任务,执行的是某个周期的任务调度。默认情况下SyStemd定时器安排anacron每小时运
22、行一次。anacron根据etcanacrontab的配置执行etccron.daily、etccron.weekly和etccron.monthly目录中的调度任务脚本。管理员可以根据需要将每天、每周和每月要执行任务的脚本放在上述目录中。Cron服务每分钟会读取etccrontab文件、etccron.d目录和varspoolcron目录中的配置信息,执行的是精确定时任务调度。管理员可以根据需要将每小时要执行任务的脚本放etccron.hourly目录中。12 .SyStemd定时器分为哪两种类型?两种类型的主要区别是什么?systemd定时器分为单调定时器和实时定时器两种类型。单调定时器从
23、一个特定的时间点开始过一段时间后触发定时任务。所谓单调时间,是指从开机那一刻(零点)起,只要系统正在运行,该时间就不断地单调均匀递增,永远不会往后退。实时定时器通过日历事件(某个特定时间)触发(类似于CrOn服务)定时任务。第7章Ubuntu桌面应用6.简述LibreO笛CeWriter主控文档的特点。可将主控文档视为单个LibreoffiCeWriter文件的容器,这些单个文件称为子文档。主控文档具有如下特点。(1)打印主控文档时,会打印所有子文档的内容、索引以及所有文本内容。(2)可以在主控文档中为所有子文档创建目录和索引目录。(3)子文档中使用的样式,例如新的段落样式,会自动导入主控文档
24、中。(4)查看主控文档时,主控文档中已存在的样式优先于从子文档导入的具有相同名称的样式。(5)对主控文档的更改永远不会使子文档发生更改。第8章SheIl编程1 .Shell编程如何包含外部脚本?Shell包含外部脚本文件的用法如下:.脚本文件名或source脚本文件名两种方式的作用一样,一般使用点号,但要注意点号和脚本文件名之间一定要有一个空格。2 .执行SheII脚本有哪几种方式?执行Shell脚本有4种方式。(1)在命令行提示符下直接执行;(2)使用指定的SheII解释器执行脚本:(3)使用SOiIrCe命令执行脚本。(4)将输入重定向到SheIl脚本。3 Shell编程支持哪几种变量类型
25、?SheIl编程支持3种变量类型,分别是用户自定义变量、环境变量和内部变量。4 .简述ShelI位置参数。Shell内部变量中有几个表示运行脚本时传递给脚本的参数,通常称为位置参数,又称命令行参数。当编写一个带有若干参数的Shell脚本时,可以用命令行或从其他的Shell脚本调用它。位置参数使用系统给出的专用名,存放在变量中的第1个参数名为1,可以用$1来访问;第2个参数名为2,可以利用$2来访问它,以此类推。当参数超过10个时,要用花括号将参数序号括起来,如$12。5 Shell编程如何实现数学运算?bash自身并不支持简单的数学运算,但是可以通过awk和expr等命令来实现数学运算,其中e
26、xpr最为常用,使用它能够完成表达式的求值操作。6 .逻辑表达式使用ICSt命令和它的别名有何不同?通常使用test命令来判断表达式的真假。该命令有一个更常用的别名,即左方括号“二当使用左方括号而非test时,其后必须始终跟着一个空格、要评估的逻辑表达式、一个空格和右方括号,右方括号表示所需评估表达式的结束。逻辑表达式两边的空格是必需的,这表示要调用test,以区别于同样经常使用方括号的字符、模式匹配操作(正则表达式)。7.解释命令1&命令2H命令3和命令1Il命令2&命令3两种组合的含义。符号“&”和“II”后面的命令总是根据当前$?变量的值来决定是否执行0前一种组合相当于“如果就.否则就.
27、”,如果命令1正确执行,就接着执行命令2,再根据命令2执行是否成功来决定执行命令3;如果命令1错误执行,就不执行命令2,但会根据当前$?变量的值(命令1执行后返回)决定执行命令3。后一种组合表示,如果命令1正确执行,就不会执行命令2,但依然会执行命令3;如果命令1执行失败,则执行命令2,根据命令2的执行结果来判断是否执行命令3。8 .简述条件语句if和case的区别。讦语句通过判定条件表达式做出选择。大多数情况下,可以使用test命令来对条件进行测试,比如可以比较字符串、判断文件是否存在。CaSe语句是一种多选择结构,与其他语言中的“switch.case”语句类似。CaSe语句匹配一个值或一
28、个模式,如果匹配成功,执行相匹配的命令。如果存在很多条件,那么可以使用case语句来代替if语句。9 .Shell循环结构有哪几种实现方式?SheIl提供的循环结构有3种,分别是While、Until和for。.为什么要掌握Linux系统的文本内容处理?1.inux系统包括大量的文本内容或文本文件,如源代码文件、标准输入输出(相当于特殊的文本文件)、普通文本文件、各种配置文件、日志文件等。管理员使用SheIl运维时应掌握对文本内容的高效处理。10 .正则表达式分为哪几种类型?正则表达式分为3种类型,分别是基本正则表达式(BRE),扩展正则表达式(ERE)、Perl正则表达式(PRE)0第9章C
29、/C+编程11 .简述GCe编译的各个阶段。使用GCC编译并生成可执行文件需要经历4个阶段。(1)预处理。GCC调用cpp(预处理器)命令对源码文件进行预处理。此阶段一般无需产生结果文件(.i),如果需要结果文件来分析预编译语句,可以加上选项-E。(2)编译。调用Cll(编译器)命令将每个文件编译成汇编代码。此阶段通常无需产生结果文件(.S),如果需要结果文件,加上选项S即可。所生成的.s文件是汇编源码文件,具有可读性。(3)汇编,这是针对汇编语言的步骤,调用as(汇编器)命令进行工作。一般来讲,.s为扩展名的汇编语言文件,经过预编译和汇编之后都生成以.。为扩展名的目标文件。此阶段将每个文件转
30、换成目标代码。(4)连接。调用Id命令来完成最后的关键性工作,即将所有的目标文件和库合并成可执行文件,结果是接近目标文件格式的二进制文件。12 为什么要使用动态连接?动态连接库的函数具有共享特性,连接时不会将它们合成到可执行文件中。使用动态连接的好处是生成的程序比较小,占用较少的内存。13 .简述make命令的功能。在LinUX/UNIX环境中,make一直是一个重要的编译工具。它最主要也是最基本的功能就是通过MakefiIe文件维护源程序,实现自动编译。make可以只对程序员在上次编译后修改过的部分进行编译,对未修改的部分则跳过编译步骤,然后进行连接。14 .简述Makefile基本语法格式
31、。MakefiIe文件通过若干条规则来定义文件依赖关系。每条规则包括目标、条件和命令三大要素。基本语法格式如下:目标.:条件.命令目标是一个目标文件,可以是目标代码文件,还可以是可执行文件,也可以是一个标签。条件就是要生成目标所需要的文件,可以是源代码文件,也可以是目标代码文件。命令就是make需要执行的命令,可以是任意的SheIl命令,可以有多条命令。目标和条件要素定义的是文件依赖关系,要生成的目标依赖于条件中所指定的文件;命令要素定义的是生成目标的方法,即如何生成目标。15 .简述make的工作方式。(1)读入所有的Makefile文件。(2)读入被include语句嵌入的其他Makefi
32、le文件。(3)初始化这些文件中的变量。(4)推导隐式规则,并分析所有规则。(5)为所有的目标文件创建依赖关系链。(6)根据依赖关系,决定哪些目标需要重新生成。(7)执行生成目标的命令。16 .为什么要使用Autotools?MakefiIe拥有复杂的语法结构,当项目规模非常大的时候,维护MakefiIe非常不易。源代码包安装分为3个步骤configuremake和makeinstall,在构建过程中涉及到许多文件,制作起来非常复杂。使用AUtOtoolS工具生成Makefile文件,大大方便源码安装包的制作,而且无需更多的专业知识。17 .简述GTK+的功能和特性。GTK+目前已发展为一个功
33、能强大、设计灵活的通用图形函数库。GTK+可以用来进行跨平台GUl应用程序的开发。GTK+及相关的库按照面向对象设计思想来实现。GNOME桌面环境以GTK+为基础,为GNOME编写的程序使用GTK+作为其工具箱。第10章Java与Android应用开发1 .简述JaVa的主要特点。JaVa的主要特点有:简单易学、分布式、跨平台、减少应用系统的维护费用、在B/S开发方面JaVa要远远优于C+o2 .简述Java体系。Java是一套完整的体系,主要包括JVM.JRE和JDK。开发人员利用JDK开发自己的JAVA程序后,通过JDK中的编译程序将JaVa源文件编译成JAVA字节码,在川E上运行这些JA
34、VA字节码,JVM解析这些字节码,映射到CPU指令集或操作系统的系统调用。3 .针对不同的应用,JDK分为哪几个版本?针对不同的应用,JDK分为3个版本:标准版(Standardedition,SE)、企业版(enterpriseedition,EE)和微型版本(microedition,ME)O4 .简述Android系统架构。Android采用了分层的系统架构,从低到高分别是Linux内核层、系统运行库层、应用框架层和应用层。5 .什么是AndroidSDK?AndroidSDK指的是Android专属的软件开发工具包,包括为开发者提供的库文件以及其他开发所需的工具。开发Android程序时,引入AndroidSDK工具包即可使用Android相关的API。第