全部知识点

第7081题

将/home/stud1/wang目录做归档压缩,压缩后生成wang.tar.gz文件,并将此文件保存到/home目录下,实现此任务的tar命令格式______。

第7082题

对于给定的文件file,统计其中所有包含字符串”WHU”的行数的一条命令是      

第7083题

对于Shell脚本程序,若输入参数数量多于9个,则程序遍历每个参数可通过使用____命令实现。

第7084题

在System V进程通讯方式中,ipc_perm结构描述对一个系统IPC对象的存取权限,而用于定位IPC对象的引用标志符key可以依据键值分成_____和______两种类型。

第7085题

在底半技术中把一个中断处理分为哪几部分?为什么采用这种技术?


答:在底半技术中把一个中断处理分为2部分:顶半部分和底半部分。2分

采用这种技术可以:使中断的总延迟时间最小化,加快对中断请求的响应速度,合并某些中断处理。3分

第7086题

论述实时信号、非实时信号、可靠信号、不可靠信号四个概念。


答:实时信号目前未用,非实时信号编号1~31、0表示空信号 1分

非实时信号没有排队机制,可能丢失 1分

不可靠信号0~31、可靠信号32~63 1分

不可靠信号每次处理完信号后,都将对信号的响应设置为默认动作,需要在结尾再次安装信号;可靠信号和不可靠信号的安装函数也不同。两者的区别主要在于信号类型取值,而不在于操纵他们的API 2分

第7087题

简要论述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分

第7088题

简述Linux文件系统通过i节点把文件的逻辑结构和物理结构转换的工作过程。


答:Linux通过i节点表将文件的逻辑结构和物理结构进行转换 1分

i节点是一个64字节长的表,表中包含了文件的相关信息,其中有文件的大小、文件所有者、文件的存取许可方式以及文件的类型等重要信息。1分

在i节点表中最重要的内容是磁盘地址表。在磁盘地址表中有13个块号,文件将以块号在磁盘地址表中出现的顺序依次读取相应的块。若文件空间大于13块,则分别用1次、2次、3次间接块实现对数据块的定位。 2分

此后,Linux文件系统通过把i节点和文件名进行连接,当需要读取该文件时,文件系统在当前目录表中查找该文件名对应的项,由此得到该文件相对应的i节点号,通过该i节点的磁盘地址表把分散存放的文件物理块连接成文件的逻辑结构。 1分

第7089题

假设你的用户账号是zheng,现在你登录进入linux系统,查看当前登录到系统中的用户,查看当前系统中运行的进程,然后再退出系统。


答:

login:zheng
Password:口令
$who
$ps
$Ctrl+D
第7090题

在当前目录/home/zheng下新建一个目录back,将当前目录改为back,在back下新建2个长度为0的文件test1、test2,然后把test2移到其父目录中并改名为file12。


答:

$ mkdir back
$ cd back
$ touch  test1 test2
$ mv  test2   ../file2
第7091题

现在需要统计当前目录/home/zheng下普通文件的数目并显示结果,如何实现?

答:

$find –type f | wc –l
第7092题

假设你是系统管理员,需要增加一个新的用户账号zheng,为新用户设置初始密码,锁定用户账号uly,并删除用户账号chang。


答:

#useradd zheng
#passwd  zheng
#passwd –l uly
#userdel chang


第7093题

若给需要将/home/zheng目录下的所有文件打包压缩成/tmp/zheng.tar.gz,你准备怎么做?当需要从压缩包中恢复时,又该如何处理?


答:

#tar –zcvf/tmp/zheng.tar.gz/home/zheng
#tar -zxvf/tmp/zheng.tar.gz
第7094题

下面给出了一个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按日期打包保存于该目录中。

第7095题

填写标记代码行的意义,给出功能描述和前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
第7096题

设计一个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
第7097题

在Linux2.4.0版本中,进程有 ______ 种状态,进程使用 ______ 系统调用后进入僵死状态。

第7098题

在Linux 中,管道分为 ______ 种类型,若创建或打开管道时获得的描述符存放在fd中,则fd[1]是 __ 。

第7099题

Linux为用户提供的接口有____ 、____、____

第7100题

Linux在I386体系结构中支持 ______分页机构。