Linux系统及编程基础习题答案.docx
《Linux系统及编程基础习题答案.docx》由会员分享,可在线阅读,更多相关《Linux系统及编程基础习题答案.docx(27页珍藏版)》请在冰豆网上搜索。
Linux系统及编程基础习题答案
第1章Linux基础及安装
1.什么是Linux?
Linux是一款优秀的计算机操作系统,支持多用户、多进程、多线程,实时性好,功能强大且稳定。
同时,它又具有良好的兼容性和可移植性,被广泛应用于各种计算机平台上。
作为Internet的产物,Linux操作系统由全世界的许多计算机爱好者共同合作开发,是一个自由的操作系统。
2.Linux的主要特点是什么?
Linux具有UNIX的所有特性并且具有自己独特的魅力,主要表现在以下几个方面:
(1)开放性
(2)多用户
(3)多任务
(4)出色的稳定性能
(5)良好的用户界面:
Linux向用户提供了两种界面:
用户界面和系统调用界面。
(6)设备独立性:
设备独立性是指操作系统把所有外部设备统一当作文件来看,只要安装它们的
驱动程序,任何用户都可以像使用文件那样操作并使用这些设备,而不必知道它们的具体存在形式。
(7)丰富的网络功能:
完善的内置网络是Linux的一大特点,Linux在通信和网络功能方面优于其他操作系统。
其他操作系统不包含如此紧密的内核结合在一起的联接网络的能力,也没有内置这些联网特性的灵活性。
而Linux为用户提供了完善的、强大的网络功能。
(8)可靠的安全性
(9)良好的可移植性:
可移植性是指将操作系统从一个平台转移到另一个平台,使它仍然能按其自身的方式运行的能力。
3。
Linux的主要组成包括什么?
(1)Linux内核(Kernel):
内核(Kernel)是系统的心脏,是运行程序和管理硬件设备的内核程序,
决定着系统的性能和稳定性,实现操作系统的基本功能。
(2)Linux的Shell:
Shell是系统的用户界面,提供用户与内核进行交互操作的一种接口。
Shell
是一个命令解释器,它解释由用户输入的命令并且把他们送到内核执行.Shell编程语言具有普通编程语言的很多特点,用这种编程语言编写shell程序与其他应用程序具有同样的效果.
(3)Linux文件系统:
文件系统是文件存放在磁盘等存储设备上的组织方法。
通常是按照目录层
次的方式进行组织,用户能够从一个目录切换到另一个目录,而且可以设置目录和文件的权限、文件的共享程度。
(4)Linux实用程序(utilities)和应用程序(Applications):
标准的Linux系统都有一套成为应用程
序的程序集,包括文本编辑器、编程语言、XWindow、办公套件、Internet工具、数据库等。
4。
Linux与Windows的主要区别是什么?
(1)Linux的应用目标是网络:
Linux的设计定位于网络操作系统。
虽然现在已经实现Linux操作
系统的图形界面,但仍然没有舍弃文本命令行。
由于纯文本可以非常好地跨越网络进行工作,所以
Linux配置文件和数据都以文本为基础。
(2)可选的GUI:
目前,许多版本的Linux操作系统具有非常精美的图形界面.Linux支持高端
的图形适配器和显示器,完全胜任与图形相关的工作。
但是,图形环境并没有集成到Linux中,而是运行于系统之上的单独一层.这意味着用户可以只运行GUI,或者在需要时使用图形窗口运行GUI。
(3)文件名扩展:
Linux不使用文件名扩展来识别文件的类型,这与Windows操作系统不同。
Linux操作系统是根据文件的头内容来识别其类型.为了提高用户的可读性,Linux仍可以使用文件名扩
展,这对Linux系统来说没有任何影响。
Linux通过文件访问权限来判断文件是否为可执行文件,任何一个文件都可以赋予可执行权限,程序和脚本的创建者或管理员可以将它们识别为可执行文件,这样做有利于安全,使得保存到系统上的可执行文件不能自动执行,可以防止许多脚本病毒。
(4)重新引导:
在使用Windows系统时,也许已经习惯出于各种原因而重新引导系统(即重新启
动),但在Linux系统中这一习惯需要改变。
一旦开始运行,它将保持运行状态,直到受到外来因素的影响,比如硬件故障.实际上,Linux系统的设计使得应用程序不会导致内核的崩溃,因此不必经常重新引导,所以除了Linux内核之外,其他软件的安装、启动、停止和重新配置都不用重新引导系统。
如果用户确实重新引导了Linux系统,问题很可能得不到解决,甚至还会使问题更加恶化,因此在学习Linux操作系统时,要克服重新引导系统的习惯。
另外,可以远程地完成Linux中的很多工作,只要有一些基本的网络服务在运行,就可以进入到那个系统。
而且,如果系统中一个特定的服务出现了问题,用户还可以在进行故障诊断的同时让其他服务继续运行。
当用户在一个系统上同时运行多个服务的时候,这种管理方式更为重要.
(5)命令区分大小写:
所有的Linux命令和选项都区分大小写。
5.什么是Linux的内核版本和发行版本?
Linux的内核版本是指在LinusTorvalds领导下开发小组开发出的系统内核的版本号.内核版本号由3个数字组成,形式如下:
major.minor。
patchlevel
(1)major:
目前发布的Kernel主版本号.
(2)minor:
为次版本号,一般来说minor位为偶数的版本标明这是一个可以使用的稳定版本,如2.6。
4;minor位为奇数的版本一般加入了一些新的内容,不一定很稳定,是测试版本,如2。
5。
11。
(3)patchlevel:
表示对当前版本的修补次数
发行版本是一些组织或厂家将Linux系统内核与应用软件和文档封装起来,并提供一些安装界面和系统设定管理工具的一个软件包的集合。
目前已经有了几百种发行版本。
6.Linux系统的用户有哪些?
Linux是多用户系统,用户分为根用户(系统管理员)和普通用户两大类。
每个用户在系统中都有唯一的用户名称,该用户名称为用户账号,使用户使用系统的凭证。
根用户(系统管理用)又称为超级用户,用户账号为root,在系统中拥有最高权限,主要负责系统的管理工作。
普通用户账号有根用户创建,命名时不能以数字和下划线作为第一个字符。
普通用户是系统的使用者,只在自己的目录下工作,没有系统管理权限。
7。
什么是运行级别?
Linux有哪些运行级别?
所谓运行级别就是操作系统当前正在运行的功能级别。
这个级别从0到6,具有不同的功能,在/etc/inittab文件中定义。
七个运行级别为:
(1)0————关机(千万不要把initdefault设置为0)
(2)1——-—单用户模式
(3)2-—--多用户模式,但是没有NFS(4)3--——完全多用户模式
(5)4—---没有用到(6)5—-——X11
(7)6—-—-重启(千万不要把initdefault设置为6)
8.如何更改默认的运行级别?
运行级别可以由超级用户通过telinit命令来转换,此命令可以将转换信号传递给init,告诉它切换到哪个运行级别.也可以通过修改/etc/inittab文件来进行缺省运行级别的修改。
9。
如何登录和注销?
(1)登录---—图形界面:
图形提示用户名+口令;字符界面:
输入用户名+口令
(2)注销----图形界面:
运行“系统->注销"命令;字符界面:
logout或ctrl+d或exit
10.如何安全关闭系统?
图形界面:
系统→关机;文本界面:
有shutdown、halt、reboot、init.
11.简述XWindow的原理。
XWindow系统由三部分构成。
(1)XServer:
控制实际的显示与输入设备
(2)XClient:
向XServer发出请求以完成特定的窗口操作.
(3)通信通道:
负责XServer与XClient之间的通信。
XServer是用来控制实际的显示设备和输入设备(键盘和鼠标或其他输入设备)的软件。
XServe可以建立窗口、在窗口中画图形、图像和文字;响应XClient的需求。
它不会自己执行动作,只有在XClient提出请求后才完成动作。
每一个显示设备只有一个唯一的XServer.XServer一般由系统的供应厂商提供,用户通常无法修改。
对操作系统而言,XServer只是一个普通的用户程序而已,因此很容易更换一个新的版本,甚至可编译运行由第三方厂商提供的原始程序.
XClient是指使用系统窗口功能的一些应用程序。
把X下的应用程序称作XClient,原因是它们是XServer的客户,XClient要求服务器应它的请求完成特定的动作。
XClient无法直接影响窗口或显示,它们只能向XServer发送请求,让XServer来完成它们的需求。
用户可以使用不同来源的XClient:
一些是由系统提供的(例如时钟),一些来自于第三方厂商,一些是用户为了特殊应用而编写的自己的客户程序.
通信通道是XServer和XClient之间传递信息的通道,凭借这个通道,XClient发送请求给XServer,而XServer借助于它向XClient回送状态及一些其他的信息.
第2章Linux的文件系统
1.简述Linux文件系统的特点.
(1)Linux文件系统采用树形结构,从根目录root(/)开始。
(2)Linux的虚拟文件系统允许众多不同类型文件系统共存,并支持跨文件系统的操作。
(3)Linux的文件是无结构字符流式文件,不考虑文件内部的逻辑结构,只把文件简单地看作是一系列字符的序列。
(4)Linux的文件可由文件拥有者或超级用户设置相应的访问权限而受到保护.
(5)Linux把所有的外部设备都看做文件,可以使用与文件系统相同的系统调用和函数来读写外部设备。
2.什么是虚拟文件系统,Linux为什么采用虚拟文件系统?
虚拟文件系统是Linux内核中的一个软件层,用于给用户空间的程序提供文件系统接口;同时,它也提供了内核中的一个抽象功能,允许不同的文件系统共存。
虚拟文件系统既没有文件,也不直接管理文件,它只是用户与实际文件系统之间的接口。
它并不需要保存在永久存储介质中,只是在需要时由内核在内存内存
内存的正式叫法是内存储器,以此来与外存储器区分开。
物理上它安装在计算机内部,通常安装在主板上,所以称为内存。
它的作用是供暂时存储处理器需要处理的数据或处理后的结果,可见内存是计算机处理器的工作空间。
它是处理器运行的程序和数据必须驻留于其中的一个临时存储区域,是计算机十分重要的部件。
中创建起来的一个文件系统,所以叫做虚拟文件系统。
Linux允许众多不同类型的文件系统共存,并支持跨文件系统的操作,这是由于虚拟文件系统的存在。
系统中所有的文件系统不但依赖虚拟文件系统共存,而且也依靠虚拟文件系统协同工作。
3.在所用的Linux系统上,根目录下主要含有哪些子目录,各子目录的含义?
(1)/bin:
存放二进制可执行命令目录;
(2)/home:
用户主目录的基点目录,默认情况下每个用户的主目录都设在该目录下,如默认情况下
用户user01的主目录就是/home/user01;
(3)/lib:
存放标准程序设计库目录,又叫动态链接共享库目录,目录中存放的文件作用类似windows
里的.dll文件;
(4)/etc:
存放系统管理和配置文件目录;
(5)/dev:
存放设备特殊文件目录,如声卡文件、磁盘文件等;
(6)/usr:
最庞大的目录,存放应用程序和文件目录,其中包含如下目录:
(a)/usr/local/bin:
存放本地增加的命令目录;
(b)/usr/local/lib:
存放本地增加的库目录;
(c)/usr/X11R6:
存放Xwindow目录;
(d)/usr/bin:
存放众多的应用程序目录;
(e)/usr/sbin:
存放超级用户的一些管理程序目录;
(f)/usr/doc:
存放linux文档目录;
(g)/usr/include:
存放Linux下开发和编译应用程序所需头文件目录;
(h)/usr/lib:
存放常用的动态链接库和软件包的配置文件目录;
(i)/usr/man:
存放帮助文档目录;
(j)/usr/src:
存放源代码目录,Linux内核的源代码就放在/usr/src/linux子目录中;
(7)/proc:
虚拟目录,是系统内存的映射,可直接访问这个目录来获取系统信息;
(8)/root:
系统管理员的主目录;
(9)/var:
存放系统产生的经常变化文件目录,例如打印机、邮件、新闻等假脱机目录、日志文件、
格式化后的手册页以及一些应用程序的数据文件等等;
(10)/tmp:
存放公用临时文件目录。
4.什么是文件?
Linux下主要有哪些类型文件?
文件是指由创建者定义的,具有文件名的一组相关元素的集合,文件可以是文本文档、图片、程序等。
Linux下的文件类型包括:
普通文件,也称为常规文件,是Linux中最一般格式的文件,包括系统文件、用户文件和库函数;目录文件,是由文件目录信息构成的特殊文件,目录文件的内容不是应用程序和数据,而是用来检索普通文件的目录信息;设备文件,在Linux中输入输出设备被看做特殊文件,设备文件分两类,字符设备文件和块设备文件;符号链接文件,是一种特殊类型的文件,它的内容只是一个字符串,该字符串可能指向一个存在的文件也可能什么都不指向.
5.什么是工作目录、用户主目录?
工作目录是用户在登录到Linux系统中后所处于的目录,也称为当前目录。
工作目录用“。
"表示,其父目录用“。
。
”表示.可用pwd命令查看工作目录,可用cd命令改变工作目录。
用户主目录是系统管理员增加用户时创建的(以后也可以改变),每个用户都有自己的主目录.普通用户的主目录在/home下,root用户作为系统管理员,因为身份特殊所以有自己的主目录,在/root下.
6.根据下图,圆圈代表目录,方框代表文件,当前目录为n,用相对路径法和绝对路径放分别写出文件g、o、z的路径。
绝对路径是指从”/"开始的路径,也称为完全路径;如:
/home/user、/usr/bin。
相对路径是从用户当前目录或用户主目录开始的路径,如:
./user1、../user2、~/user3.
其中:
(1)“。
”表示用户工作目录
(2)“。
。
”表示工作目录的上一级目录
(3)“~”表示用户主目录
用户要访问一个文件时,要通过路径名来引用.可以使用绝对路径名,也可以使用相对路径名。
文件
相对路径
绝对路径
g
../。
./e/g
/e/g
o
.。
/.。
/e/i/o
/e/i/o
z
./v/x/z
/f/n/v/x/z
7.举例说明cat、more和less命令的用法。
cat命令可以把多个文件连接后输出到标准输出(屏幕)或加“〉文件名”输出到另一个文件中。
如显示当前目录下文件testfile1的内容可用如下命令:
cattestfile1。
more命令显示文本文件的内容,一次显示一屏,满屏后停下来,可按键继续。
如显示/etc/profile文件的内容,每屏10行可用如下命令:
more—10/etc/profile.
less命令与more命令相似,分屏显示文件的内容.less命令允许用户向前(PageUp)或向后(PageDown)浏览文件。
如文件/etc/profile中查找字符串“HOSTNAME”,并从该字符串后显示可以如下命令:
less-pHOSTNAME/etc/profile.
8.将主目录下的文件.bashrc复制到/tmp下,并重命名为bashrc,用命令实现上述过程。
cp~/.bashrc/tmp/bashrc。
9.举例说明比较文件的异同使用哪些命令?
comm命令对两个已经排好序的文件进行比较,comm从文件1和文件2中读取正文行进行比较,生成三行输出:
在两个文件中都出现的行,仅在文件1中出现的行,仅在文件2中出现的行。
如比较当前目录下的已排好序的两文件memo1和memo2的异同用命令:
commmemo.1memo。
2。
diff命令比较文本文件,并找出它们的不同。
diff命令比comm命令更强大,不要求文件预先排好序。
如果两个文件完全一样,该命令不显示任何输出。
如比较当前目录下的未排好序的两文件memo1和memo2的异同可用如下命令:
diffmemo。
1memo。
2。
10.举例说明怎样对文件进行压缩和备份?
对文件压缩的命令主要有bzip2和gzip;对文件备份的命令主要有tar。
如用bzip2命令压缩当前目录下的文件memo.1:
bzip2memo。
1。
用gzip命令压缩压缩当前目录下的文件memo.1:
gzipmemo。
1.
用tar命令将当前目录下的文件memo。
1、memo.2、memo.3备份到文件memo。
tar中:
tarcvfmemo.tarmemo.1memo.2memo.3。
11.将/home/stud1/wang目录做归档压缩,压缩后生成wang。
tar.gz文件,并将此文件保存到/home目录下,用命令实现上述过程。
实现此任务的tar命令格式为tarzcvf/home/wang。
tar。
gz/home/stud1/wang。
12.在Linux下有一文件列表内容如下:
lrwxrwxrwxlhawkeyeusers6jul1809:
41nurse2→nurse1
(1)要完整显示如上文件类别信息,应该使用什么命令?
ls—l
(2)上述文件列表内容的第一列内容“lrwxrwxrwx"中的“l”是什么含义?
对于其它类型的文件或目录还可能出现什么字符,它们分别表示什么含义?
“l”表示该文件是符号链接文件.“-”表示该文件是普通文件,“d”表示该文件是目录,“b”表示该文件是块设备文件,“c"表示该文件是字符设备文件。
(3)上述文件列表内容的第一列内容“lrwxrwxrwx”中的第一、二、三个“rwx"分别代表什么含义?
第一个“rwx”表示该文件的文件主人具有读写执行的权限,第二个“rwx”表示该文件的主人同组用户具有读写执行的权限,第三个“rwx"表示该文件的其他用户具有读写执行的权限.
(4)上述文件列表内容的第五列内容“6”是什么含义?
表示该文件的链接数。
(5)上述文件列表内容的最后一列内容“nurse2—>nurse1"是什么含义?
表示文件nurse2是符号链接文件,其链接到文件nurse1。
13.在根目录下创建目录gdc,并设置权限为gdc的主人具有读写执行权限,与主人同组用户可读写,其它任何用户则只能读。
mkdir/gdc;chmodu=rwx,g=rw,o=r。
14.在用户user的主目录下新建目录software,并将路径/etc下所有以h开头的文件及目录拷贝到software中,用命令实现上述过程。
mkdir/home/user/software;
cp/etc/h*/home/user/software
15.什么是符号链接,什么是硬链接?
符号链接与硬链接的区别是什么?
符号链接文件包含到另一个文件的路径名。
当用户需要在不同的目录下用到相同的文件时,不需要在每一个目录下都存放该文件,只要在某个固定的目录下存放,然后在其它的目录下用命令链接(link)它即可,不必重复的占用磁盘空间,
硬链接指通过索引节点来进行的链接。
在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),文件属性保存在索引结点里,系统是通过索引节点(而不是文件名)来定位每一个文件。
在Linux系统中,可以通过命令让多个文件名指向同一索引节点,这多个文件即为硬链接文件。
符号链接可以建立对于文件和目录的链接,硬链接只能建立对文件的链接;符号链接可以跨文件系统,即可以跨磁盘分区,硬链接不可以跨文件系统;符号链接的文件类型位是l,链接文件具有新的i节点,硬链接的文件类型位是“-”,且硬链接文件的i节点同被链接文件相同。
第3章Linux的VIM编辑器
1.vim有几种工作模式?
各模式之间如何转换?
第4章Linux系统管理基础
1.简述Linux系统引导过程.
2.在Linux系统中运行级别分为几级?
分别有何特点?
系统的运行级别是系统运行时所处的一种状态,不同的运行级别在用户登录及使用上有一些不同。
Linux系统提供7种运行级别,7种运行级别定义如下:
运行级别0:
系统停机状态,系统默认运行级别不能设为0,否则不能正常启动。
运行级别1:
单用户工作状态,root权限,用于系统维护,禁止远程登陆。
运行级别2:
多用户状态(没有NFS支持)
运行级别3:
完全的多用户状态(有NFS),标准运行级别,登录后进入命令行模式。
运行级别4:
系统未使用,保留.
运行级别5:
多用户模式,X11控制台,登录后进入图形GUI模式.
运行级别6:
系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动。
3.关闭系统的shutdown、halt、reboot、init命令各有何特点?
(1)shutdown命令:
使用shutdown命令可以安全的关闭Linux系统,shutdown命令是用shell编写的程序,必须由超级用户才能执行,shutdown命令执行后,会以广播的形式通知正在系统中工作的所有用户,系统将在指定的时间内关闭,请保存文件,停止作业,注销用户.shutdown命令的语法格式:
shutdown[—fFhknrc(参数名称)][—t秒数]时间[警告信息]
(2)halt命令:
halt是最简单的关机命令,相当于shutdown–h组合,halt执行时,kill掉所有应用程序,然后调用系统指令sync,sync将所有内存信息通过文件系统写入硬盘,然后停止内核.Halt命令格式:
#halt
(3)reboot命令:
reboot命令的执行过程与halt基本类似,不同的是halt是用于关机,而reboot是关机后引发系统重启。
命令格式:
#reboot
(4)init命令:
init进程是所有进程的祖先,其进程号始终为1,init命令主要用于系统不同运行级之间的切换,切换的工作是立即完成的。
4.Linux系统用户的类型都有哪些?
(1)超级用户
(2)普通用户(3)特殊用户
5.Linux用户管理有哪几种方法?
(1)通过GUI方式管理
(2)通过修改用户管理相关配置文件管理
(3)通过系统管理命令管理
6.Linux用户管理相关的文件有哪些?
解释文件内容。
在Linux系统中,主要使用/etc目录下的三个文件来维护用户及用户组的相关信息。
(1)/etc/passwd文件,其中存放关于账户相关的信息
(2)/etc/shadow文件,/etc/passwd的影子文件,来存放用户的加密口令。
(3)/etc/group文件,其中存放用户组相关的信息资料。
7.使用useradd命令添加用户student,然后使用userdel删除该用户。
(1)useraddstudent
(2)passwdstudent
(3)userdelstudent
8.Linux系统中设备如何标识?
用户是通过文件系统与设备接口的,所有设备都作为设备文件,设备文件的文件名一般由两部分构成,第一部分是主设备号,第二部分是次设备号.其中,主设备号代表设备的类型,可以唯一地确定设备的驱动程序和界面,如hd表示IDE硬盘,sd表示SCSI硬盘,tty表示终端设备,lp表示打印机等;次设备号代表同类设备中的序号,如hda表示IDE主硬盘,hdb表示IDE从硬盘,tty0表示编号为0的终端,lp0表示第一个打印机等。
9.如何进行u盘挂载?
卸载?
挂载u盘设备(假设u盘标识