一、填空题
- Linux 是一个基于命令行的操作系统,Linux 命令中的选项分为(长选项)和(短选项)。
- Linux 操作系统秉持“一切皆文件”的思想,将其中的文件、设备等都作为文件来操作和处理,因此文件处理与管理命令是 Linux 系统中最基础的命令。常用的文件处理与管理命令有(ls)、(cd)、(pwd)、(touch)、(mkdir)等。
- vi 编辑器有三种工作模式,分别是:(命令模式)、(插入模式)和底行模式。
- GCC 编译器的编译流程依次为(预处理)、(编译)、(汇编)和(链接)。
二、判断题
- grep 命令的功能是在文件中搜索与字符串匹配的行并输出。(√)
- vi 编辑器的三种工作模式可直接切换。(×)
- chmod 命令用于更改文件或目录的所有者。(×)
- GCC 编译器的编译流程依次为:编译、汇编、预处理、链接。(×)
- gzip 命令既能用于压缩文件,又能对压缩包解压缩。(√)
三、单选题
-
在以下选项中选出实现打印当前路径下所有文件名的命令。(C)
A. ls -l
B. ls
C. ls -a
D. ls -i
-
假设当前有一个文件 file1,其权限为 rwxr–r--,则在以下命令中,哪个命令可以使改文件所属组拥有对该文件的执行权限?(D)
A. chown g+x file1
B. chmod 644 file1
扫描二维码关注公众号,回复: 5379368 查看本文章C. chmod o+x file1
D. chmod a+x file1
-
假设 Linux 系统中不存在文件 newfile,现要创建一个新文件 newfile,以下哪个命令无法实现该功能?(D)
A. vi newfile
B. touch newfile
C. cp file /itheima/newfile
D. cd /itheima/newfile
-
下列各选项中哪个选项不属于 vi 编辑器的工作模式?(A)
A. 视图模式
B. 插入模式
C. 底行模式
D. 命令模式
-
从以下选项中选出 GCC 编译器的正确流程。(D)
A. 预处理、汇编、编译、链接
B. 预处理、链接、汇编、编译
C. 链接、预处理、汇编、编译
D. 预处理、编译、汇编、链接
-
以下关于 vi 编辑器的选项中,正确的是哪个?(A)
A. vi 编辑器的工作莫斯有三种,分别为命令模式、插入模式和底行模式
B. 在 vi 编辑器中,插入模式和底行模式可以直接切换
C. 在 vi 编辑器中,可通过 Esc 键从插入模式切换到底行模式
D. vi 编辑器的底行模式和命令模式间不需要切换
四、简答题
-
简单说明 vi 编辑器的工作模式,并画图说明各模式间的切换方法。
vi 编辑器共有三种工作模式,分别是:命令模式(command mode)、插入模式(insert mode)、底行模式(last line mode)。
-
简述 GCC 编译器的工作流程,并说明每步执行的内容。
GCC 的编译过程分为 4 个步骤,分别是预处理、编译、汇编和链接。
(1)预处理:主要处理源代码中以 # 开头的预编译指令和一些注释信息;
(2)编译:对经过预处理的文件进行语法、词法和语义分析,确定代码实际做的工作,若检查无误,则声称相应的汇编文件;
(3)汇编:将编译后生成的汇编代码转换为机器可以执行的命令,即二进制指令;
(4)链接:组装各个目标文件,解决符号依赖和库依赖关系,最终生成可执行文件。
五、编程题
-
使用 vi 编辑器编写程序并执行,要求程序可向终端打印字符串。
$ vi print_string.c
#include <stdio.h> int main() { printf("string\n"); return 0; }
$ gcc print_string.c -o print_string $ ./print_string string
-
使用 vi 编辑器编写程序,实现简单的加法功能,且将执行结果打印到终端。
$ vi add_func.c
#include <stdio.h> int add(int a, int b) { return a+b; } int main() { printf("1+1 = %d\n", add(1, 1)); return 0; }
$ gcc add_func.c -o add_func $ ./add_func 1+1 = 2