Linux编程基础:第2章命令与开发工具 课后习题_linux黑马课后作业答案第二章-程序员宅基地

技术标签: 经验分享  Linux  运维  linux  服务器  职场和发展  

《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编辑器的插入模式和底行模式不能直接切换。

四、简答题

1、简单说明Vi编辑器的工作模式,并画图说明各模式间的切换方法。

Vi编辑器的工作模式分为命令模式、插入模式和底行模式,其中命令模式可执行光标移动、删除、复制、粘贴等操作;插入模式可实现文本编辑操作;底行模式可实现退出、查找等功能。Vi编辑器各模式之间的转换方式如图所示。

2、简述GCC编译器的工作流程,并说明每步执行的内容。

GCC的编译过程分为四个步骤,分别是预处理、编译、汇编和链接。预处理阶段主要处理源代码中以“#”开头的预编译指令和一些注释信息;编译阶段GCC会对经过预处理的文件进行语法、词法和语义分析,确定代码实际要做的工作,若检查无误,则生成相应的汇编代码文件;汇编阶段将编译后生成的汇编代码转换为机器可以执行的命令;链接的过程是组装各个目标文件的过程,在这个过程中会解决符号依赖和库依赖关系,最终生成可执行文件。

五、编程题

1、使用Vi编辑器编写程序并执行,要求程序可向终端打印字符串。

①使用vi命令创建并打开文件hello.c;

②使用按键i进入插入模式,在文件中编写如下代码:

#include <stdio.h>
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 <stdio.h>
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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/WHT869706733/article/details/123112557

智能推荐

AttributeError: module 'tensorflow' has no attribute 'log'-程序员宅基地

文章浏览阅读1.6w次,点赞3次,收藏2次。查看安装的TensorFlow的版本import tensorflow as tf print(tf.__version__)如果是2.0的版本请修改为更低的版本试试,比如1.4或者以下版本_module 'tensorflow' has no attribute 'log

vue引用element-ui、echart、axios制作简单的表格、饼图页面_vue引用element-ui、echart、axios简单的表格、饼图页面】-程序员宅基地

文章浏览阅读3k次。效果展示表格组件中可以增删改、搜索数据,饼图为echart组件,两个组件的数据都是通过axios获取。vue文件结构Mylist组件中包含表格信息以及饼图、Myheader组件中包含添加信息功能。主要文件分别为App.vue ,Myheader.vue ,Mylist.vue ,xzf.json ,main.js.App.vue在app中使用axios获取infos表格信息,注册Myheader、Mylist两个组件。定义一个空数组infos,在method中函数..._vue引用element-ui、echart、axios简单的表格、饼图页面】

Subversion:版本控制_subversion 版本控制-程序员宅基地

文章浏览阅读1.6k次。搭建Subversion服务器1、软件下载服务器:Subversion服务器(VisualSVN Server也是一个不错的选择)客户端:TortoiseSVN,这是Subversion的windows客户端2、服务器和客户端安装:简单3、建立版本库(Repository)运行Subversion服务器需要首先要建立一个版本库(Repository),可以看作服务器上存放数据的数据库,在安装了Subversion服务器之后,可以直接运行,如:svnadmin create E:/svnd_subversion 版本控制

HTML实现动态效果的技术和工具_html动态效果-程序员宅基地

文章浏览阅读2.3k次。HTML实现动态效果的技术和工具_html动态效果

buuctf [ACTF新生赛2020]swp 1-程序员宅基地

文章浏览阅读132次。发现竟然可以分离出来部分文件,而且看其大小很明显有不少东西,可以查一下。分离后挨个点一点,最后发现zip里有flag,但是全都有加密保护。打开后按长度排序,再追踪TCP流,发现信息量太大了。干脆不管了,直接formost分离一下试一试。flag搜不到有用的东西,从头快速过一遍。63行就出现了,修改一下,提交。一同解压之后,获取一个流量包。_buuctf [actf新生赛2020]swp 1

Android SystemUI之StatusBar,状态栏(二)_systemui状态栏-程序员宅基地

文章浏览阅读1.2k次。systemui其实结构是比较复杂,里面管理各种服务,导航栏,状态栏,近期列表,下拉菜单,关机界面等,其中以导航栏和状态栏,近期列表用的比较多,也是本博文会重点讲解的内容。从结构上来讲下拉菜单和状态栏都是属于statusbar,结构树上也是属于顶层的super_status_bar.xml(StatusBarWindowView),说这么多还不如直接上图,这样大家看的比较清晰直观。_systemui状态栏

随便推点

C语言void关键字_void是c语言的关键字嘛-程序员宅基地

文章浏览阅读1.1k次。void关键字1.类型:void 是“空类型”。void 则为“空类型指针”,void 可以指向任何类型的数据。2.void作用: 对函数返回的限定 对函数参数的限定void a说明:因为void为无类型,在内存中偏移量为0,它声明变量a,a在内存中没有空间,所以无法定义且后面无法赋值从而报错。变量赋值条件: 1.”=”左边要指向一个有效的地址 2.”=”左边指向的有效_void是c语言的关键字嘛

MacBook(Air/Pro)安装windows后,没有WIFI功能?_macbook pro windows10 无线网-程序员宅基地

文章浏览阅读1.7k次。通过BOOTCAMP安装windows系统。当你安装好win10后会发现,电脑没有Wi-Fi,上不了网。文件夹,点击进入,然后运行setup,安装好后自动重启即可愉快的连上wifi上网了。mac装win10后wifi用不了,设置里没有WLAN这个选项。,驱动已存在电脑,打开。_macbook pro windows10 无线网

【python 的各种模块】(9) 在python使用PIL( 即pillow模块 ) 修改图片_python 修改图片-程序员宅基地

文章浏览阅读1.3k次,点赞21次,收藏18次。print('只读(1为只读): ', image.readonly)Pillow库的**thumbnail()**方法可以生成图像的缩略图。print('格式(扩展名): ', image.format)print('高度(px): ', image.height)print('宽度(px): ', image.width)print('尺寸(px): ', image.size)print('类别: ', image.category)print('颜色模式: ', image.mode)_python 修改图片

Java——匿名内部类_java 匿名类怎么缩写-程序员宅基地

文章浏览阅读1.2w次。/* * 匿名内部类, 就是内部类的简写形式。 * * 必须有前提: * 内部类必须继承或者实现一个外部类或者接口。 * 匿名内部类其实就是一个子类对象。 * * 格式:new 父类or接口名 {} */interface Inter{void show1();void show2();}_java 匿名类怎么缩写

自定义UIPickerView修改显示样式_自定义u-picker样式-程序员宅基地

文章浏览阅读4.8k次。自定义UIPickerView修改显示样式_自定义u-picker样式

Sicily 算法模拟题 1001_中山大学sicily编程平台上机考试-程序员宅基地

文章浏览阅读233次。1001 函数求值定义超级和函数F如下:F(0, n) = n,对于所有的正整数n..F(k, n) = F(k – 1, 1) + F(k – 1, 2) + … + F(k – 1, n),对于所有的正整数k和n. 请实现下面Solution类中计算F(k, n)的函数(1 class Solution {public: int F(int k_中山大学sicily编程平台上机考试

推荐文章

热门文章

相关标签