通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
第1题
用户编写了一个文本文件a.txt,想将该文件名称改为txt.a,下列命令______可以实现。
cd a.txt xt.a
echo a.txt > txt.a
rm a.txt txt.a
cat a.txt > txt.a
第2题
Linux文件权限一共10位长度,分成四段,第三段表示的内容是____ 。
文件类型
文件所有者的权限
文件所有者所在组的权限
其他用户的权限
第3题
在使用mkdir命令创建新的目录时,在其父目录不存在时先创建父目录的选项是_____。
-m
-d
-f
-p
第4题
下面关于i节点描述错误的是_____ 。
i节点和文件是一一对应的
i节点能描述文件占用的块数
i节点描述了文件大小和指向数据块的指针
通过i节点实现文件的逻辑结构和物理结构的转换
第5题
在vi编辑器中的命令模式下,重复上一次对编辑的文本进行的操作,可使用______命令。
上箭头
下箭头
“.”
“*”
第6题
某文件的组外成员的权限为只读;所有者有全部权限;组内的权限为读与写,则该文件的权限为______ 。
467
674
476
764
第7题
在Redhat公司发布的Linux版本中,若要使得用户登录验证,需要修改以下______脚本。
/etc/inittab
/etc/passwd
/etc/shadow
/etc/group
第8题
下列不是Linux系统进程类型的是______ 。
交互进程
批处理进程
守护进程
就绪进程
第9题
下列关于/etc/fstab文件描述,正确的是______ 。
fstab文件只能描述属于linux的文件系统
CD_ROM和软盘必须是自动加载的
fstab文件中描述的文件系统不能被卸载
启动时按fstab文件描述内容加载文件系统
第10题
在Shell脚本中,用来读取文件内各个域的内容并将其赋值给Shell变量的命令是_____ 。
fold
join
tr
read
第11题
安装Linux系统对硬盘分区时,必须有两种分区类型: 和 。
第12题
在Linux的两种链接文件中,只能实现对文件链接的一种方式是: 。
第13题
Linux主要采用了 和 两种动态内存管理技术实现了物理内存以On demand方式动态分配。
第14题
对于System V类型的共享内存页面,Linux基于______算法决定哪些页面应当被换出物理内存。
第15题
在Linux与中断相关的三个核心数据结构中,用做抽象的中断控制器的数据结构是_ _____,它包含一系列处理中断控制器特有的操作。
第16题
通过将______动态链入块设备控制结构blk_dev_struct,Linux设备管理器有效的实现了物理设备和缓冲区之间的异步读写通讯。
第17题
将/home/stud1/wang目录做归档压缩,压缩后生成wang.tar.gz文件,并将此文件保存到/home目录下,实现此任务的tar命令格式______。
第18题
对于给定的文件file,统计其中所有包含字符串”WHU”的行数的一条命令是
第19题
对于Shell脚本程序,若输入参数数量多于9个,则程序遍历每个参数可通过使用____命令实现。
第20题
在System V进程通讯方式中,ipc_perm结构描述对一个系统IPC对象的存取权限,而用于定位IPC对象的引用标志符key可以依据键值分成_____和______两种类型。
第21题
在底半技术中把一个中断处理分为哪几部分?为什么采用这种技术?
答:在底半技术中把一个中断处理分为2部分:顶半部分和底半部分。2分
采用这种技术可以:使中断的总延迟时间最小化,加快对中断请求的响应速度,合并某些中断处理。3分
第22题
论述实时信号、非实时信号、可靠信号、不可靠信号四个概念。
答:实时信号目前未用,非实时信号编号1~31、0表示空信号 1分
非实时信号没有排队机制,可能丢失 1分
不可靠信号0~31、可靠信号32~63 1分
不可靠信号每次处理完信号后,都将对信号的响应设置为默认动作,需要在结尾再次安装信号;可靠信号和不可靠信号的安装函数也不同。两者的区别主要在于信号类型取值,而不在于操纵他们的API 2分
第23题
简要论述Kswapd核心线程的动态特性。
答:主要通过nr_async_pages参考free_pages_high和free_pages_low来判断交换数量和线程睡眠时间: 1分
Nr_async_pages大于free_pages_high时每次释放6个页面,在free_pages_high和free_pages_low之间时释放3个,小于free_pages_low时不释放 2分
若Kswapd被唤醒后发现Nr_async_pages小于free_pages_low则睡眠时间加班,反之则逐步延长睡眠时间 2分
第24题
简述Linux文件系统通过i节点把文件的逻辑结构和物理结构转换的工作过程。
答:Linux通过i节点表将文件的逻辑结构和物理结构进行转换 1分
i节点是一个64字节长的表,表中包含了文件的相关信息,其中有文件的大小、文件所有者、文件的存取许可方式以及文件的类型等重要信息。1分
在i节点表中最重要的内容是磁盘地址表。在磁盘地址表中有13个块号,文件将以块号在磁盘地址表中出现的顺序依次读取相应的块。若文件空间大于13块,则分别用1次、2次、3次间接块实现对数据块的定位。 2分
此后,Linux文件系统通过把i节点和文件名进行连接,当需要读取该文件时,文件系统在当前目录表中查找该文件名对应的项,由此得到该文件相对应的i节点号,通过该i节点的磁盘地址表把分散存放的文件物理块连接成文件的逻辑结构。 1分
第25题
假设你的用户账号是zheng,现在你登录进入linux系统,查看当前登录到系统中的用户,查看当前系统中运行的进程,然后再退出系统。
答:
login:zheng Password:口令 $who $ps $Ctrl+D
第26题
在当前目录/home/zheng下新建一个目录back,将当前目录改为back,在back下新建2个长度为0的文件test1、test2,然后把test2移到其父目录中并改名为file12。
$ mkdir back $ cd back $ touch test1 test2 $ mv test2 ../file2
第27题
现在需要统计当前目录/home/zheng下普通文件的数目并显示结果,如何实现?
$find –type f | wc –l
第28题
假设你是系统管理员,需要增加一个新的用户账号zheng,为新用户设置初始密码,锁定用户账号uly,并删除用户账号chang。
#useradd zheng #passwd zheng #passwd –l uly #userdel chang
第29题
若给需要将/home/zheng目录下的所有文件打包压缩成/tmp/zheng.tar.gz,你准备怎么做?当需要从压缩包中恢复时,又该如何处理?
#tar –zcvf/tmp/zheng.tar.gz/home/zheng #tar -zxvf/tmp/zheng.tar.gz
第30题
下面给出了一个SHELL程序,试对其行后有#(n)形式的语句进行解释,并说明程序完成的功能。
#!/bin/sh DIRNAME=`ls /root | grep bak` #(1) if [ -z "$DIRNAME" ] ; then #(2) mkdir /root/bak ; cd /root/bak #(3) fi YY=`date +%y` ; MM=`date +%m` ; DD=`date +%d` #(4) BACKETC=$YY$MM$DD_etc.tar.gz #(5) tar zcvf $BACKETC /etc #(6) echo "fileback finished!"
#(1)获取/root中名称包含bak的文件或目录
#(2)判断1结果为空
#(3)创建目录/root/bak并进入该目录
#(4)获取当前时间的年月日
#(5)按照年(2位)月(2位)日(2位)_etc方式构造压缩文件名
#(6)压缩etc目录并保存在/root/bak中
程序功能:若/root/bak不存在则创建之,然后将/etc按日期打包保存于该目录中。
第31题
填写标记代码行的意义,给出功能描述和前6行程序输出。
#include <unistd.h> #include <signal.h> int ntimes=0; main(int argc, char *argv[]) { int pid,ppid; int p_action( ), c_action( ); signal(SIGUSR1 , p_action); #(1) switch(pid=fork( )) { #(2) case -1: perror("fork failed?); exit(1); case 0: signal(SIGUSR1,c_action); ppid=getppid( ); for ( ; ; ) ; default: { for( ; ; ) { pause; sleep(1); kill(pid,SIGUSR1); #(3) } } } } p_action( ) { printf("parent caught signal #%d\n",++ntimes); } c_action( ) { printf("child caught signal #%d\n",++ntimes/*, ++ltimes*/); int ppid; ppid = getppid(); #(4) kill(ppid, SIGUSR1); sleep(3); }
#(1)在父进程中为信号SIGUSR1绑定函数p_action
#(2)创建子进程
#(3)向子进程发送信号SIGUSR1
#(4)获取父进程的PID4分
父进程无线循环向子进程发送信号,子进程收到信号后向父进程发送相同信号,父子进程之间各自记录全局变量的变化,结果如:
#1child caught signal #1parent caught signal #2child caught signal #2parent caught signal #3child caught signal #4parent caught signal
第32题
设计一个shell程序,添加一个新组为class1,然后添加属于这个组的30个用户,用户名的形式为stdxx,其中xx从01到30。
#!/bin/sh i=1 groupadd class1 while [ $i -le 30 ] do if [ $i -le 9 ] ;then USERNAME=stu0${i} else USERNAME=stu${i} fi useradd $USERNAME mkdir /home/$USERNAME chown -R $USERNAME /home/$USERNAME chgrp -R class1 /home/$USERNAME i=$(($i + 1)) #或let “i=i+1” done
选择题(1 - 10题,共10道) 填空题(11 - 20题,共10道) 简答题(21-24题,共4道) 操作题(25-29题,共5道) 阅读程序写功能题(30-31题,共2道)