《Linux系统应用与开发教程》所有课后习题和答案 下载本文

输入命令logout,则又回到登录界面,可以重新登录。 21. 如何安全关闭Linux系统?

在图形界面下,选择【系统/关闭】命令,选择【关闭系统】按钮执行关闭命令,系统关闭自身所有进程。也可以在注销后出现的重新登录界面上选择【关闭】按钮来关闭系统。某些计算机会在关闭系统后自动切断电源,如果计算机不这样做,那么,当看到―Power down.‖消息后,便可以手工切断计算机的电源。

可以在控制台执行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有几个虚拟终端?如何在不同终端之间切换?如何在x Window与终端之间进行切换?

通常情况下,Linux默认启动六个虚拟终端。虚拟控制台的选择可以通过按下键和功能键(n=1~6)来实现。如果启动方式选择了直接启动X Window,那么X Window在第七个虚拟终端上。在X Window图形操作界面中按(n=1~6)就可以进入控制台字符操作界面。在控制台操作界面里按即可回到刚才的X Window。 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命令将多个文件连接起来显示?

使用命令:cat file1 file2 ….就可以将多个文件首尾相连显示在屏幕上。 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 -p A/B

16.给出查找/usr目录下大小超过50k并且最近 2小时内被更新过的文件的命令。 查找/usr下大小超过50k的文件: find /usr/ -size 50k –cmin -120

17.如何使用命令完成把当前工作目录切换到/root并显示是否切换成功? 首先使用pwd命令查看切换之前的目录,然后执行命令cd /root; 最后使用pwd命令查看当前目录,看是否是/root,如果是表示切换成功。

18.给出命令将当前目录下的文件file 的时间记录改成2005年 5 月 10日18 点 30 分。 执行命令:touch -t 0505181830 file 或者命令 touch -d \05/10/2005\file 19.如何执行tar命令对文件执行备份和恢复? 备份:tar cvf xx.tar * 或者 tar czvf xx.tar.gz * 恢复tar cvf xx.tar 或者 tar czvf xx.tar.gz

20.给出命令将当前目录下的所有c程序备份并为一个文件。 Tar cvf xx.tar *.c 或者 tar czvf xx.tar.gz *.c

21.假设有一个rpm包的软件:software-1.2.3-1.i386.rpm,简述软件的命名含义,并说明如何安装及如何查看是否已经安装?

software-1.2.3-1表示软件名称和版本,i386表示该软件是为386体系结构机器编写编译的,rpm表示该软件使用rpm软件包管理工具打包。 安装命令为: rpm –i software-1.2.3-1.i386.rpm 查看命令为:rpm –q software-1.2.3-1.i386.rpm

22.下面是执行―ls –l software‖命令得到的信息,通过联机帮助,解释这些信息: 第1个域表示文件的访问权限; 第2个域表示硬链接的个数 第3个域表示文件的所有者 第4个域表示文件所属的群组 第5个域表示文件大小

第6个域表示文件最近一次修改的时间 最后一个域表示软件名称。

第3章 vi编辑器的使用

1. vi有几种工作模式,各工作模式之间如何进行转化?

vi有三种基本工作模式,分别是:命令模式(command mode)、插入模式(insert mode)和底行模式(last line mode)三种模式之间的转换如下图。

2. 在vi中如何保存正在编辑的文件?

在命令模式下,连按两次大写字母,若当前编辑的文件曾被修改过,则vi保存该文件后退出,返回到shell;若当前编辑的文件没被修改过,则vi直接退出,返回到shell。 在末行模式下,有几种命令可以保存文件:

1) :w vi保存当前编辑的文件,但并不退出vi,而是继续等待用户输入命令。 2) :w 把当前文件的内容保存到指定的文件newfile中,而原有文件保持不变。若newfile是一个已存在的文件,则vi在窗口的状态行给出提示信息: File exists (use ! to override)

表示指定的文件已经存在,如果要替换原有内容,需要使用―!‖。

3) :w! 把当前文件的内容保存到指定的文件newfile中,如果newfile已经存在,则覆盖原有内容。

3. 有几种方法可以退出vi编辑器?

在末行模式下,有四种方法可以退出vi返回到shell:

1) :q 系统退出vi返回到shell。在用此命令时,若编辑的文件没有被保存,则vi在窗口的最末行显示如下信息:

No write since last change (use ! to overrides)

提示用户该文件被修改后没有保存,需要使用!放弃保存。出现此提示后,vi并不退出,继续等待用户命令。

2) :q! vi放弃所作修改而直接退到shell下。 3) :wq 先保存文件,然后再退出vi返回到shell。 4) :x 该命令的功能与命令模式下的ZZ命令功能相同。 4. 如何让屏幕上显示正在编辑的文件的行号? 在末行方式下输入如下命令即可给文本加行号: :set number 或者:set nu

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命令; 滚屏命令:< Ctrl+u >< Ctrl+d >

分页命令:< Ctrl+f >或者、< Ctrl+b >或者 屏幕调零命令: