Linux的填空题你会吗?

Linux的填空题你会吗?,第1张

网络名,主机名

划分子网,判断两个IP是否为同一网络

PID(进程ID)

普通文件,目录文件,连接文件,字符设备文件,块设备文件,命名管道文件。

mkdir

du

root

useradd,adduser

kill

无权限,可读,可写,可执行, 0,4,2,1

ls

看这里都有

Linux面试题与答案

一.填空题:

1. 在Linux系统中,以 文件 方式访问设备 。

2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统。

3. Linux文件系统中每个文件用 i节点 来标识。

4. 全部磁盘块由四个部分组成,分别为引导块 、专用块 、 i节点表块 和数据存储块。

5. 链接分为: 硬链接 和 符号链接 。

6. 超级块包含了i节点表 和 空闲块表 等重要的文件系统信息。

7. 某文件的权限为:d-rw-_r--_r--,用数值形式表示该权限,则该八进制数为: 644 ,该文件属性是 目录 。

8. 前台起动的进程使用 Ctrl+c 终止。

9. 静态路由设定后,若网络拓扑结构发生变化,需由系统管理员修改路由的设置。

10. 网络管理的重要任务是: 控制 和 监控 。

11. 安装Linux系统对硬盘分区时,必须有两种分区类型: 文件系统分区 和 交换分区 。

13. 编写的Shell程序运行前必须赋予该脚本文件 执行 权限。

14. 系统管理的任务之一是能够在 分布式 环境中实现对程序和数据的安全保护、备份、恢复和更新。

15. 系统交换分区是作为系统 虚拟存储器 的一块区域。

16. 内核分为 进程管理系统 、 内存管理系统 、 I/O管理系统 和文件管理系统 等四个子系统。

17. 内核配置是系统管理员在改变系统配置 硬件 时要进行的重要 *** 作。

18. 在安装Linux系统中,使用netconfig程序对网络进行配置,该安装程序会一步步提示用户输入主机名、域名、域名服务器、IP地址、 网关地址 和 子网掩码 等必要信息。

19. 唯一标识每一个用户的是用户 ID 和用户名。

20 . RIP 协议是最为普遍的一种内部协议,一般称为动态路由信息协议。

21. 在Linux系统中所有内容都被表示为文件,组织文件的各种方法称为 文件系统 。

22. DHCP可以实现动态 IP 地址分配。

23. 系统网络管理员的管理对象是服务器、 用户 和服务器的进程 以及系统的各种资源。

24. 网络管理通常由监测、传输和管理三部分组成,其中管理部分是整个网络管理的中心。

25. 当想删除本系统用不上的 设备驱动程序 时必须编译内核,当内核不支持系统上的 设备驱动程序 时,必须对内核 升级 。

26 Ping命令可以测试网络中本机系统是否能到达 一台远程主机 ,所以常常用于测试网络的 连通性 。

27. vi编辑器具有两种工作模式: 命令模式 和 输入模式 。

28. 可以用ls –al命令来观察文件的权限,每个文件的权限都用10位表示,并分为四段,其中第一段占 1 位,表示 文件类型 ,第二段占3位,表示 文件所有者 对该文件的权限。

29. 进程与程序的区别在于其动态性,动态的产生和终止,从产生到终止进程可以具有的基本状态为: 运行态 、 就绪态 和 等待态(阻塞态) 。

30. DNS实际上是分布在internet上的主机信息的数据库,其作用是实现 IP地址和主机名 之间的转换。

31. Apache是实现WWW服务器功能的应用程序,即通常所说的“浏览web服务器”,在服务器端 为用户提供浏览 web服务 的就是apache应用程序。

32. 在Linux系统上做备份可以有两种类型:系统备份 和 用户备份 。其中前者是指对 *** 作系统 的备份,后者是指对 应用程序和用户文件的备份。

33. CD-ROM标准的文件系统类型是 iso9660 。

34. 当lilo.conf配置完毕后,使之生效,应运行的命令及参数是 lilo 。

35. 在使用ls命令时,用八进制形式显示非打印字符应使用参数 -b 。

36. Linux使用支持Windows 9.x/2000长文件名的文件系统的类型是 vfat 。

37. 设定限制用户使用磁盘空间的命令是 quota 。

38 在Linux系统中,用来存放系统所需要的配置文件和子目录的目录是 /etc 。

39. 硬连接只能建立对 文件 链接。符号链接可以跨不同文件系统创建。

40. 套接字文件的属性位是 s 。

41. 结束后台进程的命令是 kill 。

42. 进程的运行有两种方式,即 独立运行和使用父进程运行 。

43. Links分为 硬链接和符号链接 。

44. 在超级用户下显示Linux系统中正在运行的全部进程,应使用的命令及参数是 ps -aux 。

45. 管道文件的属性位是 p 。

46. 将前一个命令的标准输出作为后一个命令的标准输入,称之为 管道 。

47. 为脚本程序指定执行权的命令及参数是 chmod a+x filename 。

48. 进行远程登录的命令是 telnet 。

49. 欲发送10个分组报文测试与主机abc.tuu.edu.cn的连通性,应使用的命令和参数是: ping abc.tuu.edu.cn –c 10 。

50. DNS服务器的进程命名为named,当其启动时,自动装载 /etc目录下的 named.conf 文件中定义的DNS分区数据库文件。

51. Apache服务器进程配置文件是 httpd.conf 。

52.在 Linux系统中,压缩文件后生成后缀为.gz文件的命令是 gzip 。

53. 在用vi编辑文件时,将文件内容存入test.txt文件中,应在命令模式下键入 :w test.txt 。

54 可以在标准输出上显示整年日历的命令及参数是 cal -y 。

55. 在shell编程时,使用方括号表示测试条件的规则是:方括号两边必须有 空格 。

56. 检查已安装的文件系统/dev/had5是否正常,若检查有错,则自动修复,其命令及参数是 fsck –a /dev/had5 。

57. 在Windows9.x环境下共享Unix/Linux中的用户目录的一个工具是 Samba服务器 。

58. 系统管理员的职责是进行系统资源管理、系统性能管理、设备管理、安全管理和 系统性能监测 。

59 在Linux系统中,测试DNS服务器是否能够正确解析域名的的客户端命令,使用命令 nslookup 。

60. 在Linux系统下,第二个IDE通道的硬盘(从盘)被标识为 hdb 。

61. 当系统管理员需升级内核版本和改变系统硬件配置时,应 重新编译内核 。

62. 如果只是要修改系统的IP地址,应修改 /etc/rc.d/rc.inet1 配置文件。

63. 当LAN内没有条件建立DNS服务器,但又想让局域网内的用户可以使用计算机名互相访问时,应配置 /etc/hosts 文件。

64. 在vi编辑环境下,使用 Esc键 进行模式转换。

65. Slackware Linux 9.0通常使用 ext3 文件系统,系统的全部磁盘块由 四 部分组成。

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

67. 管道就是将前一个命令的 标准输出 作为后一个命令的 标准输入 。

68. 在使用手工的方法配置网络时,可通过修改 /etc/HOSTNAME 文件来改变主机名,若要配置该计算机的域名解析客户端,需配置 /etc/resolv.conf 文件。

69. 启动进程有手动启动和调度启动两种方法,其中调度启动常用的命令为 at 、 batch 和 crontab 。

70. test.bns.com.cn的域名是 bns.com.cn ,如果要配置一域名服务器,应在 named.conf 文件中定义DNS数据库的工作目录。

71. Sendmail邮件系统使用的两个主要协议是: SMTP 和 POP ,前者用来发送邮件,后者用来接收邮件。

72. DHCP是动态主机配置协议的简称,其作用是:为网络中的主机分配IP地址 。

73. 目前代理服务器使用的软件包有很多种,教材中使用的是 squid 。

74. rm命令可删除文件或目录,其主要差别就是是否使用递归开关 -r或-R 。

75. mv 命令可以移动文件和目录,还可以为文件和目录重新命名。

76. 路由选择协议(RIP)的跳数表示到达目的地之前必须通过的 网关 数,RIP接受的最长距离是 15跳 。

77. ping命令用于测试网络的连通性,ping命令通过 ICMP 协议(internet控制信息协议)来实现。

78. nfs 协议用于实现Unix(/linux)主机之间的文件系统共享。

79. 在Linux *** 作系统中,设备都是通过特殊的 文件 来访问。

80. shell不仅是 用户命令的解释器 ,它同时也是一种功能强大的编程语言。 bash是Linux的缺省shell。

81. 用 >>符号将输出重定向内容附加在原文的后面。

82. 增加一个用户的命令是:adduser 或useradd 。

83 进行字符串查找,使用grep命令。

84. 使用 * 每次匹配若干个字符。

85. /sbin 目录用来存放系统管理员使用的管理程序。

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=0semctl(____________________)//设置信号量编号为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)

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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8670328.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-19
下一篇 2023-04-19

发表评论

登录后才能评论

评论列表(0条)

保存