0.0921

五煦查题

快速找到你需要的那道考题与答案

尔雅Linux开发环境及应用_2章节答案(学习通2023课后作业答案)

96 min read

尔雅Linux开发环境及应用_2章节答案(学习通2023课后作业答案)

第一周 系统状态查看工具;文本文件处理

《第一周单元测验》(一)

1、尔雅下面哪些部件不是发环一台物理上的字符终端必须具备的?
A、以太网网卡
B、境及磁盘存储器
C、应用业答串行通信口
D、章节显示器
E、答案键盘

2、学习C语言编写的通课应用程序,通过printf打印一个换行符\n,后作但在终端上执行的尔雅是回车加换行\r\n,把换行符替换为回车换行是发环由下面哪个软件模块完成的?
A、Linux内核中的境及行律模块
B、终端上的应用业答接收程序进行加工
C、Linux的章节串口驱动程序
D、应用程序中的答案C语言函数库
E、C语言实现printf功能的动态链接库

3、Linux超级用户的用户名为:
A、root
B、administrator
C、admin
D、supervisor

4、了解系统当前的时间是几点几分,使用下列哪个命令?
A、date
B、time
C、ntptime
D、cal
E、calender

5、下面哪个命令可以获得某进程占用的逻辑内存大小?
A、top
B、ps
C、vmstat
D、free
E、uptime

6、下面哪个命令可以了解目前系统CPU的空闲情况?
A、uptime
B、vmstat
C、top
D、who
E、free
F、ps

7、终端仅仅是Linux主机的一个外部设备,不分担存储和计算工作。

8、传统的终端与Linux主机之间传输的是字节流。

9、终端转义序列的意义在于终端收到某一特定字符序列后执行一些约定好的控制功能,而不是把这些字符显示在显示器上。

10、在终端按下Ctrl-C按键一般会导致一个死循环程序中止运行,这是因为按下Ctrl-C之后终端并不向Linux输送字符,而是通过RS232接口的一条特殊信号线通知Linux主机,将进程终止。

11、系统在创建用户的时,可以指定这个用户登录成功后执行哪个命令,一般是shell,也可以是程序员自己开发的软件,甚至shutdown。

12、Linux命令不区分字母的大小写,一般习惯用小写字母。

13、直接执行bc命令,后面不带任何选项,除法计算时保留小数点后20个有效数字。

14、Linux中超级用户的权限很大,可以读取普通用户的口令值。

15、ps列出的进程启动时间STIME和占用CPU的时间TIME,一般来说TIME值等于当前时间减STIME得数。

16、Linux把物理终端,或者虚拟终端,都处理成设备文件。只要写这个设备文件,就会把数据发送到终端的显示屏幕上。

17、ps命令显示进程占用内存的大小SZ,这表示该进程占用了多少物理内存。

18、free命令报告处于free状态的内存非常低,这意味着系统内存配置不足。

《第一周单元测验》(二)

1、使用more命令逐屏显示文本文件时,使得显示内容上滚一行而不是滚动一屏,应按下哪个键?
A、回车
B、空格
C、向下的箭头键
D、Esc键
E、Ctrl-L

2、使用less命令逐屏显示文本文件时,使得显示内容上滚一行而不是滚动一屏,应按下哪个键?
A、回车
B、向下的箭头键
C、Esc键
D、空格键
E、Ctrl-L

3、Linux中用来实现计数功能,比如:统计系统有多少个登录用户,实现计数功能的命令是:
A、wc -l
B、uniq -c
C、sort -n
D、count
E、cnt -s

4、Linux使用|符号连接两个命令使用管道机制,设计管道机制的目的是:
A、将前一个命令的输出作为下个命令的输入,提供更灵活的功能
B、为了使得一个命令可以处理多个文件中的数据
C、为了多个数据文件的处理并行进行
D、强制多个数据文件的处理按照串行方式逐个处理

5、uniq命令可以通过它的选项,选择打印所有只出现一次的行,或者打印出现不只一次的行,或者两种都选。但无论哪种情况,重复出现的行最多只能打印一次。

6、一个应用程序的C语言源程序通过printf语句在标准输出输出信息,运行时只要使用输出重定向机制,不需要修改原先的程序加入文件操作的代码,就可以把输出结果存入指定名字的文件。

7、less命令时more命令的一个简化版本,精简后功能比more弱,但更节约内存和CPU

8、od命令可以实现用16进制方式逐字节打印一个文件内容的功能,但要求文件的每个字节必须是可打印字符。

9、tail命令的-f选项可以让tail命令持续运行下去,持续地将它操作的文本文件新增的数据显示出来。如果这个文本文件被其他进程随时间推移断断续续追加几行,tail也会断断续续地输出这些新增的内容。

10、可以为tee命令提供一个文件名abc.log,例如:xyz | tee abc.log 那么,通过管道的方式可以把前面xyz命令的输出结果在当前终端上显示的同时也存入磁盘文件abc.log,可供事后查阅。如果以某用户正在使用的终端的设备文件名(如/dev/pts/2)代替文件名abc.log,那么,这个xyz命令执行时的输出就会同时在两个终端上实时显示。就算是把前面的xyz命令换成vi也是完全可能的,也就是说完全可能在第二个终端上实时看到第一个终端上的编辑画面。

11、信息由一个个字节组成,tr命令处理这些信息时,可以将256种字节值中的255种取值“翻译”为另一个字节值,唯有字节值为0时无法转译,因为一个字节的8个比特全为零被用作字符串结尾。

12、不带任何选项的uniq命令消除数据中重复的行。一旦某一行出现过,uniq会记录下来,以后无论这一行在以后什么地方再次出现,输出时都会被忽略,保证数据的唯一行。

13、信息由一个个字节组成,tr命令处理这些信息时,可以将256种字节值中的任何一种取值“翻译”为另一个字节值,并且不限于可打印字符之间的转译,比如把换行符替换为斜线。

第二周 正则表达式

《第二周单元测验》

1、下列哪个不是单字符正则表达式?
A、*.*
B、$
C、*
D、\.
E、.
F、[i-k]
G、\\
H、@

2、可以与正则表达式A[i-k]*b[i]*c匹配的最短字符串长度为:
A、6
B、3
C、2
D、4
E、5
F、7

3、能与正则表达式a.x[i-j]*b[i-j]匹配的字符串为:
A、a-xibi
B、a*xbj
C、axibj
D、a.x[i-j]*b[i-j]
E、a-x[i]*b[j]

4、与字符串A1234不匹配的正则表达式有:
A、A.*
B、A12*4
C、A*4
D、A12345*
E、A[0-9]*
F、[A-Z][0-9]*
G、AB*1234
H、A[index1]*234

5、grep和fgrep都可以从一个文本文件中搜索出指定的字符串。

6、fgrep,grep,egrep三个命令在指定待查找字符串的模式方面,依次越来越灵活,后面的命令可以覆盖前面命令的功能,并且模式描述的语法也是完全兼容的。

7、命令cat pm.txt | sed ‘s/\[[^][]*]//g’ 可以把pm.txt中所有用方括号括起来的内容(包括方括号自身)类似“ [参考文献23] ”这样的字符串片段删除。

8、grep可以筛选出包括某些特定模式的文本行,awk不仅可以筛出指定模式的行,还可以筛掉文本型表格中的部分列。

9、正则表达式<[^<>]*>可以匹配一个HTML格式数据中的诸如<span class="src-time">这样的用尖括号包裹起来的标签信息。

10、awk是一门小型的文本数据处理语言,有类似C语言一样的语法,可以使用自定义的变量,变量之间可以进行算术运算、关系运算和逻辑运算,还可以进行正则表达式匹配运算,支持条件、循环等流程控制。

第三周 文件比较;vi;文件通配符

《第三周单元测验》

1、vi处于文本输入状态时,按下下列哪个按键可以返回命令状态?
A、Esc
B、^
C、$
D、%
E、.
F、/

2、vi处于命令状态时,按下下列哪组按键可以把正在编辑的内容保存到磁盘上?
A、ZZ
B、:wq回车
C、:w回车
D、Ctrl-S
E、zz
F、Ctrl-G
G、Ctrl-Z

3、Linux终端按下Ctrl-S按键后,导致终端被锁死,必须按下下列哪个键才能恢复?
A、Ctrl-Q
B、F5
C、Insert
D、Alt-S
E、Ctrl-Z
F、Ctrl-D
G、Ctrl-C
H、End
I、Home

4、在windows中*.*可以匹配所有文件,但在Linux有的文件名与*.*不匹配,下列哪个不匹配? abc Makefile .profile comp.exe sort.c find.obj readme.text admin-ver3.1.2sp.tar
A、abc
B、Makefile
C、.bash_profile
D、comp.exe
E、sort.c
F、output.obj
G、readme.text
H、admin-2.1.4sp.tar

5、md5sum计算出位于两台不同计算机上的两文件的校验和是相同的,我们就认为两个文件的内容是完全相同的,无论这两个文件有多大。两计算机之间仅交换16字节的校验和就可以完成文件内容的比较。

6、diff命令可以求出两个文件中的差异,无论文件是而二进制的数据文件,还是文本文件。

7、diff命令的输出有normal和unified等格式选择,无论哪种格式,都能表达出从一个文本文件迁移到另外一个文本文件需要增加,修改和删除哪些文本行。

8、diff命令的默认输出格式为normal格式,输出格式与流行的版本管理软件git相同。

9、Linux与Windows系统文本文件的存储格式完全一样。

10、中文UTF-8编码是常见编码形式GBK编码的一个超集,是对GBK编码的扩展,完全兼容GBK。

11、Linux文件名由若干字符构成,某些有特殊用途的字符,如:*|():等,不允许用做文件名。

第四周 文件管理和目录管理

《第四周单元测验》

1、ls –l未能列出下面哪个文件属性?
A、文件类型
B、文件主
C、文件占用多少存储空间
D、文件最后一次修改时间

2、查找子目录src下所有后缀为.txt的文件执行dos2unix命令,把文件从Dos格式转换为Linux格式,正确的命令是
A、find src \*.txt –exec dos2unix { } \;
B、find src “*.txt” –exec dos2unix { } \;
C、find src \*.txt –exec dos2unix { }\;
D、find src “*.txt” –exec dos2unix { } \;
E、find src \*.txt –exec dos2unix { };
F、find src “*.txt” –exec dos2unix { }\;
G、find src *.txt –exec dos2unix { } ;

3、ls与ls *的输出结果是一样的,都是列出当前目录下所有文件和子目录。

4、命令cp src/*.[ch]可以把src目录下的C语言源程序文件拷贝到当前目录。

5、rm命令的-f选项是force:“强制删除”,可能会将只读文件强制删除不给出任何提示。

6、rm命令的–r选项是递归(resursion)的意思,rm -rf *命令能把当前目录下的所有文件都删除。

7、pwd和cd都是shell的内部命令,而且不可能设计成外部命令。

8、cp命令的-r选项可以实现增量拷贝,也就是说,如果目的端文件存在并且最后一次修改时间晚于或者等于源端文件,那么这次拷贝动作被忽略,否则,就执行拷贝动作。

9、使用find命令的-exec选项启用一个命令处理符合条件的文件,比find结合xargs的方式,花费更多的CPU时间。

10、tar命令输出文件的后缀必须符合规定,为.tar,.tar.gz, .tgz, .tar.bz2等,否则无法解包。

第五周· Linux命令风格;文件系统

《第五周单元测验》

1、与windows中“格式化磁盘”功能相对应的Linux命令是
A、mkfs
B、mount
C、dd
D、fdisk
E、format

2、在Linux文件系统中,文件名也存放在磁盘上,存放于磁盘的下述哪个区域
A、引导块
B、管理块
C、节点区
D、文件存储区

3、传统Linux的i节点中不包括下面哪个时间?
A、诞生(birth)时间btime
B、修改(modify)时间mtime
C、C改变(change)时间ctime
D、访问(access)时间atime

4、一个命令可以从命令行参数中获取处理选项,也可以从环境变量中获取,这些选择是命令设计者做出的,操作系统没有强行限制。

5、命令ln只允许对普通文件建立硬链接,不允许对目录建立硬链接,所以,所有目录的link数均为1

6、Linux不允许对目录执行硬链接以构成更加灵活的网状目录组织方案,是因为文件系统的存储结构的局限性导致了这种现象的发生,目录组织被迫只能局限为树状层次结构。

7、所有符号链接可以实现的功能,都可以通过硬连接实现。

8、符号链接的内容可以是“绝对路径”也可以是“相对路径”,相对路径指的是相对于符号链接文件所处位置,而不是相对于进程的当前工作目录。

9、无论采用符号链接还是硬链接,都可以实现将只存储一份的数据文件同时加入到两个或两个以上不同目录中。

10、系统调用的返回值为0,表示系统调用失败,非0表示成功。系统调用失败时可以通过全局变量errno获取失败原因

第六周 文件和目录的权限;Shell的基本机制

《第六周单元测验》

1、修改已有文件的权限使用的命令是
A、chmod
B、chown
C、umask
D、chgrp

2、进程新创建的文件的权限受下列哪个系统调用的影响?
A、umask
B、chmod
C、chown
D、stat

3、在交互式bash的命令提示符下输入!v并按下回车,其功能是:
A、引用别名机制,执行别名v定义的功能
B、引用历史机制,重复执行最近输入的以v开头的命令
C、引用历史机制,重复执行最近命令中含有v字符的命令
D、在别名表中取消别名v的定义

4、bash的重定向符<<<的作用是
A、指定一个定界符,脚本文件中两个定界符之间的信息作为命令的标准输入
B、读取前一命令刚刚读过的文件的剩余部分作为命令的标准输入
C、将重定向符后面的单词作为这个命令的标准输入
D、将重定向后面的单词作为一个文件名,将这个文件的全部内容作为命令的标准输入

5、在Linux中用户可以把他的某个文件设置为他本人不可以读、写、执行,但是与他同组的人可以读、可以执行,即使他是该组的成员之一也无法读取文件。

6、Linux中如果文本文件具有可执行属性,那么运行时需要启动一个程序逐行解释执行文本文件(脚本)中的文本行。选择哪个程序解释脚本中的文本行,可以自包含在脚本程序中,而不是仅仅依靠文件名后缀选择解释程序。

7、对于目录来说,x权限没有意义。所以,一个目录有无x权限,不影响对目录的访问。

8、一个文件如果具有只读权限,也就是权限为r--r--r--,那么,不允许任何人修改这一文件的内容,也就意味着文件不可以被删除。

9、命令执行时在终端上显示的信息有些属于标准输出stdout,有些属于标准错误输出stderr。显示信息到底属于stdout还是stderr,这取决于命令提供者如何设计的程序,与操作员无关。

10、命令./myap 2>&1 | more可以把stderr合并到stdout并且每显示满一屏后暂停显示,等待操作员按键;类似的,命令./myap 2>&1 >myap.log可以把stderr合并到stdout,终端上不会再显示信息,本来在终端上显示的信息全部存入文件myap.log中。

第七周 替换、元字符和转义

《第七周单元测验》

1、bash通过“替换”提供灵活性,下述哪个不属于基本bash替换
A、正则表达式替换
B、变量替换
C、文件名生成
D、命令替换
E、别名替换
F、历史替换

2、下列哪个字符不属于bash的元字符
A、#
B、/
C、%
D、<
E、&
F、\
G、$
H、"
I、,

3、下列哪个字符不属于bash的元字符
A、@
B、{
C、:
D、.
E、>
F、|
G、*
H、;

4、bash中的变量跟C语言中的变量不同,变量赋值和使用之前不需要变量类型定义,变量存储的内容只是字符串,字符串长度不定。

5、bash变量有环境变量和局部变量两种类型,环境变量与全局变量一样,在其生命期内,某个进程对环境变量的修改结果其他进程可见。

6、无论是C语言编写的源程序经编译链接得到的可执行文件还是bash脚本,都能访问环境变量得到其取值,而环境变量的创建与赋值可以一直推迟到相关的可执行程序运行之前由操作员完成。

7、环境变量PATH的值有特别的含义,一般不会把当前目录.或者上一级目录..作为PATH的分量,主要是出于多用户环境下的安全考虑。

8、bash脚本程序的后缀必须是.sh,否则即使把文件权限设置为“可执行”,也无法正常运行。

9、单引号与双引号的区别在于,双引号括起来的这部分文字中取消了所有元字符的特殊含义只维持其字面值,而单引号与双引号类似,但保留了少数几个元字符维持其特殊含义,以便于保持灵活的替换。

10、echo \*和echo '*'以及echo "*"三个命令的执行结果是一样的,echo命令根本无法区别操作员输入的是这三个命令中的哪一个。

第八周 shell流程控制:条件、循环与函数

《第八周单元测试》

1、将下列bash代码改写为功能等价的代码,正确的是: if test -w errfile then cat errfile >> $LOGFILE rm errfile fi
A、[ -w errfile ] && { cat errfile >> $LOGFILE;rm errfile;}
B、if test -w errfile then cat errfile >> $LOGFILE rm errfile fi
C、if [ -w errfile ] { cat errfile >> $LOGFILE rm errfile }
D、if test -w errfile; then { cat errfile >> $LOGFILE; rm errfile;}

2、下述命令的输出结果是什么? expr `pwd` : '^/\([^/]*\).*$'
A、获取当前工作目录的路径名的第一个分量
B、获取当前工作目录的路径名的最后一个分量
C、获取当前工作目录的路径名字符串的长度
D、输出结果为空字符串

3、每隔3秒钟一次列出文件data.txt的大小,不正确的程序为:
A、while sleep 3;do ls -l data.txt;done
B、while true; do sleep 3; ls -l data.txt; done
C、while true do ls -l data.txt sleep 3 done
D、while true do sleep 3 ls -l data.txt done

4、bash输入下列一行回车后导致当前bash终止运行,下面哪个说法是正确的? a() { a;};a
A、系统资源发生了死锁
B、将左花括号与a之间的空格删掉,bash就不会异常中止
C、缺少递归出口,导致函数的无穷递归,最终耗尽了CPU资源,bash异常中止
D、这段程序语法错误,导致bash异常中止

5、如何在bash中增加注释文字?
A、以#领头,直到行尾的文字都视为注释
B、以//领头,直到行尾的文字都视为注释
C、以;领头,直到行尾的文字都视为注释
D、以/*和*/包裹的内容都视为注释

6、C语言程序中子程序main的返回值是一个整数,这个返回值无法被当前进程的代码引用,但是可以被父进程利用。父进程用来判断子进程退出的状态。在bash中,将子进程main函数的返回值用于判断命令执行成功与否的条件判断,main函数返回非0为成功,返回0为失败。

7、bash支持复合条件,也就是条件的“与”以及“或”,分别用符号&&和||连接两个命令。

8、bash中可以使用花括号{ }或圆括号()将若干个命令组合为一个复合命令,两者的区别在于花括号方式会在新的子shell中顺序执行这一组命令中的各个命令,圆括号方式是在当前shell进程中执行。

9、bash的内部命令eval可以把程序运行期间实时生成的数据当成程序来运行。

10、由于for是bash的内部命令,就如同C语言中的保留关键字一样,系统不可以设计一个名字为for的可执行文件。因为即使有名为for的可执行文件,也无法将其投入运行,操作员在交互式bash输入的一行的第一个单词是for,就会被bash解释为for循环控制。

学习通Linux开发环境及应用_2

一、Linux的文件系统

Linux的文件系统采用树形结构,根目录是\\。下面是一些重要的目录:

  • /bin:存放二进制可执行文件
  • /dev:存放设备文件
  • /etc:存放系统配置文件
  • /home:存放用户主目录
  • /lib:存放共享库文件
  • /mnt:挂载点目录
  • /opt:存放第三方软件包
  • /proc:虚拟文件系统,包含系统运行时的信息
  • /root:管理员的主目录
  • /sbin:存放二进制可执行系统程序
  • /tmp:存放临时文件
  • /usr:存放用户程序和文档
  • /var:存放系统日志和运行时数据

注意:在Linux中,文件和目录的名称是区分大小写的。

二、Linux的权限管理

Linux的文件权限分为三类:所有者、用户组、其他人。每一类权限包括读取、写入、执行三种。用数字表示的权限为读取-4、写入-2、执行-1。例如,读、写、执行权限为\rwx\的文件用数字表示的权限为\7\。

可以使用chmod命令修改文件的权限。例如:

chmod 755 file_name

表示将file_name文件的所有者权限设置为读、写、执行,用户组和其他人的权限设置为读、执行。

可以使用chown命令修改文件的所有者。例如:

chown user_name file_name

表示将file_name文件的所有者设置为user_name。

可以使用chgrp命令修改文件的用户组。例如:

chgrp group_name file_name

表示将file_name文件的用户组设置为group_name。

三、Linux的软件包管理

Linux的软件包管理有多种方式,其中最流行的是使用包管理器。常见的包管理器有yum和apt-get。

yum是基于RPM的包管理器。RPM是一种软件包格式,可以包含二进制文件、配置文件、文档等。yum可以从存储在服务器上的RPM软件包中安装、删除和更新软件。例如:

yum install package_name

表示安装package_name软件包。

apt-get是Debian和Ubuntu的包管理器。它可以从存储在服务器上的.deb软件包中安装、删除和更新软件。例如:

apt-get install package_name

表示安装package_name软件包。

四、Linux的编辑器

Linux中有多种文本编辑器,其中最常见的是vi和nano。

vi是一种功能强大的文本编辑器,它的操作方式有些特别。首先,进入vi编辑器需要使用vi命令。例如:

vi file_name

表示打开file_name文件进行编辑。然后,需要进入命令模式才能执行一些操作,例如保存文件。命令模式下可以使用\w\保存文件,\q\退出编辑器,\wq\保存并退出编辑器,\q!\强制退出编辑器而不保存文件。在命令模式下按下\i\可以进入插入模式,此时可以进行文本插入。按下\ESC\键可以退出插入模式。

nano是一种比较简单的文本编辑器,它的操作方式较为简单。首先,进入nano编辑器需要使用nano命令。例如:

nano file_name

表示打开file_name文件进行编辑。然后,已经进入插入模式,可以进行文本插入。按下\CTRL+X\可以保存文件并退出编辑器,按下\CTRL+O\可以保存文件但不退出编辑器,按下\CTRL+G\可以调出帮助信息。

五、Linux的常用命令

以下是Linux中常用的一些命令及其作用:

  • ls:列出目录中的文件
  • cd:切换当前目录
  • pwd:显示当前所在目录的路径
  • mkdir:创建目录
  • touch:创建空文件
  • cp:复制文件
  • mv:移动或重命名文件
  • rm:删除文件
  • cat:显示文件内容
  • more:分页显示文件内容
  • less:分页显示文件内容,支持向前翻页
  • grep:搜索文本
  • tar:归档/解归档文件
  • zip/unzip:压缩/解压缩文件
  • ping:测试网络连接
  • ifconfig:查看网络接口的配置信息
  • ps:查看进程信息
  • kill:终止进程
  • top:实时显示系统资源占用情况

六、总结

Linux作为一种开源操作系统,具有高度的灵活性和可定制性。对于开发人员来说,掌握Linux的开发环境和应用是非常必要的。本文介绍了Linux的文件系统、权限管理、软件包管理、编辑器和常用命令等方面的内容,希望能对读者提供帮助。