《Linux编程基础》黑马程序员/编著 清华大学出版社
目录
一、填空题
二、判断题
三、单选题
四、简答题
1、简单说明Vi编辑器的工作模式,并画图说明各模式间的切换方法。
2、简述GCC编译器的工作流程,并说明每步执行的内容。
五、编程题
1、使用Vi编辑器编写程序并执行,要求程序可向终端打印字符串。
2、使用Vi编辑器编写程序,实现简单的加法功能,且将执行结果打印到终端。
1、Linux是一个基于命令行的操作系统,Linux命令中的选项分为(长选项)和(短选项)。
2、Linux操作系统秉持“一切皆文件”的思想,将其中的文件、设备等通通当做文件来操作和处理,因此,文件处理与管理命令是Linux系统中最基础的命令。常用的文件处理与管理命令有:(ls cd pwd touch mkdir cp mv rm rmdir(注:写出5个即可))等。
3、Vi编辑器有三种工作模式,分别是:(命令模式)、(插入模式)和底行模式。
4、GCC编译器的编译流程依次为:(预处理)、(编译)、(汇编)和(链接)。
1、grep命令的功能是在文件中搜索与字符串匹配的行并输出。 (√ )
2、Vi编辑器的三种工作模式间可直接相互切换。 ( × )
【解析】Vi编辑器的插入模式和底行模式不能直接切换。
3、chmod命令用于更改文件或目录的所有者。 ( × )
【解析】chmod命令用于更改文件或目录的权限,chown用于更改文件或目录的所有者,chgrp用于更改文件或目录的所属组。
4、GCC编译器的编译流程依次为:编译、汇编、预处理、链接。 ( × )
【解析】GCC编译器的编译流程依次为:预处理、编译、汇编、链接。
5、gzip命令既能用于压缩文件,又能对压缩包解压缩。 ( √ )
1、在以下选项中选出实现打印当前路径下所有文件名的命令。 ( C )
A、ls –l
B、ls
C、ls –a
D、ls –i
【解析】选项A、B、D中的命令都用于打印当前目录中文件的相关信息,但不包括隐藏文件;只有选项C中的命令“ls -a”会打印当前路径下所有文件的文件名。
2、假设当前有一文件file1,其权限为rwxr--r--,则在以下命令中,哪个命令可以使该文件所属组拥有对该文件的执行权限? ( D )
A、chown g+x file1
B、chmod 644 file1
C、chmod o+x file1
D、chmod a+x file1
【解析】更改文件权限的命令为“chmod”,排除选项A;使用选项B中格式为文件所属组提升权限时,第二个数字应为5或7;选项C中为其它人添加了执行文件的权限;选项D为所有人添加了执行文件的权限,包括文件所属组用户,因此选项D正确。
3、假设Linux系统中不存在文件newfile,现要创建一个新文件newfile,以下哪个命令无法实现该功能? ( D )
A、vi newfile
B、touch newfile
C、cp file /itheima/newfile
D、cd /itheima/newfile
【解析】选项A中用vi命令打开或创建一个文件newfile,若该文件不存在,该文件将会被创建;选项B中touch命令用于更改文件时间戳,若文件newfile不存在,touch命令将会创建新文件newfile;选项C中的cp命令用于复制一个文件到/itheima路径下,并命名为newfile,也会有新文件产生;选项D中的cd命令只用于切换目录。
4、下列各选项中哪个选项不属于Vi编辑器的工作模式? (A )
A、视图模式
B、插入模式
C、底行模式
D、命令模式
【解析】Vi编辑器的工作模式有3种,分别为命令模式、插入模式和底行模式。
5、从以下选项中选出GCC编译器的正确流程。 ( D )
A、预处理、汇编、编译、链接
B、预处理、链接、汇编、编译
C、链接、预处理、汇编、编译
D、预处理、编译、汇编、链接
6、以下关于Vi编辑器的各选项中,不正确的是。 ( B )
A、Vi编辑器的工作模式有三种,分别为:命令模式、插入模式和底行模式。
B、在Vi编辑器中,插入模式和底行模式可以直接切换。
C、在Vi编辑器中,可通过“Esc”从插入模式切换到底行模式。
D、Vi编辑器的底行模式和命令模式间无须切换。
【解析】Vi编辑器的插入模式和底行模式不能直接切换。
Vi编辑器的工作模式分为命令模式、插入模式和底行模式,其中命令模式可执行光标移动、删除、复制、粘贴等操作;插入模式可实现文本编辑操作;底行模式可实现退出、查找等功能。Vi编辑器各模式之间的转换方式如图所示。
GCC的编译过程分为四个步骤,分别是预处理、编译、汇编和链接。预处理阶段主要处理源代码中以“#”开头的预编译指令和一些注释信息;编译阶段GCC会对经过预处理的文件进行语法、词法和语义分析,确定代码实际要做的工作,若检查无误,则生成相应的汇编代码文件;汇编阶段将编译后生成的汇编代码转换为机器可以执行的命令;链接的过程是组装各个目标文件的过程,在这个过程中会解决符号依赖和库依赖关系,最终生成可执行文件。
①使用vi命令创建并打开文件hello.c;
②使用按键i进入插入模式,在文件中编写如下代码:
#include
int main()
{
printf(“hello itcast.\n”);
return 0;
}
③使用按键Esc进入底行模式,输入“:wq”保存文本并退出。
④在命令行使用gcc编译器编译该文件,所用命令为:gcc hello.c –o hello。
⑤在命令行执行可执行文件,所用命令为:./hello。执行后打印结果如下:
hello itcast.
①使用vi命令创建并打开文件_add.c;
②使用按键i进入插入模式,在文件中编写如下代码:
#include
int main()
{
int a,b;
printf(“请分别输入变量a、b:”);
scanf(“%d %d”,&a,&b);
printf(“sum=%d\n”,a+b);
return 0;
}
③使用按键Esc进入底行模式,输入“:wq”保存文本并退出。
④在命令行使用gcc编译器编译该文件,所用命令为:gcc _add.c –o _add。
⑤在命令行执行可执行文件,所用命令为:./_add。执行后打印结果如下:
请分别输入变量a、b:3 5
sum=8