第二章Linux命令与工具
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、gzip命令既能用于压缩文件,又能对压缩包解压缩。( √ )(使用“gzip -s”命令或“gunzip”命令,皆可解压.gz格式的压缩包)
三、单选题
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命令只用于切换目录。)
6、以下关于Vi编辑器的各选项中,不正确的是。 B
A、Vi编辑器的工作模式有三种,分别为:命令模式、插入模式和底行模式。
B、在Vi编辑器中,插入模式和底行模式可以直接切换。
C、在Vi编辑器中,可通过“Esc”从插入模式切换到底行模式。
D、Vi编辑器的底行模式和命令模式间无须切换。
四、简答题
1、简单说明Vi编辑器的工作模式,并画图说明各模式间的切换方法。
Vi编辑器的工作模式分为命令模式、插入模式和底行模式,其中命令模式可执行光标移动、删除、复制、粘贴等操作;插入模式可实现文本编辑操作;底行模式可实现退出、查找等功能。Vi编辑器各模式之间的转换方式如图所示。
2、简述GCC编译器的工作流程,并说明每步执行的内容。
GCC的编译过程分为四个步骤,分别是预处理、编译、汇编和链接。预处理阶段主要处理源代码中以“#”开头的预编译指令和一些注释信息;编译阶段GCC会对经过预处理的文件进行语法、词法和语义分析,确定代码实际要做的工作,若检查无误,则生成相应的汇编代码文件;汇编阶段将编译后生成的汇编代码转换为机器可以执行的命令;链接的过程是组装各个目标文件的过程,在这个过程中会解决符号依赖和库依赖关系,最终生成可执行文件。
五、编程题
1、使用Vi编辑器编写程序并执行,要求程序可向终端打印字符串。
该习题可在计算机中实现,具体操作步骤如下:
①使用vi命令创建并打开文件hello.c;
②使用按键i进入插入模式,在文件中编写如下代码:
#include
int main()
{
printf(“hello itcast.\n”);
return 0;
}
③使用按键Esc进入底行模式,输入“:wq”保存文本并退出。
④在命令行使用gcc编译器编译该文件,所用命令为:gcc hello.c –o hello。
⑤在命令行执行可执行文件,所用命令为:./hello。执行后打印结果如下:
hello itcast.
2、使用Vi编辑器编写程序,实现简单的加法功能,且将执行结果打印到终端。
该习题可在计算机中实现,具体操作步骤如下:
①使用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