Linux操作系统考试试试题题库.docx
《Linux操作系统考试试试题题库.docx》由会员分享,可在线阅读,更多相关《Linux操作系统考试试试题题库.docx(77页珍藏版)》请在冰豆网上搜索。
![Linux操作系统考试试试题题库.docx](https://file1.bdocx.com/fileroot1/2023-1/4/de0334c3-4b6d-41aa-becf-6bea4e3f03e3/de0334c3-4b6d-41aa-becf-6bea4e3f03e31.gif)
Linux操作系统考试试试题题库
1.在Linux目录结构中目录中的文件是普通用户可以使用的可使用的可执行文件的目录是(B)19
A./sbinB./binC./usrD./lib
2.在Linux目录结构中Linux的内核及引导程序所需要的文件位于(B)目录
A/binB./bootC./rootD./proc
3.在Linux目录结构中用来存放系统配置文件(D)目录
A./libB./devC./procD./etc
4.Linux三种特殊权限中仅用于目录文件的权限是(C)22
A.SUIDB.SGIDC.黏滞位D.都可以
5.Linux三种权限中允许进入目录的权限(C)22
A.r-可读B.w-可写C.x-可执行D.都不是
6.下列脚本文件最先自动执行的是(A)24
A./etc/rc.localB./etc/profileC.~/.bashrcD.~/.bash_logout
7.下面通配符可匹配多个任意字符的通配符是(A)29
A.*B.?
C.[abcde]D.[!
a-e]
8.输出重定向符号右边的文件已经存在,不会覆盖文件而是追加的定向符是(B)
A.>B.>>C.2>D.&>
9.表示用户家目录的是(B)
A./home(所有用户家目录的父目录,+用户名才是用户家目录)B.~C..D...
10.可删除非空目录及其子目录的命令是(B)
A.touchB.rm-rC.mkdirD.rmdir空目录
11.是强引用的符号(A)
A.单引号B.反引号C.双引号D.中括号
12.可显示隐藏文件的ls命令形式选项是(A)
A.ls-aB.ls-dC.ls-hD.ls-l
13.可通过接受标准输入作为输出内容来创建简单文件的命令是(B)42
A.touchB.catC.viD.gedit
14.不带有编辑功能但有翻页、按行滚动、搜索功能的命令是(B)43
A.catB.more和lessC.head和tailDvi
15.wc命令可统计文件的行数、字数和字节数。
在下列格式中只显示文件的字数的是(C)51
A.wcB.wc-cC.wc-wDwc-l
16.可实现文件重命名的命令是(B)52
A.cpB.mvC.lnDrename
17.在Linux系统中可通过挂载将光盘、U盘或一个文件系统连接到主目录树的一个目录节点。
期中光盘或光盘镜像对应的文件系统类型是(C)44
A.vfatB.ext3C.iso9660Dvboxsf
18.下面更改文件命令只能更改符号连接的目标文件的权限的命令是(C)
A.chownB.chgrpC.chmodD.以上都不对
19.chmod命令的权限模式可使用字符串形式或八进制形式,当使用八进制形式时模式应由三或四位八进制构成,其中从最高到最低位依次表示为(A)每个八进制的三个二进制位从高到低分别表示为有无读、写、执行权限
A.文件所有者文件所属组其他用户B.其他用户文件所属组文件所有者
C.文件所属组文件所有者其他用户D.其他用户文件所有者文件所属组
20.chmod命令的权限模式可使用字符串形式或八进制形式,当使用八进制形式时模式应由三或四位八进制构成,其中每个八进制的三个二进制位从高到低分别表示为有无(A)
A.读写执行B.写读执行C.执行读写D.执行写读
21.运行时不会创建子进程的方式是(C)69
A.赋予shell程序文件可执行权限,直接运行shell程序(外部命令)
B.调用命令解释器解释执行shell程序(Shell函数)
C.使用source命令执行shell程序(内部命令)
D.用()将多条命令括起来而形成的复合命令执行
22.对于使用(C)连接的两条命令,只有当左边的命令执行失败(退出状态为非0值)才会继续执行右边的命令。
A.;B.&&C.||D.都不是
23.Shell执行命令在同名时优先级别最高的是(A)
A.别名B.函数C.内部命令D.外部命令
24.将一个变量stab的值清除(即成为空串)的命令是(D)
A.$stabB.${#stab}C.${stab}Dunsetstab
25.Shell变量不需要预先定义,若对其进行数值操作,可指定变量的属性为整数,具体命令为D
A.declare-a变量名B.declare-f变量名C.typeset-r变量名D.typeset-i变量名
26.Shell中可表示引用数组abrr中的所有非空元素的引用是(B)76
A.${abrr}B.${abrr[*]}C.${#abrr[*]D.${#abrr[@]}
27.在Shell变量引用操作符可实现字符串替换其中(C)用来测试如果变量stra存在且不为空,则返回为word,否则返回为空串78
A.${stra:
-word}B.${stra:
=word}C.${stra:
+word}D.${stra:
?
word}
28.在Shell变量引用操作符可实现字符串替换其中(D)用来测试,如果变量stra存在,则返回为变量stra的值,否则输出为word,并退出当前脚本程序
A.${stra-word}B.${stra=word}C.${stra:
+word}D.${stra:
?
word}
29.在Shell变量引用操作符可实现模式匹配替换其中(B)用来的含义是若pattern匹配变量stra的头部,则删除最长匹配部分并返回剩余部分。
A.${stra#pattern}B.${stra##pattern}C.${stra%pattern}D.${stra%%pattern}
30.为了使子进程能继承父进程中定义的变量,就必须使(D)命令将这些变量送入进程转出区83
A.readB.setC.shiftD.export
31.使用(D)形式时,即使表达式中有Shell的特殊字符时,也不必用双引号将其括起来。
87
A.test表达式B.[表达式]C.let算术表达式D.((算术表达式))
32.使用(D)形式时可以返回算术表达式的确切值
A.test表达式B.let算术表达式C.((算术表达式))D.$((算术表达式))
33.gcc可以对编译阶段进行控制,其中(B)选项规定编译到汇编语言,不进行其他操作。
107
A.-EB.-SC.-cD.-o
34.gcc可以对编译阶段进行控制,其中(A)选项设定库文件的路径
A.-LpathB.-IpathC.-llibraryD.-static
35.gcc可以对编译阶段进行控制,其中(D)选项在可执行文件中包含标准调试信息,供gdb进行调试。
A.-WallB.-WerrorC.-wD.-g
36.在Linux底层文件访问中的大多数操作都是围绕文件描述符来展开的其中(A)函数是内核向进程返回一个文件描述符为以后使用148
A.open()B.read()C.write()D.close()
37.最终文件权限取决于(D)
A.modeB.unmaskC.mode&unmaskD.mode&~unmask非掩码
38.Lseek()中第三个参数的值为0表示(A)
A.文件开始位置B.文件读写指针当前位置C.文件结束位置D.都不是
39.文件属性读取函数中,依据文件名且当文件是一个符号链接时返回是链接所指向文件的信息的函数是(A)152
A.statB.lstatC.fstatD.都不是
40.利用文件属性读取函数获取的st_mode进行文件类型测试方法正确的是D
A.对成员st_mode同文件类型掩码进行与运算B.对成员st_mode直接判断
C.利用带成员st_mode参数宏(用于文件类型判断)定义D.A和C都可以
41.下列函数中可关闭文件的函数(A)
A.close()B.dup2()C.A和B都可以D.dup()
42.下列底层文件访问函数中第一个参数是文件描述符的是(C)157
A.chmodB.lchownC.fchownD.chown
43.硬链接是(B)162
A.指向目标文件的指针B.指向文件的索引节点
C.可跨越不同文件系统创建D.可通过symlink()来创建
44.读取链接readlink和删除链接unlink操作对象是(C)163
A.都只对硬链接有效B.都对软链接无效
B.读取只对软链接有效,删除都两种都有效D.读取对两种都有效,删除只对软链接有效。
45.目录文件的读取函数readdir()参数和返回值的含义()C167
A.参数和返回值都指向目录文件B.参数和返回值都指向目录项
C.参数指向目录文件,返回值指向目录项D.返回值指向目录文件,参数指向目录项
46.对磁盘文件的标准I/O操作一般是实现(A)171
A.全缓冲B.行缓冲C.不带缓冲D.都可以
47.当标准输入和标准输出涉及交互作用设备时,它们是(B)
A.全缓冲B.行缓冲C.不带缓冲D.都可以
48.标准错误输出是(C)
A.全缓冲B.行缓冲C.不带缓冲D.都可以
49.在函数fopen()中文件打开模式中要求文件必须存在的模式是(A)172
A.r和r+B.w和w+C.a和a+D.ab和wb
50.在函数fopen()中文件打开模式中不是可读写的方式打开文件模式是(D)
A.r+B.w+C.a+D.r
51.在打开函数中其中是在由指定的流上打开由路径名指定的文件,其返回值为指向文件流指针,此函数用于将一个指定的文件打开为一个预定义的标准流(C)
A.openB.fopenC.freopenD.fdopen
52.以下函数中表示从某流中读取一个字符但该函数不带参数,表示从标准输入流中读字符的函数是(C)174
A.getsB.getcC.getcharD.fgec
53.当到达文件尾端或出错时,字符读取函数的返回值都是EOF,为进一步确认文件是否已到文件尾,应当通过(B)函数来判断。
A.ferrorB.feofC.cleanerrD.perror
54.在定位函数中,可直接将流的读写指针设置到文件的起始位置同时会将错误指示器errno清零的函数是()rewind182无答案
A.ferrorB.feofC.clearerr174D.perror
55.下面关于ftell()函数成功调用说法不正确的是(C)
A.会清除流结束标志B.返回读写指针当前相对文件起始位置的位移量
C.返回读写指针当前相对文件结束位置的位移量D.会撤销已调用ungetc()对流的影响
56.格式化输出可把格式化数据输出到标准输出、指定文件及字符缓冲区。
其中()函数是将格式化数据输出到指定大小的字符缓冲区。
(D)183
A.printfB.fprintfC.sprintfD.snprintf
57.格式化输入可从标准输入、指定文件及字符缓冲区读取格式化数据。
其中()函数是输出到指定文件。
(B)
A.printfB.fprintfC.sprintfD.snprintf
58.关于临时文件不正确的是A186
A.可通过tmpnam()创建B.也可通过tmpfile()创建
C.程序结束时或关闭文件时自动删除D.调用tmpname次数有限制
59.下列是进程的异常终止的是(D)193
A.从main中调用return返回B.调用exitC.调用_exitD.调用abort
60.不属于非格式化标准I/O的是(C)
A.字符I/OB.行I/OC.列I/OD.块I/O
61.关于exit()函数不正确的是(B)194
A.先清理后进入内核B.底层系统调用
C.有一个整型参数D.用于正常终止一个进程
62.内核使程序执行的方法的是(A)
A.调用exec函数B.调用exit/_exitC.从main返回D.收到一个系统终止信号
63.关于atexit函数正确的是(D)
A.一个进程可登记超过32个函数B.函数登记的顺序和调用顺序相同
B.同一函数可登记多次,但调用一次
D.在显示或隐式调用exit时则执行这些登记的终止处理程序
64.非初始化数据段由exec赋初值常称为(C)196
A.正文段B.数据段C.bss段D.堆
65.在存储空间布局中从低地址到高地址依次分布为A
A.正文段→数据段→bss段→堆→栈B.栈→堆→bss段→数据段→正文段
C.正文段→堆→栈→数据段→bss段D.堆→正文段→数据段→bss段→栈
66.PID为0的交换进程是(A)200
A.其他所有进程的祖先进程B.所有其他用户进程的祖先进程
C.其他所有内核线程的父进程D.普通进程
67.调用exec可能有变化的是(D)204
A.调用前后进程IDB.调用exec前后实际用户ID
C.调用exec前后实际组IDD.调用exec前后有效用户ID和有效组ID
68当waitpid函数的pid参数设置为(A)表示等待任一子进程终止。
211
A.pid==-1B.pid==0C.pid>0D.pid<-1
69.fork函数在父进程中的返回值是(B)206
A.0B.创建的子进程的进程标识号C.-1D.1
70.fork函数在子进程中的返回值是(A)
A.0B.创建的子进程的进程标识号C.-1D.1
71.进程可以忽略大部分信号,但下列信号中(D)不能忽略213
A.SIGBORTB.SIGILLC.SIGQUITD.SIGKILL
72.调用exec函数会将原来设置为要捕获的信号都更改为(A)214
A.默认B.忽略C.另一捕获D.默认或忽略
73.可用于在不同主机的进程间通信的技术是(D)225
A.管道B.共享内存C.消息队列D.套接字
74.只能在同源进程间通信的技术(A)224
A.普通管道B.命名管道C.消息队列D.共享内存
75.不属于SystemVIPC通信技术的是(A)
A.管道B.消息队列C.信号量D.共享内存
76.建立从父进程到子进程的管道的方法(B)225
A.父进程关闭管道的写端,子进程关闭管道读端
B.父进程关闭管道的读端,子进程关闭管道的写端
C.父子进程都管道的读端D.父子进程都关闭管道的写端
76.获取某个环境变量值使用函数A
A.getenvB.putenvC.setenvD.unsetenv
77.文件系统保存在磁盘的B
A.引导块B.超级块C.i节点块D.数据块
78.Linux文件系统的根目录的i节点号为C
A.0B.1C.2D.3
79.文件描述符的数据类型是B
A.charB.intC.doubleD.float
80.设置文件偏移量的系统调用是C
A.truncateB.syncC.lseekD.create
81.下面那个不是lseek第三个参数的取值C
A.SEEK_SETB.SEEK_CURC.SEEK_NOWD.SEEK_END
82.可以使用(C)系统调用获得符号链接所引用文件名称
A.linkB.symlinkC.readlinkD.softlink
83.获得工作路径名称的系统调用是A
A.getcwdB.getpwuidC.getgrgidD.getlogin
84.通过文件属性中的uid获得文件拥有者名字的系统调用是B
A.getcwdB.getpwuidC.getgrgidD.getlogin
85.通过文件属性中的gid获得文件所属组名字的系统调用是C
A.getcwdB.getpwuidC.getgrgidD.getlogin
86.根据文件路径来改变文件权限使用系统调用是B
A.chownB.chmodC.fchmodD.fchown
一、填空题
1.Linux内核与发行版的关系:
LinuxKernel3.5.3是Linux内核版,而Ubuntu12.04.1是Linux的发行版
2.Shell是linux系统的一种命令行用户界面,提供了用户与操作系统进行交互的接口,本质上是命令解释器,可为用户提供个性化的使用环境。
3.在Shell中测试运算有文件属性测试、字符串测试、数值测试、逻辑运算。
4.专门执行整数算术运算的命令let所指表达式可执行C语言中常见的算术、逻辑、位运算、比较运算等。
5.Vi的三中工作模式:
插入模式、命令模式、末行模式。
6.Gcc生成可执行文件的四个步骤:
预处理、编译、汇编、链接。
预处理是对源程序进行头文件加载和宏展开等操作,由cpp完成;汇编一是产生汇编代码,二是产生二进制的目标文件,由gcc使用as;生成的多.o文件和使用到的库文件链接成为可被操作系统执行的可执行程序,使用ld工具,可使用两类库文件。
7.库分为静态库和共享库。
静态库由多个.o文件组成的集合,文件成员没有特殊的存在格式,使用“ar”可维护和管理,库文件后缀为“.a”;共享库多个.o文件由编译器按照一定特殊的方式生成。
多个可执行程序可共享库文件的代码段,但不共享数据。
8.命令行参数是main。
函数的参数y
Main函数的参数若有两个参数则第一个参数代表命令行参数个数、第二个参数代表指向各命令行参数字符串的指针数组。
9.Linux中日期时间的表示方法有:
算术类型、结构体类型、字符串类型。
10.如果一个C程序的入口表示为main(intargc,char*argv[]),编译该程序后的可执行程序为a.out,那么在命令“./a.out–ffoo”后,main中的参数argv[1]指向的字符串是(“-f”)。
11.Linux系统下表示标准输入、标准输出和标准错误输出的文件描述符(符号表示)分别为(STDIN_FILENO、STDOUT_FILENO、STDERR_FILENO),它们的值分别为0、1、2。
12.数字635表示的权限使用字母的方式表示为(rw—wxr-x)、使用符号方式表示为(S_IRUSR|S_IWUSR|S_IWGRP|S_IXGRP|S_IROTH|S_IXOTH)。
13.系统调用open的功能是打开或创建文件。
14.使用open打开文件时有三个标志必须要选择其一,这三个标志是O_RDONLY、O_WRONLY、O_RDWR。
15.文件偏移量代表下一次读或写的位置。
16.将文件偏移量市值为当前偏移处之前的4个字节的维护使用lseek(fd,(-4),(SEEK_CUR))。
17.设置打开文件标志(O_TRUNC),可以截断文件为0,使用系统调用(truncate)可以截断文件或者加长文件。
18.如果umask设置为022,则创建一个新文件夹(数字表示)的权限为(644)、创建一个新目录的权限为(755)。
19.如果umask设置为024,则创建一个新文件夹(数字表示)的权限为(642)、创建一个新目录的权限为(753)。
20.使用系统调用(umask)可以设置和得到文件模式的屏蔽字。
21.创建硬链接使用系统调用(link),创建符号链接使用系统调用(symlink)。
22.获得工作路径名称的系统调用是(getcwd)。
23.可以使用(stat或fstat或lstat)系统调用显示文件属性信息。
24.chmod,chown,utime都可以修改文件i节点信息,其中chmod的功能是(更改文件权限)、chown的功能是(更改文件所有者和所属组)、utime的功能是(更改文件访问时间和修改时间)。
25.若实现将标准输出重定向到文件描述符为6对应的文件上,则应使用语句(dup2(6,1))。
26.系统调用(Unlink)的作用是删除目录项,这里的目录项是指(文件名和文件i节点的对应关系)。
27.打开目录使用(DIR*opendir(constchar*name))系统调用,关闭目录使用(intclosedir(DIR*dir))系统调用,读取目录内容使用(structdirent*readdir(DIR*dir))系统调用。
28.chdir系统调用的功能是(改变当前目录)。
29.创建目录使用(intmkdir(constchar*pathname,mode_tmode))系统调用、删除目录使用(intrmdir(constchar*pathname))系统调用。
30.popen函数实现的操作:
创建一个管道,fork一个子进程,然后关闭管道的不使用端,在子进程中exexc一个shell以执行一条命令,然后等到命令的终止。
31.使用kill发送信号时,发送方进程应具有相应的权限:
接受和发送进程的所有者相同,发送进程的所有者是超级用户
三、简答题
1.系统调用、库函数的区别和练习
从用户角度观察,系统调用和库函数都以C函数形式出现,提供给用户一种功能实现的接口,需要用户输入指定的参数,调用结束得到指定的返回值。
从实现者角度观察,库函数是在系统调用上层的函数,库函数一般指程序员可以使用的通用函数。
系统调用由两部分组成:
(1)核心函数:
是实现系统调用功能的代码,作为操作系统的核心驻留在内存中,是一种共享代码。
运行在核心态。
(2)接口函数:
是提供给应用程序的API,以库函数的形式存在于Linux的lib.a中,该库中存放了所有系统调用的接口函数的目标代码,用汇编语言书写。
其主要功能是把系统调用号,入口参数地址传给相应的核心函数,并使用户态下运行的应用程序陷入核心态。
4.完成如下命令
(1)新建用户tom和用户组student
#useraddtom
#passwdtom
#groupaddstudent
(2)新建文件file
#touchfile
(3)将文件file改名为test,然后将test拷贝到/home
#mvfiletest
#cptest/home
(4)将/home/test文件的拥有着修改为tom,将文件所属组该为student
#chowntom:
student/home/test
5.静态库和共享库的区别
(1)静态库的代码在编译时就已连接到开发人员开发的应用程序中。
(2)共享库只是在程序开始运行时才载入,在编译时,只是简单地指定需要使用的库函数。
(3)静态库文件以.a结尾,共享库文件以.so结尾。
6.Linux文件类型主要有哪七类?
常规文件、目录文件、字符设备文件、块设备文件、管道文件、链接文件、套接字文件
7.简述文件、i节点、文件名、目录之间的关系
每个存在磁盘上的文件都由i节点和数据块两部分组成,i节点和文件一一对应,一个i节点可以对应多个文件名,文件名和i节点的对应关系叫做