全国计算机等级考试Linux应用与开发真题题库及答案_第1页
全国计算机等级考试Linux应用与开发真题题库及答案_第2页
全国计算机等级考试Linux应用与开发真题题库及答案_第3页
全国计算机等级考试Linux应用与开发真题题库及答案_第4页
全国计算机等级考试Linux应用与开发真题题库及答案_第5页
已阅读5页,还剩10页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

全国计算机等级考试Linux应用与开发真题题库及答案以下关于Linux内核版本命名规则的描述,正确的是()A.主版本号.次版本号.修订号,次版本号为奇数表示稳定版B.主版本号.次版本号.修订号,次版本号为偶数表示稳定版C.主版本号.修订号.次版本号,次版本号为奇数表示开发版D.主版本号.修订号.次版本号,次版本号为偶数表示开发版答案:B解析:Linux内核版本采用“主版本号.次版本号.修订号”的标准命名格式,其中次版本号的奇偶性用来区分版本类型,次版本号为偶数时代表经过测试的稳定发行版,奇数代表正在开发的测试版,因此B选项描述正确。Linux系统中,用于存储系统配置文件的目录是()A./binB./etcC./devD./home答案:B解析:Linux标准目录结构中,/bin目录存放所有用户可用的基础可执行命令;/etc目录存放系统和服务的配置文件,是系统配置的核心目录;/dev目录存放设备文件,Linux将所有硬件设备抽象为文件在此目录管理;/home目录存放普通用户的个人主目录,因此B选项正确。需要列出当前目录下所有隐藏文件,不显示目录本身内容,以下命令正确的是()A.ls-aB.ls-lC.ls-d.*D.ls-h答案:C解析:ls-a的作用是列出当前目录下所有文件包括隐藏文件,同时会显示普通非隐藏文件;ls-l是以长格式列出文件详情;ls-d.*表示匹配所有以.开头的隐藏文件(Linux隐藏文件命名规则是以点开头),且-d参数表示不展开目录内容,只列出目录本身,符合题目要求;ls-h是以人性化单位显示文件大小,因此C选项正确。某文件的权限描述为-rw-r–r–,将其转换为八进制权限数值是()A.644B.755C.640D.744答案:A解析:Linux文件权限将用户分为所有者、所属组、其他用户三类,每类权限分别对应读(r=4)、写(w=2)、执行(x=1)三个权限位。题目中-rw-r–r–,所有者权限是rw-,即4+2=6;所属组权限是r–,即4;其他用户权限是r–,即4,组合后八进制数值为644,因此A选项正确。以下关于硬链接和软链接的描述,错误的是()A.硬链接不可以跨文件系统创建B.软链接可以链接目录也可以跨文件系统C.删除原文件后,硬链接依然可以访问原文件内容D.删除原文件后,软链接依然可以正常访问内容答案:D解析:硬链接本质是原文件inode的多个入口,多个硬链接共用同一个inode,因此不能跨文件系统(inode只在同一个文件系统内唯一),删除原文件只是删除一个inode入口,剩余硬链接依然可以访问内容;软链接本质是一个保存原文件路径的特殊文件,删除原文件后,软链接保存的路径失效,无法访问原内容,因此D选项描述错误,符合题意。Linux系统中,等待CPU调度时间片的进程处于哪种状态()A.运行态B.就绪态C.阻塞态D.僵尸态答案:B解析:Linux进程的核心状态中,运行态是指进程正在CPU上执行;就绪态是指进程已经获取了除CPU之外的所有资源,等待调度获得CPU时间片,处于就绪队列;阻塞态也叫等待态,是进程等待某一事件(如IO输入)而暂停执行,即使给CPU时间片也无法运行;僵尸态是进程已经执行结束,资源未被父进程回收的状态,因此B选项正确。以下GCC编译C语言程序的流程顺序,正确的是()A.预处理->编译->汇编->链接B.预处理->汇编->编译->链接C.编译->预处理->汇编->链接D.编译->汇编->预处理->链接答案:A解析:GCC编译一个C源程序生成可执行文件,一共分为四个标准步骤:第一步是预处理,处理源文件中的#include、#define等预处理指令,生成预处理后的文件;第二步是编译,将预处理后的C代码编译为汇编代码;第三步是汇编,将汇编代码汇编为目标文件(二进制机器码);第四步是链接,将多个目标文件和用到的库文件链接,生成最终可执行文件,因此顺序为A选项正确。使用GCC编译test.c文件,指定生成的可执行文件名称为myapp,正确的命令是()A.gcctest.c-EmyappB.gcctest.c-SmyappC.gcctest.c-omyappD.gcctest.c-cmyapp答案:C解析:GCC参数中,-E表示只执行预处理,不进行后续编译;-S表示只执行到编译步骤,生成汇编文件后停止;-o用于指定输出文件的名称,符合题目要求;-c表示只编译汇编生成目标文件,不进行链接,因此C选项正确。Makefile中,自动变量$@代表的含义是()

A.所有依赖文件列表B.目标文件名称C.第一个依赖文件D.所有符合条件的头文件答案:B解析:Makefile常用自动变量中,@代表规则中的A.直接输入:wqB.按下ESC键C.按下i键D.按下o键答案:B解析:vim有三种基本模式:命令模式、插入模式、底线命令模式,任何模式下按下ESC键都可以回到命令模式,再从命令模式输入:进入底线命令模式。当前处于插入模式,首先需要按ESC回到命令模式,再输入:wq执行保存退出,因此第一步操作是按下ESC键,B选项正确。Linux系统中,创建一个新用户user1,同时创建该用户的主目录,正确的命令是()A.useradd-muser1B.useradd-duser1C.adduser-guser1D.userdel-ruser1答案:A解析:useradd命令中,-m参数表示创建新用户时自动创建用户主目录,默认会在/home目录下生成同名主目录;-d参数用于指定自定义的主目录路径;-g参数用于指定用户所属组;userdel是删除用户的命令,因此A选项正确。查看系统路由表信息的正确命令是()A.route-nB.ifconfigC.pingD.ssh答案:A解析:route-n命令以数字格式显示系统的路由表信息,常用于查看和配置路由;ifconfig用于查看网卡IP地址信息;ping用于测试网络连通性;ssh是远程登录命令,因此A选项正确。Linux系统中,将压缩文件test.tar.gz解压到当前目录,正确的命令是()A.tar-zxvftest.tar.gzB.tar-cvftest.tar.gzC.gzip-ctest.tar.gzD.tar-czftest.tar.gz答案:A解析:tar命令处理gzip压缩包的常用参数:z表示使用gzip压缩/解压算法,x表示解压,v表示显示解压过程,f指定压缩包文件名,因此tar-zxvftest.tar.gz就是将该压缩包解压到当前目录的正确命令;-c表示创建压缩包,因此B、D选项是创建压缩包的命令,不符合要求,A选项正确。以下哪种Git分支命名规范更符合团队开发约定()A.直接推送到main分支,不创建功能分支B.功能开发使用feature/功能名,bug修复使用bugfix/问题描述,版本发布使用release/版本号C.所有分支都用自己名字命名,不区分功能D.分支命名可以包含任意特殊字符,不需要规范答案:B解析:团队Git开发中,主流的分支命名规范会区分分支类型,功能开发分支以feature/开头,后跟功能名称,bug修复分支以bugfix/开头,后跟问题描述,预发布分支以release/开头,主分支保持为main或master,这种规范便于团队协作维护代码,避免分支混乱,因此B选项正确。C语言在Linux下开发中,关于静态库和动态库的描述,正确的是()A.静态库在编译链接时会把库代码直接复制到可执行文件中,生成的可执行文件运行不需要依赖静态库B.动态库在编译链接时只保存引用信息,运行时才加载动态库,可执行文件体积更小C.动态库升级后不需要重新编译链接可执行文件,只要替换动态库即可生效D.静态库生成的可执行文件体积比动态链接生成的可执行文件更大E.以上描述都正确答案:E解析:静态库和动态库是Linux下两种库文件格式,上述对两者特点的描述全部正确,静态库编译后整合到可执行文件中,运行不依赖,体积大;动态库运行时加载,体积小,升级方便,因此E选项正确。多项选择题以下属于Linux发行版的是()A.CentOSB.DebianC.UbuntuD.RedHatEnterpriseLinuxE.WindowsServer答案:ABCD解析:常见Linux发行版包括社区发行版CentOS、Debian、Ubuntu,商业发行版RedHatEnterpriseLinux等,WindowsServer是微软开发的闭源服务器操作系统,不属于Linux发行版,因此正确选项为ABCD。以下命令可以用来查看进程信息的是()A.psB.topC.netstatD.pstreeE.df答案:ABD解析:ps命令可以查看系统当前进程快照,top是实时动态查看进程和系统资源占用的命令,pstree以树形结构展示进程之间的父子关系,三个命令都可以查看进程信息;netstat用于查看网络端口和路由信息,df用于查看磁盘分区使用情况,因此正确选项为ABD。使用Git进行版本控制时,常用的操作说明正确的是()A.gitclone用来克隆远程仓库到本地B.gitadd用来将修改的文件添加到暂存区C.gitcommit用来将暂存区的内容提交到本地仓库D.gitpush用来将本地仓库的提交推送到远程仓库E.gitpull用来将远程仓库的更新拉取到本地合并答案:ABCDE解析:以上对Git常用操作的描述全部正确,Git是Linux应用开发中最常用的分布式版本控制工具,上述五个操作都是日常开发的核心操作,描述全部正确。以下关于shell脚本中变量的描述,正确的是()A.定义变量时变量名不需要加符号,使用C.位置参数$0代表脚本文件名,$1代表第一个传入参数

D.$#代表传入脚本的参数个数,$@代表所有参数列表

E.变量定义时必须声明变量类型答案:ABCD解析:Shell是弱类型脚本语言,定义变量时不需要提前声明变量类型,会根据上下文自动推断类型,因此E选项错误,其余选项对Shell变量的描述全部正确。Linux系统中,进程间通信的方式包括()A.管道(pipe)B.消息队列C.共享内存D.信号量E.套接字(socket)答案:ABCDE解析:Linux支持的进程间通信(IPC)方式包括管道、命名管道、消息队列、共享内存、信号量、套接字、信号等,以上五种都属于标准的进程间通信方式,因此全部正确。综合应用题某开发人员需要编写一个Shell脚本,实现统计当前目录下所有.c文件的代码行数总和,请完成以下需求:(1)写出该脚本的完整实现代码;(2)说明脚本中核心命令的作用。参考答案:(1)完整脚本实现如下:

#!/bin/bash

#统计当前目录下所有.c文件的总代码行数

total=0

forfilein`find.-name"*.c"`

do

lines=`wc-l$file|awk'{print$1}'`

total=$[$total+$lines]

done

echo"当前目录下所有C文件总代码行数为:$total"

exit0(2)核心命令说明:①#!/bin/bash:声明该脚本使用Bash解析器执行,是Shell脚本的标准开头声明。②find.-name"*.c":find命令从当前目录.开始递归搜索所有文件名符合*.c规则的文件,输出所有符合要求的C语言源文件路径。③wc-l$file:wc命令用于统计文件的行数、单词数、字节数,-l参数指定统计文件行数,wc输出结果默认格式为“行数文件名”,因此通过awk命令提取输出结果的第一个字段,也就是行数数值,赋值给lines变量。

④$[$total+$lines]:Bash中进行整数算术运算的格式,将当前total变量的值和当前文件的行数相加,重新赋值给total变量,遍历所有文件后得到总行数。

⑤最后通过echo输出统计结果,exit0表示脚本以正常退出状态码结束。扩展说明:也可以使用更简洁的命令实现该需求:find.-name"*.c"-execcat{}\;|wc-l,该命令将所有找到的C文件内容拼接后统一统计行数,结果和上述脚本一致。

2.现有一个C语言程序,包含两个源文件main.c和func.c,头文件func.h存放在当前目录的include文件夹下,生成的可执行文件名为main,请回答以下问题:(1)写出使用GCC手动编译生成可执行文件的完整命令;(2)写出简单的Makefile规则,实现增量编译该项目。参考答案:(1)GCC手动编译流程分为编译和链接两步,完整命令如下:第一步:分别编译两个源文件生成目标文件:

gcc-cmain.c-I./include-omain.o

gcc-cfunc.c-I./include-ofunc.o第二步:链接两个目标文件生成可执行文件:

gccmain.ofunc.o-omain说明:-I./include参数用于指定头文件的搜索路径为当前目录下的include文件夹,因为头文件func.h存放在该路径,因此需要添加该参数指定搜索路径,否则编译会提示找不到头文件错误。(2)增量编译的Makefile编写如下:

#定义变量

CC=gcc

CFLAGS=-Wall-I./include

TARGET=main

OBJS=main.ofunc.o

#默认目标

all:$(TARGET)

#链接生成可执行文件

$(TARGET):$(OBJS)

$(CC)$(OBJS)-o$(TARGET)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论