linux考试题库小程序(linux考试简答题答案)

时间:2023-03-11 13:02来源:考试资源网 考试资料网
linux考试题库小程序(linux考试简答题答案)

linux考试题库小程序(linux考试简答题答案)

admin2周前免费1

linux试题求大神帮解一下赶时间谢谢了

1. 用grep命令显示在文件a中所有包含每个字符串至少有5个连续小写字符的字符串的行。

cat a | grep -E "[a-z]{5,}"

2. $ find / -name "test.c" -type f -mtime +3 -user greek -exec rm {} ;的含义。

找出并且删除根目录及其子目录下 所有文件名为test.c的普通的文本文件 ,且该文件的最后修改时间以当前时间为参照大于3天时间

3. 在一个程序崩溃时,它一般会在指定目录下生成一个core文件。如果没生成core文件,可能是什么原因?怎么解决?

答:用“ulimit -c”命令查看当前系统设置的core文件的大小门限值

一般情况是core文件的大小超过了这个值

执行 “ulimit -c unlimited”命令后,操作系统不在限制core文件大小,或者把unlimited 替换成一个适当的值。

4. 执行命令 ls –l 时,某行显示如下:

-rw-r--r-- 1 chris chris 207 jul 20 11:58 mydata

(1)用户chris对该文件具有什么权限?

答:chris对mydata文件具有读写的权限

(2)如何使任何用户都可以读写执行该文件?

答:chmod 777 mydata

5. 大学校门处要求来客登记,只有一张登记表,登记表同时只能由一个人使用,用P、V原语描述一个校外人员进入大学的过程。

三、程序填空题(每小题10分,共20分)1.阅读下面程序,请将其补充完整。

#define SHMDATASIZE 1000 //共享内存大小,以字节为单位

void server(void)

{

union semun sunion;

int semid, shmid;

void *shmdata;

char *buffer;

semid=semget(_________________);//创建两个信号量

sunion.val=1;

semctl(____________________);//设置信号量编号为0的值

sunion.val=0;semctl(____________________);//设置信号量编号为1的值

shmid=shmget(____________________);

shmdata=shmat(___________________);

*(int *)shmdata=semid;

buffer=shmdata+sizeof(int);

printf("Server is running with SHM id ** %d**n", shmid);}

2.阅读下面程序,请将其补充完整。

#define BUFFERSIZE 1024

void locksem(int semid, int semnum)

{

struct sembuf sb;

sb.sem_num=semnum;

sb.sem_op=________;//P操作

sb.sem_flg=SEM_UNDO;

semop(_______________________);

}

void unlocksem(int semid, int semnum)

{

struct sembuf sb;

sb.sem_num=semnum;

sb.sem_op=________;//V操作

sb.sem_flg=SEM_UNDO;

semop(______________________);

}

void clientwrite(int semid, char *buffer){

locksem(semid, 0);

printf("Enter Message: ");

fgets(_______________);//从键盘输入一个字符串

unlocksem(semid, 1);

}

四、阅读程序题(共3小题,每小题10分,共30分)

1. 运行下面程序,最多运行多少个进程?画出进程家族树。

#include "stdio.h"

#include "sys/types.h"

#include "unistd.h"

int main()

{

pid_t pid1;

pid_t pid2;

pid1 = fork();

pid2 = fork();

}

答最多有4个进程

首先第一次调用fork 主进程会产生一个pid1的子进程

然后pid1和主进程会分别调用一次pid2 = fork(); 分别再产生一个子进程因此一共最多4个进程

2. 下面给出了一个SHELL程序,试对其行后有#(n)形式的语句进行解释,并说明程序完成的功能。

#!/bin/bash #(1)定义该shell脚本由哪中类型的shell解释器解析

dir=$1 #(2)将shell程序的第一个命令行参数付给变量dir

if [ -d $dir ] #(3)判断dir的值是否是一个目录

then cd $dir #(4)如果dir是目录则进入该目录

for file in *

do

if [-f $file ] #(5)判断file是否为一个文件

then

cat $file #(6)打开文件,将文件内容输出到标准输出流中

echo “end of file $file”

fi

done

else

echo “bad directory name $dir”

fi

3. 阅读Makefile文件,回答以下问题:

(1) 此Makefile文件的主要功能是什么?

编译f1.c f2.c f3.c三个文件,最终生成动态链接库libmys.so

(2) 此Makefile文件包含多少个规则?它们分别是什么?

包含4个规则

第一个 “TGT = $(patsubst %.c, %.o, $(SRC))”

将$(SRC)目录下的所有以.c为后缀的文件替换成.o结尾,且存入TGT变量中

第二个 “%.o : %.c

cc -c $”

用cc命令依次将三个源文件编译成目标文件

第三个

libmys.so : $(TGT)

cc -shared -o $@ $(TGT)

用上一步生成的3个中间文件生成动态链接库libmys.so

第四个

clean:

rm -f $(TGT)

执行 make clean 后 会删除所有的中间文件即.o文件

(3) 使用此Makefile文件可以生成目标文件f2.o吗?为什么?

答:可以,因为该makefile的逻辑是先生成所有的.o文件,然后再生成动态链接库。

all : libmys.so

SRC = f1.c f2.c f3.c

TGT = $(patsubst %.c, %.o, $(SRC))

%.o : %.c

cc -c $

libmys.so : $(TGT)

cc -shared -o $@ $(TGT)

clean:

rm -f $(TGT)

编程题没做,楼主一、见谅,有时间做了补充下答案

linux题目,写出下面程序的运行结果,求大神解答!

1, Hello! I love JAVA.

2, s=180

3, 第三题,貌似写错了题目了吧。没有SuperClass,

Linux考试题3

21. shell是用户和Linux内核之间的,它是命令语言、命令解释程序及程序设计语言的统称。(接口)

--------------------------------------------------------------------------------

22. 在/etc目录下有个fstab文件,它里面列出了linux开机时自动挂载的文件系统的列表。我的/etc/fstab文件如下:

/dev/hda2 / ext3 defaults 1 1

/dev/hda1 /boot ext3 defaults 1 2

none /dev/pts devpts gid=5,mode=620 0 0

none /proc proc defaults 0 0

none /dev/shm tmpfs defaults 0 0

/dev/hda3 swap swap defaults 0 0

在/etc/fstab文件里,第一列是挂载的文件系统的设备名,第二列是,第三列是挂载的文件系统类型,第四列是挂载的选项,选项间用逗号分隔。 (分数:3,完成次数:99)

(挂载点)

--------------------------------------------------------------------------------

23. linux是一个真正的多任务和分时操作系统,允许多个用户在相同的机器上一次运行很多程序。(正确)

正确 错误

--------------------------------------------------------------------------------

24. apache是实现internet上文件共享应用服务器的应用程序。(错误)

正确 错误

--------------------------------------------------------------------------------

25. RedHat LINUX安装时自动创建了根用户(正确 )

正确 错误

--------------------------------------------------------------------------------

26. RedHat Linux使用 ls -all 命令将列出当前目录中的文件和子目录名。(错误)

正确 错误

--------------------------------------------------------------------------------

27. Linux的历史可以追溯到(A)1990年,Linus Torvalds还是(B)荷兰赫尔辛基大学的一名学生,最初用(C)汇编语言写了一个在80386保护模式下处理多任务切换的程序,后来从Minix(用于操作系统教学、很小的Unix)中得到灵感,发誓要写一个比Minix更好的Minix,于是开始写了一些硬件的设备驱动程序、一个小的文件系统......,这样0.0.1版本的Linux就出来了(分数:1,完成次数:99)

A B C

(B,应该是芬兰,不是荷兰!)

--------------------------------------------------------------------------------

补充说明:27题为纠错题,找到错误的地方。


    “linux考试题库小程序(linux考试简答题答案)”由考试资料网(www.kszl.net)整理!仅供学习参考!具体以权威部门公布的内容为准!

------分隔线----------------------------


------分隔线----------------------------