为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > Linux操作系统考试题库

Linux操作系统考试题库

2018-05-18 7页 doc 195KB 34阅读

用户头像

is_808969

暂无简介

举报
Linux操作系统考试题库B)191•在Linux目录结构中目录中的文件是普通用户可以使用的可使用的可执行文件的目录是/sbinB./binC./usrD./lib在Linux目录结构中Linux的内核及引导程序所需要的文件位于(B)目录A/binB./bootC./rootD./proc在Linux目录结构中用来存放系统配置文件(D)目录/libB./devC./procD./etcTOC\o"1-5"\h\z4丄inux三种特殊权限中仅用于目录文件的权限是(C)22SUIDB.SGIDC.黏滞位D.都可以5^Linux三种权限中允许进入目录的权...
Linux操作系统考试题库
B)191•在Linux目录结构中目录中的文件是普通用户可以使用的可使用的可执行文件的目录是/sbinB./binC./usrD./lib在Linux目录结构中Linux的内核及引导程序所需要的文件位于(B)目录A/binB./bootC./rootD./proc在Linux目录结构中用来存放系统配置文件(D)目录/libB./devC./procD./etcTOC\o"1-5"\h\z4丄inux三种特殊权限中仅用于目录文件的权限是(C)22SUIDB.SGIDC.黏滞位D.都可以5^Linux三种权限中允许进入目录的权限(C)22r-可读B.w-可写C.x-可执行D.都不是C.~/.bashrcD.~/.bash」ogout下列脚本文件最先自动执行的是(A)24/etc/rc.localB./etc/profile下面通配符可匹配多个任意字符的通配符是(A)29A.*C.[abcde]D.[!a-e]输出重定向符号右边的文件已经存在,不会覆盖文件而是追加的定向符是(>B.>>C.2>D.&>表示用户家目录的是(B)A./home(所有用户家目录的父目录,+用户名才是用户家目录)可删除非空目录及其子目录的命令是(B)A.touchB.rm-rC.mkdir是强引用的符号(A)A.单引号B.反引号C.双引号可显示隐藏文件的ls命令形式选项是(A)B.~C..D.rmdir空目录D.中括号D...A.ls-aB.ls-dC.ls-hD.ls-l可通过接受输入作为输出内容来创建简单文件的命令是(B)42A.touchB.catC.viD.gedit不带有编辑功能但有翻页、按行滚动、搜索功能的命令是(B)43catB.more禾口lessC.head和tailDviwc命令可统计文件的行数、字数和字节数。在下列格式中只显示文件的字数的是(C)51wcB.wc-cC.wc-wDwc-l可实现文件重命名的命令是(B)52A.cpB.mvC.InDrename期中光盘或光盘镜像在Linux系统中可通过挂载将光盘、U盘或一个文件系统连接到主目录树的一个目录节点。对应的文件系统类型是(C)44A.vfatB.ext3C.iso9660Dvboxsf18.下面更改文件命令只能更改符号连接的目标文件的权限的命令是(C)A.chownB.chgrpC.chmodD.以上都不对chmod命令的权限模式可使用字符串形式或八进制形式,当使用八进制形式时模式应由三或四位八进制构成,其中从最高到最低位依次表示为(A)每个八进制的三个二进制位从高到低分别表示为有无读、写、执行权限文件所有者文件所属组其他用户C.文件所属组文件所有者其他用户chmod命令的权限模式可使用字符串形式或八进制形式,中每个八进制的三个二进制位从高到低分别表示为有无其他用户文件所属组文件所有者D.其他用户文件所有者文件所属组当使用八进制形式时模式应由三或四位八进制构成,其(A)A.读写执行B.写读执行C.执行读写D.执行写读运行时不会创建子进程的方式是(C)69赋予shell程序文件可执行权限,直接运行shell程序(外部命令)B•调用命令解释器解释执行shell程序(Shell函数)使用source命令执行shell程序(内部命令)用()将多条命令括起来而形成的复合命令执行22•对于使用(C)连接的两条命令,只有当左边的命令执行失败(退出状态为非0值)才会继续执行右边的命令。A.;B.&&23.Shell执行命令在同名时优先级别最高的是(A)C.||D.都不是C.内部命令D.外部命令A.别名B.函数24.将一个变量stab的值清除(即成为空串)的命令是(D)A.$stabB.${#stab}C.${stab}Dunsetstab25.Shell变量不需要预先定义,若对其进行数值操作,可指定变量的属性为整数,具体命令为A.declare-a变量名B.declare-f变量名C.typeset-r变量名D.typeset-i变量名26.Shell中可表示引用数组abrr中的所有非空元素的引用是(B)76A.${abrr}B.${abrr[*]}C.${#abrr[*]D.${#abrr[@]}在Shell变量引用操作符可实现字符串替换其中(C)用来测试如果变量stra存在且不为空,则返回为word,否则返回为空串78A.${stra:-word}B.${stra:=word}C.${stra:+word}D.${stra:?word}在Shell变量引用操作符可实现字符串替换其中(D)用来测试,如果变量stra存在,则返回为变量stra的值,否则输出为word,并退出当前脚本程序A.${stra-word}B.${stra=word}C.${stra:+word}D.${stra:?word}在Shell变量引用操作符可实现模式匹配替换其中(B)用来的含义是若pattern匹配变量stra的头部,则删除最长匹配部分并返回剩余部分。A.${stra#pattern}B.${stra##pattern}C.${stra%pattern}D.${stra%%pattern}为了使子进程能继承父进程中定义的变量,就必须使(D)命令将这些变量送入进程转出区83A.readB.setC.shiftD.export使用(D)形式时,即使表达式中有Shell的特殊字符时,也不必用双引号将其括起来。87test表达式B.[表达式]C.let算术表达式D.((算术表达式))使用(D)形式时可以返回算术表达式的确切值test表达式B.let算术表达式C.((算术表达式))D.$((算术表达式))gcc可以对编译阶段进行控制,其中(B)选项编译到汇编语言,不进行其他操作。107A.-EB.-SC.-cD.-ogcc可以对编译阶段进行控制,其中(A)选项设定库文件的路径A.-Lpath""|B.-IpathC.-llibraryD.-staticgcc可以对编译阶段进行控制,其中(D)选项在可执行文件中包含标准调试信息,供gdb进行调试。A.-WallB.-WerrorC.-wD.-g在Linux底层文件访问中的大多数操作都是围绕文件描述符来展开的其中(A)函数是内核向进程返回一个文件描述符为以后使用148A.open()B.read()C.write()D.close()最终文件权限取决于(D)A.modeB.unmaskC.mode&unmaskD.mode&~unmask非掩码Lseek()中第三个参数的值为0表示(A)文件开始位置B.文件读写指针当前位置C.文件结束位置D.都不是A)152D.都不是D文件属性读取函数中,依据文件名且当文件是一个符号链接时返回是链接所指向文件的信息的函数是(A.statlstatC.fstat利用文件属性读取函数获取的stmode进行文件类型测试方法正确的是A.对成员stmode同文件类型掩码进行与运算B.对成员stmode直接判断利用带成员st_mode参数宏(用于文件类型判断)定义下列函数中可关闭文件的函数(A)D.A和C都可以B.dup2()42.下列底层文件访问函数中第一个参数是文件描述符的是(A.close()C.A和B都可以C)157D.dup()A.chmodB.lchownC.fchownD.chown43.硬链接是(B)162A.指向目标文件的指针指向文件的索引节点44.读取链接可跨越不同文件系统创建readlink和删除链接unlink操作对象是(C)163D.可通过symlink()来创建A.都只对硬链接有效都对软链接无效读取只对软链接有效,删除都两种都有效D.读取对两种都有效,删除只对软链接有效。45.目录文件的读取函数readdir()参数和返回值的含义()C167A.参数和返回值都指向目录文件B.参数和返回值都指向目录项参数指向目录文件,返回值指向目录项D.返回值指向目录文件,参数指向目录项46.对磁盘文件的标准I/O操作一般是实现(A)171A.全缓冲B.行缓冲C.不带缓冲D.都可以47.当标准输入和标准输出涉及交互作用设备时,它们是(B)A.全缓冲B.行缓冲C.不带缓冲D.都可以48.标准错误输出是(C)A.全缓冲B.行缓冲C.不带缓冲|D.都可以49.在函数fopen()中文件打开模式中要求文件必须存在的模式是(A)172A.r和r+B.w和w+C.a和a+D.ab和wb50•在函数fopen()中文件打开模式中不是可读写的方式打开文件模式是(D)A.r+B.w+C.a+D.r在打开函数中其中是在由指定的流上打开由路径名指定的文件,其返回值为指向文件流指针,此函数用于将一个指定的文件打开为一个预定义的标准流(C)A.openB.fopenC.freopenD.fdopen以下函数中表示从某流中读取一个字符但该函数不带参数,表示从标准输入流中读字符的函数是(C)174A.getsB.getcC.getcharD.fgec当到达文件尾端或出错时,字符读取函数的返回值都是EOF,为进一步确认文件是否已到文件尾,应当通过(B)函数来判断。A.ferrorB.feofC.cleanerrD.perrorerrno清零的函数是()rewind在定位函数中,可直接将流的读写指针设置到文件的起始位置同时会将错误指示器182无A.ferrorB.feofC.clearerr174D.perror下面关于ftell()函数成功调用说法不正确的是(C)A.会清除流结束标志B.返回读写指针当前相对文件起始位置的位移量返回读写指针当前相对文件结束位置的位移量D.会撤销已调用ungetc()对流的影响格式化输出可把格式化数据输出到标准输出、指定文件及字符缓冲区。其中()函数是将格式化数据输出到指定大小的字符缓冲区。(D)183A.printfB.fprintfC.sprintfD.snprintf(B)格式化输入可从标准输入、指定文件及字符缓冲区读取格式化数据。其中()函数是输出到指定文件。C.sprintfD.snprintfB.也可通过tmpfile()创建D.调用tmpname次数有限制A.printfB.fprintf关于临时文件不正确的是A186A.可通过tmpnam()创建C.程序结束时或关闭文件时自动删除D•调用下列是进程的异常终止的是(D)193A.从main中调用return返回B.调用exitC.调用_exit60•不属于非格式化标准I/O的是(C)A.字符I/OB.行I/O|C.列I/OD.块I/O关于exit()函数不正确的是(B)194A.先清理后进入内核B.底层系统调用C.有一个整型参数内核使程序执行的方法的是(A)A.调用exec函数B.调用exit/_exit关于atexit函数正确的是(D)D.用于正常终止一个进程C.从main返回D.收到一个系统终止信号A.一个进程可登记超过32个函数函数登记的顺序和调用顺序相同D.在显示或隐式调用exit时则执行这些登记的终止处理程序64.非初始化数据段由exec赋初值常称为(C)196B.同一函数可登记多次,但调用一次A.正文段B.数据段C.bss段D.堆在存储空间布局中从低地址到高地址依次分布为AA.正文段t数据段tbss段t堆t栈正文段T堆t栈t数据段tbss段PID为0的交换进程是(A)200B.栈t堆tbss段t数据段t正文段D.堆t正文段T数据段tbss段T栈A.其他所有进程的祖先进程所有其他用户进程的祖先进程其他所有内核线程的父进程D.普通进程调用exec可能有变化的是(D)204A.调用前后进程IDB.调用exec前后实际用户IDC.调用exec前后实际组ID|d.调用exec前后有效用户ID和有效组IDTOC\o"1-5"\h\z68当waitpid函数的pid参数设置为(A)表示等待任一子进程终止。211A.pid==-1B.pid==0C.pid>0D.pid<-1fork函数在父进程中的返回值是(B)206A.0B.创建的子进程的进程标识号C.-1D.1fork函数在子进程中的返回值是(A)A.0B.创建的子进程的进程标识号C.-1D.1进程可以忽略大部分信号,但下列信号中(D)不能忽略213A.SIGBORTB.SIGILLC.SIGQUITD.SIGKILL调用exec函数会将原来设置为要捕获的信号都更改为(A)214A.默认B.忽略C.另一捕获D.默认或忽略C.消息队列D.套接字C.消息队列D.共享内存C.信号量D.共享内存可用于在不同主机的进程间通信的技术是(D)225A.管道B.共享内存只能在同源进程间通信的技术(A)224A.普通管道B•命名管道不属于SystemVIPC通信技术的是(A)A.管道B.消息队列76•建立从父进程到子进程的管道的方法(B)225A.父进程关闭管道的写端,子进程关闭管道读端父进程关闭管道的读端,子进程关闭管道的写端父子进程都管道的读端D.父子进程都关闭管道的写端76•获取某个环境变量值使用函数AA•getenvB.putenvC.setenvD.unsetenvTOC\o"1-5"\h\z77•文件系统保存在磁盘的BA.引导块B.超级块C.i节点块D.数据块Linux文件系统的根目录的i节点号为CA.0B.1・c.2D.3文件描述符的数据类型是BA.charB.intC.doubleD.float设置文件偏移量的系统调用是CA.truncateB.syncC.lseekD.create下面那个不是lseek第三个参数的取值CA.SEEK_SETB.SEEK_CURC.SEEK_NOWD.SEEK_ENDA.linkB.symlinkC.readlink83.获得工作路径名称的系统调用是AA.getcwdB.getpwuidC.getgrgid84.通过文件属性中的uid获得文件拥有者名字的系统调用是BA.getcwdB.getpwuidC.getgrgid85.通过文件属性中的gid获得文件所属组名字的系统调用是CA.getcwdB.getpwuidC.getgrgid86.根据文件路径来改变文件权限使用系统调用是BA.chownB.chmodC.fchmod82.可以使用(C)系统调用获得符号链接所引用文件名称D.softlinkD.getloginD.getloginD.getloginD.fchown一、填空Linux内核与发行版的关系:Linux_Kernel_3.5.^是Linux_内核版,而_Ubuntu_12.04.1—是Linux_的发行版2.Shell是linux系统的一种命令行用户界面,提供了用户与操作系统进行交互的接口,本质上是命令解释器,可为用户提供个性化的使用环境。在Shell中测试运算有文件属性测试、字符串测试、数值测试、逻辑运算。专门执行整数算术运算的命令let所指表达式可执行C语言中常见的算术、逻辑、位运算、比较运算等。Vi的三中工作模式:插入模式、命令模式、末行模式。Gcc生成可执行文件的四个步骤:预处理、编译、汇编、链接。预处理是对源程序进行头文件加载和宏展开等操作,由cpp完成;汇编一是产生汇编代码,二是产生二进制的目标文件,由gcc使用as;生成的多.0文件和使用到的库文件链接成为可被操作系统执行的可执行程序,使用Id工具,可使用两类库文件。7•库分为静态库_和共享库_。静态库由多个.0文件组成的集合,文件成员没有特殊的存在格式,使用“ar”可维护和管理,库文件后缀为“.a”;共享库多个.0文件由编译器按照一定特殊的方式生成。多个可执行程序可共享库文件的代码段,但不共享数据。8命令行参数是main。函数的参数yMain函数的参数若有两个参数则第一个参数代表命令行参数个数、第二个参数代表指向各命令行参数字符串的指针数组。Linux中日期时间的表示方法有:算术类型、结构体类型、字符串类型。如果一个C程序的入口表示为main(intarac,char*argv[l),编译该程序后的可执行程序为a.out,那么在命令“./a.out—ffoo”后,main中的参数argv[1]指向的字符串是(“-f")。Linux系统下表示标准输入、标准输出和标准错误输出的文件描述符(符号表示)分别为(STDINFILENO、STDOUTFILENO、STDERRFILENO),它们的值分别为0、1、2。12.数字635表示的权限使用字母的方式表示为(rw—wxr-x)、使用符号方式表示为(SIRUSR|SIWUSR|S_IWGRP|S_IXGRP|S_IROTH|S_IXOTH)。系统调用open的功能是打开或创建文件。使用open打开文件时有三个标志必须要选择其一,这三个标志是ORDONLY、0WRONLY、ORDWR。文件偏移量代表下一次读或写的位置。将文件偏移量市值为当前偏移处之前的4个字节的维护使用Iseek(fd,(—4),(SEEKCUR))。设置打开文件标志(OTRUNC),可以截断文件为0,使用系统调用(truncate)可以截断文件或者加长文件。如果umask设置为022,则创建一个新文件夹(数字表示)的权限为(644)、创建一个新目录的权限为(755)。如果umask设置为024,则创建一个新文件夹(数字表示)的权限为(642)、创建一个新目录的权限为(753)。使用系统调用(umask)可以设置和得到文件模式的屏蔽字。创建硬链接使用系统调用(link.),创建符号链接使用系统调用(symlink)。获得工作路径名称的系统调用是(getcwd)。可以使用(stat或fstat或Istat)系统调用显示文件属性信息。chmod,chown,utime都可以修改文件i节点信息,其中chmod的功能是(更改文件权限)、chown的功能是(更改文件所有者和所属组)、utime的功能是(更改文件访问时间和修改时间)。若实现将标准输出重定向到文件描述符为6对应的文件上,则应使用语句(dup2(6,1))。系统调用(Unlink)的作用是删除目录项,这里的目录项是指(文件名和文件i节点的对应关系)。打开目录使用(DIR*opendir(constchar*name))系统调用,关闭目录使用(intclosedir(DIR*dir))系统调用,读取目录内容使用(structdirent*readdir(DIR*dir))系统调用。chdir系统调用的功能是(改变当前目录)。创建目录使用(intmkdir(constchar*pathname,mode_tmode))系统调用、删除目录使用(intrmdir(constchar*pathname))系统调用。popen函数实现的操作:创建一个管道,fork一个子进程,然后关闭管道的不使用端,在子进程中exexc一个shell以执行一条命令,然后等到命令的终止。使用kill发送信号时,发送方进程应具有相应的权限:接受和发送进程的所有者相同,发送进程的所有者是超级用三、简答题系统调用、库函数的区别和练习接口函数:是提供给应用程序的API,以库函数的形式存在于Linux的lib.a中,该库中存放了所有系统调用的接口函数的目标代码,用汇编语言书写。其主要功能是把系统调用号,入口参数地址传给相应的核心函数,并使用户态下运行的应用程序陷入核心态。4.完成如下命令(1)新建用户tom和用户组student#useraddtom#passwdtom#groupaddstudent(2)新建文件file#touchfile将文件file改名为test,然后将test拷贝到/home#mvfiletest#cptest/home将/home/test文件的拥有着修改为tom,将文件所属组该为student#chowntom:student/home/test5.静态库和共享库的区别(1)静态库的代码在编译时就已连接到开发人员开发的应用程序中。(2)共享库只是在程序开始运行时才载入,在编译时,只是简单地指定需要使用的库函数。(3)静态库文件以.a结尾,共享库文件以.so结尾。6.Linux文件类型主要有哪七类?常规文件、目录文件、字符设备文件、块设备文件、管道文件、链接文件、套接字文件7.简述文件、i节点、文件名、目录之间的关系每个存在磁盘上的文件都由i节点和数据块两部分组成,i节点和文件一一对应,一个i节点可以对应多个文件名,文件名和i节点的对应关系叫做文件的硬链接,文件名和i节点的对应关系保存在目录文件中。8.什么是文件描述符?(1)一个非负整数,内核以此来标识一个特定进程正在操作的文件。(2)012代表三个标准的文件描述符,分别为标准输入、标准输出、标准错误输出9.使用符号方式表示rwxrwxrwx权限S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IWGRP|S_IXGRP|S_IROTH|S_IWOTH|S_IXOTH10.写出open一下6种打开标志:只读、只写、读写、追加、文件不存在创建、截断为0O_RDONLYO_WRONLYO_RDWRO_APPENDO_CREATO_TRUNC11.读程序,写出执行结果并解释得到该结果的原因main(){intfd1,fd2;fd1=open(“/etc/passwd”,O_RDONLY);fd2=open(“/etc/passwd”,O_RDWR);printf(“fd1=%d,fd2=%d\n”,fd1,fd2);close(fd1);close(fd2);}结果:fd1=3fd2=4原因:open返回的文件描述符为最小可用的非负整数,012是三个标准的文件描述符默认已经被占用,所以第一个open的返回值为3,第二个open返回的是4。12.回答stat、fstat、latat三个系统调用的区别stat根据路径获得文件元数据信息fstat根据文件描述符获得文件元数据信息前两者如果遇到符号链接文件则会一直引用至非符号链接文件lstat获得符号链接文件本身的文件元数据信息12.dup和dup2的区别和联系联系:dup与dup2都用来将新文件描述符指向原来文件描述符指向的打开文件描述。区别:dup返回的新文件描述符为最小可用的文件描述符,dup2返回的新文件描述符可以通过第二个参数指定。13.硬链接和符号链接的区别(1)命令ln原文件硬链接文件(不能对目录创建硬链接)In-原文件/目录符号链接文件(2)是否新增文件:硬链接不增文件,符号链接增加文件。(3)删除原文件/目录硬链接:对应i节点链接数-1。符号链接:符号链接文件失效。(4)删除链接文件删除硬链接文件,使对应i节点的链接数-1。删除符号链接文件,对原文件/目录无任何影响(5)是否跨文件系统:硬链接不可以,符号链接可以14.fork与vfork区别?(1)fork创建的子进程复制父进程的整个地址空间,vfork不创建这一副本,子进程借用父进程的地址空间,直到其调用exec族函数或终止;exec(2)fork创建的子进程和父进程相互独立地运行,而vfork创建子进程后挂起父进程,直到子进程终止或调用族函数。使用kiII发送信号时,发送方进程应具有相应的权限:接受和发送进程的所有者相同,发送进程的所有者是超级用户。15•阅读以下代码,若execlp调用成功的话,“Done!会打印输出吗?为什么?#incIudeintmain(){printf(“Runningpswithexeclp\n”);execlp(“ps”,”ps”,”-af”,0);printf(“Done!\n”);exit(0);}不会输出“Done!”。原因:执行execlp(“ps”,”禅”’”0调用成功后,当前进程的地址空间被新的程序ps所替代,将执行“ps-af”16•试写出下列程序段的运行结果,并解释原因intx=0,inty=0;voidthread1(void){printf(Thisispthreadl.thesentence1\n”;y=7;sleep(1);printf(Thisispthreadl.thesentence2\n”;x=x+y;}voidthread2(void){printf(Thisispthread1.thesentence1\n”;x=4;sleep(1);printf(Thisispthread1.thesentence1\n”;y=8+y;}voidmain(void){pthread_tid1,id2;pthread_create(&d1,NULL,(void*)thread1,NULL);pthread_create(&id2,NULL,(void*)thread2,NULL);pthread_join(id1,NULL);pthread_join(id2,NULL);printf(x=%d,y=%d\n”,x,y);}答案:Thisispthread1.thesentense1Thisispthread2.thesentense1Thisispthread1.thesentense2Thisispthread2.thesentense2x=11,y=15原因:(1)线程1先运行,线程2后运行。线程1执行sleep(1);后阻塞,线程2继续执行,线程2执行到sleep(1);时线程2阻塞,线程1阻塞结束继续执行,线程1执行结束后线程继续执行到结束。(2)线程1和线程2共享进程的数据段,因此共享变量x,y。17•进程间通信的六种方式是什么?简述他们的通信原理?信号:用于通知接收进程有某种事件发生。管道:连接一个进程的输出至另一个进程的输入的一种方法。信号量:一个计数器,用来记录对某个资源的使用情况。共享内存:允许多个进程访问同一块内存空间。消息队列:消息的链表,链表中每个节点包括消息类型和正文两部分。套接字:在网络上主机间进程进行通信的方式。18.PIPE与FIFO的区别与联系PIPE为未命名管道,FIFO为命名管道。联系:PIPE和FIFO都是单向传输,一端为读,另一端为写。区别:PIPE只能在有亲缘关系的进程中使用,如父子进程;FIFO有名字,所以只要知道该名字,无关进程之间也可以使用。19.书名产生信号的几种方式?(1)用户操作。如键盘操作Ctrl-C,最终使得内核产生信号SIGINT。进程执行出错。如浮点数溢出,内核也会产生信号。(3)进程执行某个系统调用。如调用kill向某个进程或进程组发送信号。20.说明信号传递的过程。生成(generating)。内核要更新目标进程的数据结构,表示一个新的信号已经被发送给此进程。此时,进程并没有对信号做出任何响应。传递(delivery)。强迫目标进程对信号做出响应。四、编程题.向文件f1中写入“helloworld!”,然后再将f1中的内容读出并显示在屏幕上。(注意必要的错误判断)#include#include#includeintmain(){intfd;charbuf1[13]={"helloworld!"};charbuf2[12];intnum;fd=open("f1",O_RDWR|O_CREAT|O_TRUNC,0644);if(fd==-1){perror("f1notopen");exit(1);}num=write(fd,buf1,sizeof(buf1)-1);if(num!=(sizeof(buf1)-1))printf("writelessthanwant\n");lseek(fd,0,SEEK_SET);num=read(fd,buf2,12);if(num!=12)printf("readlessthan12\n");write(1,buf2,12);close(fd);}.向文件f2中写入"aabbccddee',然后将偏移量移到绝对值偏移为4的位置处,读6个字符,并将结果显示在屏幕上#include#include#includeintmain(){intfd;charbuf1[11]={"aabbccddee"};charbuf2[10];intnum;fd=open("f2",O_RDWR|O_CREAT|O_TRUNC,0644);if(fd==-1){perror("f2notopen");exit(1);}num=write(fd,buf1,sizeof(buf1)-1);if(num!=(sizeof(buf1)-1))printf("writelessthanwant\n");lseek(fd,4,SEEK_SET);num=read(fd,buf2,6);if(num!=6)printf("readlessthan6\n");write(1,buf2,6);close(fd);}向文件f3中写入"aabbccddeeffgghh”,然后将文件截短后的文件内容读出并显示在屏幕上#include#include#includeintmain(){intfd;charbuf1[17]={"aabbccddeeffgghh"};charbuf2[8];intnum;fd=open("f3",O_RDWR|O_CREAT|O_TRUNC,0644);if(fd==-1){perror("f3notopen");exit(1);}num=write(fd,buf1,sizeof(buf1)-1);if(num!=(sizeof(buf1)-1))printf("writelessthanwant\n");lseek(fd,0,SEEK_SET);ftruncate(fd,8);num=read(fd,buf2,8);if(num!=8)printf("readlessthan8\n");write(1,buf2,8);close(fd);}实现“cat文件名”显示文件内容#includemain(intargc,char*argv[]){intfd;intnum;charbuf[10];if(argc!=2){printf("missfilename\n");exit(1);}fd=open(argv[1],O_RDONLY);if(fd==-1){perror("erroropen");exit(1);}while((num=read(fd,buf,10))!=0)write(1,buf,num);close(fd);}5.实现“cp原文件目标文件”#include#includemain(intargc,char*argv[]){intfrom,to;intnum;charbuf[10];if(argc!=3){printf("argumenterror\n");exit(1);}from=open(argv[1],O_RDONLY);to=open(argv[2],O_WRONLY|O_CREAT|O_TRUNC,0644);num=read(from,buf,10);while(num!=0){write(to,buf,num);num=read(from,buf,10);}close(from);close(to);}6.编写程序pro3.c,将字符串“helloworld”通过输出重定向方式写入文件f1中#include#include#include#include#includemain(){intfd;if((fd=open("f1",O_WRONLY|O_CREAT,0644))==-1)perror("openfail");if(dup2(fd,1)==-1)perror("Redirectfailed");printf("Helloworld\n");close(fd);}7.使用fork创建进程,在子进程中打印“Iamthechild”和子进程pid,在父进程中打印“Iamthefather”和父进程pid#include#include#includeintmain(){pid_tpid;pid=fork();if(pid<0){perror("fork");exit(1);}elseif(pid==0)printf("Iamthechild\n");elseprintf("Iamthefather\n");exit(0);}&创建子进程,在子进程中执行“ps-A”命令,父进程等待子进程结束后打印“childover”及所处理的子进程进程号#include#includemain(){pid_tpid,cpid;inti;char*args[64];args[0]=”ps”;args[1]=-A”;args[2]=NULL;pid=fork();if(pid<0){perror(“fork”);exit(1);}elseif(pid==0){execvp(args[0],args);exit(0);}else{cpid=wait(NULL);printf(“childoverc!pid=%dn”,cpid);}}9.编写程序处理SIGINT信号,当程序接收到SIGINT信号后输出“SIGINTiscaught”#include#includevoidsignal_handler(intsignum){switch(signum){caseSIGINT:printf("SIGINTiscaught!\n");break;}}intmain(){signal(SIGINT,signal_handler);pause();return0;}10.使用PIPE时限父子进程向子进程发送1234567890,子进程接收并显示#include#includemain(){intpfd[2];charbuf[32];pid_tpid;pipe(pfd);if((pid=fork())<0)perror("fork");elseif(pid>0){close(pfd[0]);write(pfd[1],"1234567890",11);}else{close(pfd[1]);read(pfd[0],buf,11);printf("childread:%s\n",buf);}}、单项选择题1、Linux操作系统内核创始人是(C)A.BillGatesBRichardStallmanC.LinusTorvaldsDDennisM.Ritchie2、以下哪种不是Linux的Shell类型(C)A.bashB.kshC.rshD.csh3、下面关于Shell的说法,不正确的是(B)。A一种命令语言解释器B、一种和C类似的程序语言C操作系统的外壳D、用户与Linux内核之间的接口程序4、hda3表示(B)。AIDE0接口上的从盘B、IDE0接口上主盘的第三个分区CIDE0接口上的第三个主分区D、IDE0接口上的第三个逻辑分区5、一般情况下,Swap的大小建议是(C)。A50MB、100MC、内存大小的2倍D、150M6、Linux下的cd命令可以改变用户的当前目录,当用户键入cd并按回车后,(A)。A、当前目录改为用户主目录B、当前目录改为根目录C当前目录没有变D、当前用户改为上一级目录7、在字符界面下启动X-Window的命令是(B)AstartB、startxC、beginD、beginx二、填空题(将正确答案填在每小题的空格内。本题共40空,每空1分,共40分)1、安装Linux时经常建议初学者将磁盘分两个分区,分别是根分区和SWA交换分区。2、Linux的内核版本分为稳定版和开发版,其版本号通常由3个数字组成,并表示为X、Y、Z的形式,X代表_主版本号,Y代表次版本号,Z代表末版本号。其中,Y如果是偶数,则代表这个内核版本是稳定版,可以公开发行。3、如果将硬盘接在第一个IDE接口的从硬盘上,在Linux系统中这个硬盘代号是hdb。这个硬盘第二个逻辑分区的代号是—hdb6。4、在Windows与Linux并存的计算机中,安全删除Linux而不影响Windows的两个步骤分别是—删除Linux的引导装载程序__和__删除Linux的磁盘分区5、从GNOM切换到KDE有两种方法,分别是—利用桌面切换工具和_利用登录画面•6、Linux的虚拟终端有__7—个,从图形模式切换到第一个文字界面的快捷键组合是Ctrl+Alt+_[F1]~[F6]。7、在字符界面下退出当前登录的方法有两个,分别是___exit___和___Ctrl+D__。8系统要在今天的21:30关机,在字符界面下可以使用_shutdown-h21:30—命令来实现。9、拥有管理员root权限的用户在字符界面下重启Linux的命令有两个,分别是_reboot__和__shutdown-rnow_。10、想知道当前目录的绝对路径,可以在字符界面下输入___pwd命令。11、使用命令shutdown-c_可以取消已经在后台进行的shutdown指令内容,如果想要取消当前正在运行的shutdown指令内容,可以使用快捷键Ctrl+c__。TOC\o"1-5"\h\z12、将系统当前时间改为2009年12月1日10时30分的命令是date120110302009。13、想知道2009年10月份的月历的命令是__cal102009。14、Bash的命令提示符有两种,分别是$和__#(系统管理员)__。15、分屏显示出当前目录下的所有文件和子目录,包括隐藏文件和隐藏子目录的详细信息的命令是ls-al|more。16、想显示文件的第11-20行的命令是head-n20文件名阳il-n10。17、在字符界面中想查找date命令的帮助信息,最常使用_man__#令。退出该帮助信息的快捷键是__q__。18、清除当前终端屏幕内容的命令是clear。19、在字符界面下可以通过tab键对输入的shell命令实现自动补全。20、目前,Linux用于保存数据的磁盘分区所采用的默认文件系统为___ext3。21、在字符界面,欲为命令"ls-al”设置一个别名为"II”,那么设置的命令为aliasll='ls-al'。22、分屏显示文本文件的命令有两个,其中less命令可以使用pageup、pagedown等按键的功能向前向后翻看,因此更加灵活。23、将ls-al命令执行的结果不在标准输出设备上显示,而是保存到result.txt进行输出的命令是ls—al>result.txt24、bash可以记录一定数量已经执行过的命令,这些命令都被存放在bash_history文件中,可以通过history命令来查看Shell命令的历史记录。25、某文件的访问权限用数字法表示为765,用字母法则表示为___rwxrw-r-x__。三、判断题(本题共6空,每空1分,共6分)TOC\o"1-5"\h\z在普通用户账户下可以使用命令shutdown-hnow进行关机。(F)以2009/10/10格式显示时间的命令是date+%y/%m/%d。(F)3.命令cd/var/www/html表示从根目录开始寻址进入指定的绝对目录。(T)命令cd~和命令cd~user的作用完全相同,都是回到用户的主目录。(F)cat和tac功能相同,但是显示的结果恰好相反。(T)GNU软件也叫自由软件,是指源代码公开,但不可自由传播的软件。(F)四、简答题(本题型共5小题,共40分)1.什么是Linux?(6分)简单地说,Linux是一套免费使用和自由传播的类Unix操作系统,它主要用于基于Intelx86系列CPU的计算机上。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。Linux的应用领域有哪些?(6分)集成计算机、桌面、服务器、嵌入式系统3.Linux的主要组成部分从广义上来讲有哪几部分构成?(8分)内核、Shell、文件系统、实用工具4.简述XWindow的工作原理。(10分)用户的输入信息由XServer接受后,通过X协议传递给XClient,XClient根据用户的指示执行相应的程序,并把显示结果返回给XServer,XServer根据XClient返回的显示结果,在显示器中建立窗口,并在窗口中显示图形和文字每一套XWindow系统只有一个唯一的XServerXServer用来负责建立窗口、在窗口中画图形影像和文字、回应XClient程序的请求XClient仅仅是实现系统窗口功能的一些应用程序,如GNOMEXClient无法直接影响窗口或显示,只能送一个“请求”给XServer,让XServer来完成它们的请求5.命令提示符“[jerry@rhel3/]”的含义是什么?(10分)当前账户名称:jerry主机名:rhel3根目录:/一、选择题1)下列关于操作系统的叙述中,哪一条是不正确的?(C)操作系统管理计算机系统中的各种资源B.操作系统为用户提供良好的界面C.操作系统与用户程序必须交替运行D.操作系统位于各种软件的最底层2)Linux的发展始于()年,它是有()的一名大学生开发的。(A)A.1990、芬兰B.1991、芬兰C.1993、美国D.1991、波兰3)内核不包括的子系统是(D)。(进程管理系统内存管理系统\I/O管理系统\虚拟文件系统进程间同性间通信子系统)A.进程管理系统B.内存管理系统C.I/O管理系统D.硬件管理系统A.adminLinux中权限最大的账户是(B)rootC.guestD.super)。在通常情况下,登录Linux桌面环境,需要(BA.任意一个帐户B.有效合法的用户帐号和密码C.任意一个登录密码D.本机IP地址在RedHatEnterpriseLinux5A.“应用程序”Internet中要配置计算机的B.“系统”IP地址,需要打开哪个菜单(C“首选项”宀“网络代理”)。“系统”一“管理”一“网络”D•“位置”宀“网络服务器”配置网卡时,下面哪一项一般不需要配置(A.IP地址B.子网掩码)。C.默认网关地址D.MAC地址Linux文件权限中保存了(文件所有者的权限B.D)信息。文件所有者所在组的权限C.其他用户的权限Linux文件系统的文件都按其作用分门别类地放在相关的目录中,对于外部设备文件,一般应将其放在(D.以上都包括)目录中。A./binB./etcC./devD./lib某文件的组外成员的权限为只读;所有者有全部权限;组内的权限为读与写,则该文件的权限为()。4)5)6)7)8)9)10)11)12)13)14)15)16)17)18)19)20)21)22)A.467B.674C.476D.764C.chmodo+xexer1A./dev/hadB./dev/hdbC./dev/hdcD./dev/hdd)。文件exer1的访问权限为rw-r--r--,现要增加所有用户的执行权限和同组用户的写权限,下列命令正确的是(chmoda+xg+wexer1B.chmod765exer1chmodg+wexer1当前安装Linux的主机中位于第二个IDE接口的master接口挂接一块40GB的硬盘,其在Linux中的设备文件名为(B已知Linux系统中的唯一一块硬盘是第一个IDE接口的master设备,该硬盘按顺序有3个主分区和一个扩展分区,这个扩展分区又划分了3个逻辑分区,则该硬盘上的第二个逻辑分区在Linux中的设备名称是(C)。A./dev/hda2/dev/hda5C./dev/hda6D./dev/sda6在redhatLinux系统中,下列哪个命令可以用来将分区挂载到目录:A.fdiskB.mkfsC.tune2fsD.mount在redhatLinux系统中,所有文件系统的挂载信息存放在哪个配置文件中:A./etc/passwd在redhatLinuxB./etc/fstabC./etc/modules.confD./etc/inittab系统中,下列哪个命令可以用来激活服务的不同运行级别:A.activeB.makeC.turn在redhatLinuxD.chkconfig系统中,硬件驱动程序配置信息存放在那个配置文件中:A./etc/passwd在redhatLinuxB./etc/fstabC/etc/modules.confD./etc/inittab系统中,下列哪个命令可以用来查看kernel版本信息:(D)A.checkB.lskernelC.kernelD.uname将WindowsC:盘(hdal)安装在Linux文件系统的/winsys目录下,命令是(B)A.mountdev/had1/winsysB.mount/dev/had1/winsysC.mount/dev/had1D.mountwinsys哪一个是终止一个前台进程可能用到的命令和操作dev/had1winsys)。A.killB.+cC.shutdownD.halt你是Linux系统员,在/root下编写一个脚本文件如下:showenv。你运行此脚本,命令如下:./showenvPWD结果显示错误提示bash:./showennv:权限不够于是你运行命令llshowenv显示如下:-rw-r—r--1rootroot1556月1909:58showenv你想实现只有自己可以运行此脚本,而其他帐户不能运行,你需要运行命令(A)oA.chmodu+xshowenvB.chmodg+xshowenvchmodo+xshowenvD.以上命令都不能实现你是Linux系统管理员,运行命令mount-1iso9660/dev/cdrom/mnt/cdrom。随后又运行几个命令,其中包含umount/mnt/cdrom.但不包含mount命令。你还运行命令history,其中部分显示如下:23)24)25)26)27)28)29)30)31)32)33)34)35)36)37)38)103mkdir/mnt/cdrom104mount-tiso9660/dev/cdrom/mnt/cdrom你想再次访问光驱,应该运行命令(C)。A.单击一次上箭头B.!mountC.!104D.Mount/mnt/cdrom?????第二个IDE接口主硬盘的第一个分区的标识为(hdb1)。/dev/hdc5自动地为一个网络中的主机A./dev/hda5B./dev/hda1C./dev/hdc1若一台计算机的内存为128M,则交换分区的大小一般设为(C)。A.64MBB.128MBC.256MBD.512MBDHCP是动态主机配置协议的简称,其作用是可以使网络管理员通过一台服务器来管理一个网络系统,分配(D)地址。A.网络B.MACC.DNSD」P检查DNS服务器的配置文件的命令有(C)A.named-checkconfB.named-checkzoneC.nslookupD.checkdns以下对DNS服务器的描述,正确的是(C)。DNS服务器的主配置文件为/etc/named/dns.Conf配置DNS服务器,只需配置好/etc/named,conf文件即可配置DNS服务器,通常需要配置/etc/named
/
本文档为【Linux操作系统考试题库】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索