Linux程序设计考试例题

Linux程序设计考试例题
Linux程序设计考试例题

例题1程序A生成1个文件,其大小为1000字节,其内容为小写字母abcd...z的循环。试编写该程序。

文件名t

1.c

#include

#include

int main(){char x;

int i;

int fd=open("aa",O_CREAT|O_TRUNC|O_WRONLY,0666);

if(fd<0){printf("open file error!\r\n");exit

(0);};

for(i=0;i<1000;i++){x='a'+(i%26);

write(fd,&x,1);}close(fd);}例题2读出一个文件a.txt的倒数第2个字节和倒数第1个字节,显示在屏幕上。并且显示出当前时间。

文件名t

2.c

#include

#include

#include

int main(){char x[2];

int fd=open("a.txt",O_RDONLY);

if(fd<0){printf("open file error!\r\n");exit

lseek(fd,-3,SEEK_END);

read(fd,x,2);

printf("倒数第二和第一字节为%c%c\r\n",x[0],x[1]);

close(fd);

time_t t;

time(&t);

printf("当前时间:

%s",asctime(localtime(&t)));}例题3产生一个进程树父进程有3个子进程,这三个子进程分别有2个子进程。每个进程退出前打印自己的进程id号

文件名t

3.c

#include

#include

int main(){int ret,i;

for(i=0;i<3;i++){ret=fork();

if(ret==0)break;}if(ret==0)

for(i=0;i<2;i++){ret=fork();

if(ret==0)break;}sleep

(10);

printf("thread %d is exiting now \r\n",getpid());}测试方法:

在另一窗口

#pstree-a

例题4编写两程序实现消息队列通信程序名t4snd.c

#include

#include

#include

#include

#include

#include

#include

struct msgbuf{long mtype;

char ctext[100];

};

int main(){struct msgbuf buf;

int msid;

msid=msgget(0x1000,0666|IPC_CREAT); if(msid<0){printf("open failed\r\n");exit (0);};

while

(1){buf.mtype=getpid();

scanf("%s",buf.ctext);

while((msgsnd(msid,&buf,strlen(buf.ctext),0))<0){if(errno==EINTR)continue;

return ;}if(strcmp(buf.ctext,"exit")==0)break;}return 0;}文件名t4rev.c

#include

#include

#include

#include

#include

#include

#include

struct msgbuf{long mtype;

char ctext[100];

};

int main(){struct msgbuf buf;

int msid,ret;

msid=msgget(0x1000,0666|IPC_CREAT);

if(msid<0){printf("open failed\r\n");exit

(0);};

while

(1){memset(&buf,0,sizeof(buf));

while((ret=msgrcv(msid,&buf,sizeof(buf.ctext),0,0))<0){if(errno==EINTR)continu e;

return ;}printf("%d%s\r\n",buf.mtype,buf.ctext);

if(strcmp(buf.ctext,"exit")==0)break;}msgctl(msid,IPC_RMID,NULL); return 0;}测试方法

首先运行t4snd,输入三行字符串,最后一行必须是小写字母的exit #./t4snd

Hello

World

exit

则t4snd自动退出

然后运行t4rev

#./t4rev

例题5网络TCP的服务端

文件名server.c

#include

#include

#include

#include

#include

#include

#define PORT 82

#define BUFSIZE 512

char buf[BUFSIZE+1];

int main(){//第1步创建套接字

int sockfd=socket(AF_INET,SOCK_STREAM,0);

int opt=SO_REUSEADDR;

setsockopt(sockfd,SOL_SOCKET,SO_REUSEADDR,&opt,sizeof(opt));//端口重用//第2步设置地址结构体

struct sockaddr_in saddr,caddr;

saddr.sin_port=htons(PORT);

0.0.

0.0",&saddr.sin_addr);

//第3步绑定

bind(sockfd,(struct sockaddr*)&saddr,sizeof(saddr));

//第4步监听

listen(sockfd,128);

while

(1){int len=sizeof(caddr);

int new_fd=accept(sockfd,(struct sockaddr*)&caddr,&len); //第5步接收

int ret=fork();

if(ret!=0)continue;

while

(1){int n=read(new_fd,buf,sizeof(buf));

if(n==0){printf("%s:

(0);}buf[n]=0;

printf(" %s from %s:

例题6SDL的简单动画

在编写程序前,要确定2件事情:

1 SDL环境安装了

2 b.bmp文件和源文件和编译后的可执行文件位于同一路径下文件名mv.c

#include

#include

#include

#define X 800

#define Y 600

int main(){SDL_Surface *s;

SDL_Surface *image;

SDL_Rect dest,dest1;

int x,y;

if(SDL_Init(SDL_INIT_VIDEO)<0)

{printf("无法初始化SDL\r\n");exit(-1);};

s=SDL_SetVideoMode(X,Y,16,SDL_SWSURFACE);

if(s==NULL)

{printf("无法设置%d*%d的视频模式\r\n",X,Y);exit(-1);}; image=SDL_LoadBMP("b.bmp");

if(image==NULL)

{printf("无法加载图像%s\r\n");exit

(0);};

dest.x=0;

dest.y=0;

dest.w=image->w;

dest.h=image->h;

while

(1){SDL_FillRect(s,&dest,0);

dest.x=dest.x+2;//变化的x坐标

dest.y=dest.y+3;//变化的y坐标

if(dest.x>X||dest.y>Y)dest.x=dest.y=0;

SDL_BlitSurface(image,NULL,s,&dest);/*对象目标快速转换*/ SDL_UpdateRect(s,0,0,0,0);

SDL_Delay

(10);

SDL_Event e;

if(SDL_PollEvent(&e))

switch(e.type){case SDL_QUIT:

exit

(0);

break;}}

return 0;}注意编译命令

#gccmv.c-omv-lSDL

#./mv

如果这时候报错并且不是代码问题和b.bmp的问题,则可能是xwindow的问题,应该按照下面的方式解决问题:

#exit

$xhost +

$./mv

注意你这时候不是以root身份运行程序了!

测试方法:

然后编译,利用给你的client.c生产客户端。

在第一窗口处启动server,在另外两个窗口处分别启动client.

在两个client窗口处输入不同的字符串,检查sever是否收到了这些字符串。

2016Linux程序设计复习题

一、填空题 1、在Linux 系统中,以文件方式访问设备。 2、Linux 内核引导时,从文件/etc/fstab 中读取要加载的文件系统。 3、Linux 文件系统中每个文件用i 节点来标识。 4、全部磁盘块由四个部分组成,分别为引导块、专用块、i 节点表块和数据存储块。 5、链接分为:硬链接和符号链接。 6、超级块包含了i 节点表和空闲块表等重要的文件系统信息。 7、某文件的权限为:drw-r--r-- ,用数值形式表示该权限,则该八进制数为:644 ,该文件属性是目录。 8、前台起动的进程使用Ctrl+C 终止。 9、静态路由设定后,若网络拓扑结构发生变化,需由系统管理员修改路由的设置。 10、网络管理的重要任务是:控制和监控。 11、安装Linux 系统对硬盘分区时,必须有两种分区类型:文件系统分区和交换分区。 12、编写的Shell 程序运行前必须赋予该脚本文件执行权限。 13、系统管理的任务之一是能够在分布式环境中实现对程序和数据的安全 保护、备份、恢复和更新。 14、系统交换分区是作为系统虚拟存储器的一块区域。 15、内核分为进程管理系统、内存管理系统、I/O 管理系统和文件管理系统等四个子系统。 16、内核配置是系统管理员在改变系统配置硬件时要进行的重要操作。 17、在安装Linux 系统中,使用netconfig 程序对网络进行配置,该安装程序会一步步提示用 户输入主机名、域名、域名服务器、IP 地址、网关地址和子网掩码等必要信息。 18、唯一标识每一个用户的是用户ID 和用户名。 19、RIP 协议是最为普遍的一种内部协议,一般称为动态路由选择协议。 20、在Linux 系统中所有内容都被表示为文件,组织文件的各种方法称为文件系统。 21、DHCP可以实现动态IP 地址分配。 22、系统网络管理员的管理对象是服务器、用户和服务器的进程以及系统的各种资源。 23、网络管理通常由监测、传输和管理三部分组成,其中管理部分是整个网络管理的 中心。 24、当想删除本系统用不上的设备驱动程序时必须编译内核,当内核不支持系统上的 设备驱动程序时,必须对内核升级。 25、Ping 命令可以测试网络中本机系统是否能到达一台远程主机,所以常常用于测试网络 的连通性。 26、vi 编辑器具有三种工作模式:命令模式、底行模式和输入模式。 27、可以用ls –al 命令来观察文件的权限,每个文件的权限都用10 位表示,并分为四段, 其中第一段占 1 位,表示文件类型,第二段占 3 位,表示文件所有者对该文件的权限。 28、进程与程序的区别在于其动态性,动态的产生和终止,从产生到终止进程可以具有的基 本状态为:运行态、就绪态和等待态(阻塞态)。 29、DNS实际上是分布在internet 上的主机信息的数据库,其作用是实现IP地址和主

Linux基础期末考试试题

Linuxreg;在此扮演着极为重要的角色。探索云计算,了解其中的奥秘。 Linux期末考试试题(一) 一、选择题(每小题2分,共50分) 1.在创建Linux分区时,一定要创建(D)两个分区 A.FAT/NTFS B.FAT/SWAP C.NTFS/SWAP D.SWAP/根分区 2.在RedHatLinux9中,系统默认的(A)用户对整个系统拥有完全的控制权。 A.root B.guest C.administrator D.supervistor. 3.当登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么( B) A.NID B.PID C.UID D.CID 4.下面哪个命令是用来定义shell的全局变量( D ) A.exportfs B.alias C.exports D.export 5.哪个目录存放用户密码信息( B) A./boot B./etc C./var D./dev 6.默认情况下管理员创建了一个用户,就会在(B )目录下创建一个用户主目录。 A./usr B./home C./root D./etc 7..当使用mount进行设备或者文件系统挂载的时候,需要用到的设备名称位于(D)目录。 A./home B./bin C./etc D./dev 8.如果要列出一个目录下的所有文件需要使用命令行( C )。 A.ls–l B.ls C.ls–a(所有) D.ls–d 9.哪个命令可以将普通用户转换成超级用户(D ) A.super B.passwd C.tar D.su 10.除非特别指定,cp假定要拷贝的文件在下面哪个目录下( D) A.用户目录 B.home目录 C.root目录 D.当前目录 11.在vi编辑器里,命令"dd"用来删除当前的(A ) A.行 B.变量 C.字 D.字符 12.当运行在多用户模式下时,用Ctrl+ALT+F*可以切换多少虚拟用户终端(B )

linux系统编程试卷(答案)

凌阳教育 嵌入式培训系统编程部分测试试题 注:考试为闭卷,程序题需上机操作运行出结果,考试时间为120分钟 一:选择题(本题共4小题,每题3分共12分) 1)下列不是Linux系统进程类型的是( D ) A 交互进程 B 批处理进程 C 守护进程 D 就绪进程(进程状态) 2)以下对信号的理解不正确的是( B ) A 信号是一种异步通信方式 B 信号只用在用户空间进程通信,不能和内核空间交互 C 信号是可以被屏蔽的 D 信号是通过软中断实现的 3)进程有三种状态( C ) A 准备态、执行态和退出态 B 精确态、模糊态和随机态 C 运行态、就绪态和等待态 D 手工态、自动态和自由态 4)不是进程和程序的区别( B) A 程序是一组有序的静态指令,进程是一次程序的执行过程 B 程序只能在前台运行,而进程可以在前台或后台运行 C 程序可以长期保存,进程是暂时的 D 程序没有状态,而进程是有状态的 二:填空题(本题共6小题,2)、3)两题每空四分,其余每空一分。共23分) 1) 列举八种常见的进程间通信方式无名管道、有名管道、消息队列、信号量、共享内存、信号、套接字 网络上两个主机的进程间通信方式为套接字 2) 命名管道比无名管道的优势提供了一个可以访问的路径名,实现没亲缘关系的进程 间通信 3) 消息队列比命名管道和无名管道的优势可以按类型实现消息的随机查询,没必要先 进先出 4) 按照逻辑结构不同进行数据库划分,Sqlite 数据库属于哪一类关系型数据库 5) 在C语言中操作sqlite数据库,常用的2中方式是sqlite_exec(回调)、

sqlite_gettable(非回调) 6) 列举四种进程调度算法先来先调度(FCFS)、短进程优先调度(SPF)、高优先级调度 (HPF)、时间片轮转调度 三:问答题(本题共7题,每题5分,共35分) 1) 什么是系统调用?系统调用是通过什么方式陷入内核态的?请写出你对系统调用的理解。什么是文件I/O和标准I/O库?文件I/O和标准I/O库的区别? 系统调用是指操作系统提供给用户程序调用的一组特殊接口,用户程序可以通过这组接口获得操作系统内核提供的服务。 系统调用是通过软件中断方式陷入内核的 linux的文件I/O是由操作系统提供的基本IO服务, 标准I/O库通过封装系统调用,提供了一个到底层I/O的接口。 标准I/O默认采用了缓冲机制,还创建了一个包含文件和缓冲区相关数据的数据结构;文件I/O一般没有采用缓冲模式,需要自己创建缓冲区。一种是标准库封装系统调用而成,更高级,一种是系统提供的,比较低级;标准I/O可移植性高、文件I/O可移植性低。 2) 什么是进程?用fork()创建一个子进程时,系统会做什么工作 进程是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配的单位,不仅是系统内部独立运行的实体也是独立竞争资源的实体。 用fork()时系统会分配子进程一个ID号然后继承父进程的地址空间,包括进程上下文进程堆栈打开的文件描述符等等,他就是父进程的一个复制品。 3) 进程和线程有什么区别? 每个独立的进程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在进程程中,由进程提供多个线程执行的控制。 进程是系统进行资源分配和调度的一个独立单位. 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源. 一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行。 4) 什么是线程的互斥和同步,程序应怎样写才能达到互斥或同步? 互斥:是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。但互斥无法限制访问者对资源的访问顺序,即访问是无序的。 同步:是指在互斥的基础上(大多数情况),通过其它机制实现访问者对资源的有序访问。在大多数情况下,同步已经实现了互斥,特别是所有写入资源的情况必定是互斥的。少数情况是指可以允许多个访问者同时访问资源。 在写程序时可以用互斥锁和信号量实现线程同步,一个线程访问共享资源时给这个资源上锁其他线程就不能访问了直到上锁的进程释放互斥锁为止。 5) 什么是僵尸进程?孤儿进程?守护进程? 僵尸进程:僵尸进程是指它的父进程已经退出(父进程没有等待(调用wait/waitpid)它),而该进程dead之后没有进程接受,就成为僵尸进程,也就是(zombie)进程。 孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成

Linux操作系统期末复习资料

电信2012级《Linux操作系统》期末复习提纲第1章概述 操作系统的概念与功能 操作系統的概念: 1.操作系统是计算机系统的一种基本软件,它直接管理和控制计算机的硬件和软件资源,合理地调度资源,使之得到充分的利用;并为用户使用这些资源提供一个便当的操作环境和优良的用户界面。 2.从资源角度看,操作系统是管理和控制计算机资源的软件。 3.从用户角度看,操作系统是用户与计算机的接口。 操作系統的功能: 1.处理器管理:在多道程序间分配和调度CPU,协调各程序的运行。 2.存储器管理:对内存储器进行分配、保护和扩充。 3.设备管理:对设备进行有用地管理和分配,并控制设备完成I/O操作。 4.文件管理:管理文件的存储和检索操作,并对文件实施共享、保密和保护措施。 5.用户接口:提供使用界面,便当用户使用系统功能。 Linux系统的特点 1.继承UNIX优秀品质,具有出色的性能和稳定性; 2.遵照GPL许可,自由软件; 3.符合POSIX标准,兼容性好; 4.适用于各种硬件平台,可移植性好; 5.网络功能强大;

6.安全性好。第2章Linux操作基础 命令的格式; 命令名[选项1] [选项2] ... [参数1] [参数2] ... 简单命令的功能与用法:echo、who、date、cal 文件系统概念: 文件命名与通配符 1.文件的命名:Linux文件名的最大长度是255个字符,通常由字母、数字、‘.’、‘_’和‘-’组成。以‘.’开头的文件是隐含文件。 2.文件名中不能含有‘/ ’字符和空字符‘\0’,因为它们对Linux内核具有分外含义。如‘/ ’表示根目录或路径分隔符。 3.文件名中不应含有以下字符,因为它们对Shell具有分外含义:; | < > ` “ “$ ! % & * ? \ ( ) [ ] 文件类型及表示法 1.普通文件(-):包括文本文件、数据文件、可执行的二进制程序等。 2.目录文件(d):一种分外的文件,用于构成文件系统的分层树型结构。 每个目录文件中至少包括两个文件,“..”表示上一级目录,“.”表示该目录本身。 3.设备文件:一种分外文件,Linux系统利用它们来标识各个设备驱动器,核心使用它们与硬件设备通信。有两类特别的设备文件:字符设备(c)和块设备(b)。 文件(包括目录)权限的含义及表示法(字符和数字表示法)

Linux_期末考试试题8套(含答案)

往年复习题 一、选择题: 1.以下哪一个是linux内核的稳定版本( B ) A.2.5.24B.2.6.17 C.1.7.18 D. 2.3.20 2.怎样显示当前目录( A )。 A. pwd B. cd C. who D. ls 3.欲把当前目录下的file1.txt 复制为file2.txt,正确的命令是( D )。 A. copy file1.txt file2.txt B. cp file1.txt | file2.txt C. cat file2.txt file1.txt D. cat file1.txt > file2.txt 4. 如果您想列出当前目录以及子目录下所有扩展名为“.txt”的文件,那么您可以使用的命令是( B )。 A. ls *.txt B. find. –name “.txt” C. ls –d .txt D. find . “.txt” 5. 如何删除一个非空子目录/tmp( B )。 A. del /tmp/* B. rm -rf /tmp C. rm -Ra /tmp/* D. rm –rf /tmp/* 6. 存放用户帐号的文件是(C )。 A. shadow B. group C. passwd D. Gshadow 7.下面哪个系统目录中包含Linux使用的外部设备(B )。 A. /bin B. /dev C. /boot D. /home 8.一个文件名字为rr.Z,可以用来解压缩的命令是( D ) A.tarB.gzip C. compressD. uncompress 9. Linux通过VFS支持多种不同的文件系统。Linux缺省的文件系统是( C ) A.VFATB.ISO9660 C. Ext系列D. NTFS 10.在vi编辑器中的命令模式下,键入( B )可在光标当前所在行下添加一新行 A.OB.o C. i D. a 11.在vi编辑器中的命令模式下,重复上一次对编辑的文本进行的操作,可使用( C )命令。 A.上箭头 B.下箭头 C. . D. *

《Linux编程环境》样题及参考答案

《Linux编程环境》期末考试样题 一.(共20分,每小题2分)给出完成下列各项功能所需要命令。陈述利用了该命令的哪个功能或选项。 1.如何得知命令netstat众多选项中哪个选项可以打印出IP路由表? 答:使用man命令,man命令可以在线查阅命令的使用手册,使用命令man netstat查出netstat命令的使用手册,看看哪个选项和什么命令格式用来打印出ip的路由表。 2.删除文件名为-f的文件。 答:使用rm命令,由于命令会默认以减号开始的命令行参数为命令处理的选项而不是处理对象,所以需要使用特殊的选项--以显式的方式说明选项的结束。命令为rm -- -i 3.在你完成上机作业过程中,使用什么命令将源程序文件mylist.c编译、 链接生成可执行文件?可执行文件是什么名字?如何运行? 答:使用gcc命令或者make,实现编译和链接 gcc mylist.c –o mylist 或者:make mylist 生成的可执行文件名按照惯例为mylist,一般情况下当前环境变量 PATH不包括当前目录,所以,运行这个可执行程序应当加上当前路径,命令为:./mylist 4.去掉文件list.txt中的所有空行(所谓空行指:行内不含有任何除空格之 外的字符),存为新文件list-new.txt。 答:使用grep命令可以用正则表达式对文本文件过滤,-v选项用于筛选掉能匹配指定正则表达式的行,描述一个空行的正则表达式为^ *$,即:从行首开始(^),有零个到多个空格( *),然后是行尾($),命令为: grep –v ’^ *$’ list.txt > list-new.txt 5.检索目录src以及其子孙目录中的所有文件名后缀为.c和.h文件,查找 哪些文件中含有字符串TPDU,并列出在这文件中的行号。 答:使用find命令和grep命令。find命令可以在指定的目录树中查找满足某个条件的文件或目录,并对查找到的满足条件的对象执行一个动作。指定查找条件为“文件名后缀为.c和.h”,动作为“查找哪些文件中含有字符串TPDU,并列出在这文件中的行号”,分别是find的 -name和-exec选项。完整的命令为: find src –name ”*.[ch]”–exec grep –n TPDU {} /dev/null \;

linux期末考试练习题 2

一、单项选择题 1、下面不是对Linux操作系统特点描述的是() A、良好的可移植性 B、单用户 C、多用户 D、设备独立性 2、查看创建目录命令mkdir的帮助文档可以使用() A、mkdir -h B、man mkdir C、help mkdir D、info mkdir 3、用标准的输出重定向(>)像”>file01”能使文件file01的数据() A、被复制 B、被移动 C、被覆盖 D、被打印 4、你想显示文件“longfile”的最后10行,下面那个命令是正确的?() A、tail logfile B、head -10 longfile C、taid –d 10longfile D、head longfile 5、下面哪个命令允许对文件重命名() A、rn B、rnamw C、replace D、mv 6、在vi编辑器里,命令“dd”用来删除当前( )。 A、字符 B、行 C、变量 D、字 7、比较重要的系统配置资料,一般来说大部分位于( )目录下。 A、 /etc B、 /boot C、 /home D、 /usr 8、欲把当前目录下的 file1.txt 复制为 file2.txt,正确的命令是() A、copy file1.txt file2.txt B、cat file1.txt > file2.txt C、cat file2.txt file1.txt D、cp file1.txt| file2.txt 9、如何删除一个非空子目录 /tmp。() A、del /tmp/* B、rm -rf /tmp C、rm -Ra /tmp/* D、rm –rf /tmp/* 10、下面哪个命令不能用来显示文本的内容() A、more B、less C、find D、cat 11、一个文件名字为file.gz,可以用哪个命令来解压缩。() A、tar B、gzip C、compress D、bzip2

《Linux程序设计》实验大纲

《Linux程序设计》实验指导书 实验类别:课内实验实验课程名称:Linux程序设计 实验室名称:软件工程专业实验室实验课程编号:N03140112 总学时: 32 学 分: 2 适用专业:软件工程 先修课程: Linux操作系统、C程序设计 实验在教学培养计划中地位、作用: 通过讲授Linux的操作使用、系统结构和Linux环境下的程序设计,使学生对Linux操作系统获得一个全面的认识和掌握。一方面,学生通过学习系统程序设计,能够复习操作系统中的基本概念,对文件管理、进程控制有更深入的理解;另一方面,学生学会在Linux环境下工作,进一步熟悉C语言程序设计和数据结构的知识,编写进行系统维护的脚本文件和实用化的大型应用程序,如网络应用程序。同时,本课程为学生进一步学习其它后续课程(如高级操作系统、Linux内核源代码分析、嵌入式系统等)打下基础。

《Linux程序设计》实验大纲 Linux Program Design 课程类别:学科专业教育课程课程名称:Linux程序设计 开课单位:软件学院课程编号:N03140112 总学时:32 学分:2 适用专业:软件工程 先修课程:程序设计基础 一、实验教学目标 熟练掌握shell编程、熟练使用linux系统、掌握进程控制和进程间通信,学会编写网络程序,学会在linux环境中编写web程序。养成一种良好的程序设计风格。

二、实验环境 Linux 三、实验教材及参考书: [1] 实验指导书(自编讲义) [2]《Linux环境C程序设计》徐诚高莹婷等清华大学出版社2010.1 [3]《linux入门到精通》刘忆智清华大学出版社2010.1 四、实验成绩评定方式 根据学生在实验过程中的认真程度、上机结果验收情况以及实验报告撰写质量,进行综合评定。 五、实验项目及学时分配

Linux编程基础复习题

选择题 1. /etc目录的标准应用是用于____ A. 安装附加的应用程序 B. 存放可执行程序、系统管理工具和库 C. 设置用户的主目录 D. 存放用于系统管理的配置文件 ##D 2. Apache服务器默认的接听连接端口号是________。 A. 1024 B. 800 C. 80 D. 8 ##C 3. DNS域名系统主要负责主机名和________之间的解析。 A. IP地址 B. MAC地址 C. 网络地址 D. 主机别名 ##A 4. Linux 将存储设备和输入/输出设备均看做文件来操作,________不是以文件的形式出现。 A. 目录 B. 软链接 C. i节点表 D. 网络适配器 ##C 5. Linux 文件名的长度不得超过________个字符。 A. 64 B. 128 C. 256 D. 512 ##C 6. Linux 系统通过________命令给其他用户发消息。 A. less

B. mesg y C. write D. echo to ##C 7. Linux内核遵守的是下面哪一种许可条款________。 A. GDK B. GDP C. GPL D. GNU ##C 8. Linux包含了一个名称是________的调试程序,它是用来调试C或C++程序的强力调试器,它使用户能在程序运行时观察程序的内部结构和内存的使用情况。 A. gcc B. make C. gdb D. autoconf ##C 9. Linux命令行是由____提供的。 A. 管道 B. 分层结构文件系统 C. 文本处理器 D. shell ##D 10. Linux工作目录用________表示 A. . B. , C. * D. # ##A 11. Linux操作系统的创始人和主要设计者是________ A. Redhat Linux B. AT&T Bell实验室 C. 赫尔辛基大学 D. Linus Torvalds ##D 12. Linux文件权限一共10位长度,分成四段,第三段表示的内容是________。 A. 文件类型 B. 文件所有者的权限

Linux期末考试试题8套(含答案)

Linux 期末考试试题 (一 ) 一、选择题 ( 每小题 2 分,共 50分) D )两个分区 C. NTFS/SWAP D.SWAP/ 根分区 A )用户对整个系统拥有完全的控制权。 C. administrator D.supervistor. ID 号的 shell 将被调用,这个 ID 是什么 ( B ) D. CID 4. 下面哪个命令是用来定义 shell 的全局变量 ( D ) A. exportfs B. alias C. exports D. export 5. 哪个目录存放用户密码信息 ( B ) A. /boot B. /etc C. /var D. /dev 6. 默认情况下管理员创建了一个用户,就会在 ( B )目录下创建一个用户主目录。 A. /usr B. /home C. /root D. /etc 7. . 当使用 mount 进行设备或者文件系统挂载的时候,需要用到的设备名称位于 ( D )目录。 A. /home B. /bin C. /etc D. /dev 8. 如果要列出一个目录下的所有文件需要使用命令行 ( C )。 A. Is - B. Is C. Is -a(所有) D. Is - 9. 哪个命令可以将普通用户转换成超级用户 (D ) A. super B. passwd C. tar D. su 10. 除非特别指定, cp 假定要拷贝的文件在下面哪个目录下 ( D ) A. 用户目录 B. home 目录 C. root 目录 D. 当前目录 11. 在vi 编辑器里,命令"dd"用来删除当前的(A ) A. 行 B. 变量 C. 字 D. 字符 12. 当运行在多用户模式下时,用 CtrI+ALT+F* 可以切换多少虚拟用户终端 ( B ) A. 3 B. 6 C. 1 D. 12 13. Linux 启动的第一个进程 init 启动的第一个脚本程序是 ( B )。 A./etc/rc.d/init.d B./etc/rc.d/rc.sysinit C./etc/rc.d/rc5.d D./etc/rc.d/rc3.d 14 . 按下 (A )键能终止当前运行的命令 A. CtrI-C B. CtrI-F C. CtrI-B D. CtrI-D 15 . 下面哪个命令用来启动 X Window ( C ) A. runx B. Startx C. startX D. xwin 16. 用来分离目录名和文件名的字符是 ( B ) A. dash (-) B. sIash (/) C. period (.) 17. 用 "rm -i", 系统会提示什么来让你确认 ( A. 命令行的每个选项 B. 是否真的删除 A. skiIIaII B. skiII C. kiII D. kiIIaII 19. 在 Red Hat Linux 9 中,一般用( D A. ping B. ipconfig C. winipcfg D ifconfig 20. vi 中哪条命令是不保存强制退出 ( C )(第五章) A. :wq B. :wq! C. :q! D. :quit 21. 局域网的网络设备通常有( ABCDE ) A.交换机 B.路由器 C.网桥 D.双绞线 E. HUB 1.在创建 Linux 分区时,一定要创建( A. FAT/NTFS B. FAT/SWAP 2.在 Red Hat Linux 9 中,系统默认的( A. root B. guest 3. 当登录 Linux 时,一个具有唯一进程 A. NID B. PID C. UID D. asterisk (*) B ) C. 是否有写的权限 ( D ) D. 文件的位置 18. 以下哪个命令可以终止一个用户的所有进程 )命令来查看网络接口的状态

linux系统编程考试(答案)

linux系统编程考试(答案)

————————————————————————————————作者:————————————————————————————————日期:

凌阳教育 嵌入式培训系统编程部分测试试题 注:考试为闭卷,程序题需上机操作运行出结果,考试时间为120分钟 一:选择题(本题共4小题,每题3分共12分) 1)下列不是Linux系统进程类型的是( D ) A 交互进程 B 批处理进程 C 守护进程 D 就绪进程(进程状态) 2)以下对信号的理解不正确的是( B ) A 信号是一种异步通信方式 B 信号只用在用户空间进程通信,不能和内核空间交互 C 信号是可以被屏蔽的 D 信号是通过软中断实现的 3)进程有三种状态( C ) A 准备态、执行态和退出态 B 精确态、模糊态和随机态 C 运行态、就绪态和等待态 D 手工态、自动态和自由态 4)不是进程和程序的区别( B) A 程序是一组有序的静态指令,进程是一次程序的执行过程 B 程序只能在前台运行,而进程可以在前台或后台运行 C 程序可以长期保存,进程是暂时的 D 程序没有状态,而进程是有状态的 二:填空题(本题共6小题,2)、3)两题每空四分,其余每空一分。共23分) 1) 列举八种常见的进程间通信方式无名管道、有名管道、消息队列、信号量、共享内存、信号、套接字 网络上两个主机的进程间通信方式为套接字 2) 命名管道比无名管道的优势提供了一个可以访问的路径名,实现没亲缘关系的进程 间通信 3) 消息队列比命名管道和无名管道的优势可以按类型实现消息的随机查询,没必要先 进先出 4) 按照逻辑结构不同进行数据库划分,Sqlite 数据库属于哪一类关系型数据库 5) 在C语言中操作sqlite数据库,常用的2中方式是sqlite_exec(回调)、

Linux基础期末考试试题

Linux 期末考试试题(一) 一、选择题 (每小题2分,共50分) 1.在创建Linux分区时,一定要创建( D )两个分区 A. FAT/NTFS B. FAT/SWAP C. NTFS/SWAP D.SWAP/根 分区 2.在Red Hat Linux 9中,系统默认的(A)用户对整个系统拥有完 全的控制权。 A. root B. guest C. administrator D.supervistor. 3. 当登录Linux时,一个具有唯一进程ID号的shell将被调用,这 个ID是什么( B ) A. NID B. PID C. UID D. CID 4. 下面哪个命令是用来定义shell的全局变量( D ) A. exportfs B. alias C. exports D. export 5. 哪个目录存放用户密码信息( B ) A. /boot B. /etc C. /var D. /dev 6. 默认情况下管理员创建了一个用户,就会在( B )目录下创建一 个用户主目录。 A. /usr B. /home C. /root D. /etc 7. . 当使用mount进行设备或者文件系统挂载的时候,需要用到的 设备名称位于( D )目录。 A. /home B. /bin C. /etc D. /dev

8. 如果要列出一个目录下的所有文件需要使用命令行( C )。 A. ls –l B. ls C. ls –a(所有) D. ls –d 9. 哪个命令可以将普通用户转换成超级用户(D ) A. super B. passwd C. tar D. su 10. 除非特别指定,cp假定要拷贝的文件在下面哪个目录下( D ) A. 用户目录 B. home目录 C. root目录 D. 当前目录 11. 在vi编辑器里,命令"dd"用来删除当前的( A ) A. 行 B. 变量 C. 字 D. 字符 12. 当运行在多用户模式下时,用Ctrl+ALT+F*可以切换多少虚拟用户终端( B ) A. 3 B. 6 C. 1 D. 12 13. Linux启动的第一个进程init启动的第一个脚本程序是( B )。 A./etc/rc.d/init.d B./etc/rc.d/rc.sysinit C./etc/rc.d/rc5.d D./etc/rc.d/rc3.d 14. 按下(A )键能终止当前运行的命令 A. Ctrl-C B. Ctrl-F C. Ctrl-B D. Ctrl-D 15. 下面哪个命令用来启动X Window ( C ) A. runx B. Startx C. startX D. xwin 16. 用来分离目录名和文件名的字符是( B ) A. dash (-) B. slash (/) C. period (.) D. asterisk (*)

linux期末考试简答题总结(含答案)

Linux网络管理与配置期末考试问答题题库 (含答案) 一、论述Linux成为超级计算机操作系统最佳选择的原因。 1. Linux的模块化特性 典型的Linux是由许多很小的基本组件即模块构成的。每个模块执行不同的专门功能。这些基本组件协同工作,让操作系统得以顺畅运行。Linux的这种模块化特性方便了所有人,无论他们是普通的Linux 用户,还是超级计算机管理员——可以改动操作系统,以适合自己的需求。其他的操作系统都无法提供这种程度的定制性,尤其是Windows。因而,可以对Linux进行改动,以便用在超级计算机上,实现专门的目的,尤其是增强性能或提高能效等。 2. Linux内核的通用性 Linux内核具有尽可能强的通用性。这意味着,只要编写单一的源代码,既可以在大型超级计算机上运行,也可以在小型设备、甚至手持装置上运行。无论是在大型系统上还是在小型系统上,如何使用Linux,这完全取决于用户。也不需要为了可以在更大或更小的系统上运行而对内核进行根本性、重大的改变。通常来说,Linux内核既可以配置成2MB这么小,也可以配置成1GB或1TB这么大。 3.可扩展性 可扩展性是指服务器适应更庞大负载的能力。系统本身的高可扩展性,则意味着添加和管理新服务器也更容易。Linux具有极高的可扩展性,因为它能够相当轻松地适应新的、更大的负载。这就是为什么你能发现Linux在超级计算机上运行,而安卓(使用Linux内核)在手机、冰箱、甚至微波炉上运行!另外linux即使在很老的电脑上,也能轻松安装——对硬件要求并不那么高。 4.开源性 Linux是完全开源的自由软件。这意味着,超级计算机管理员能够对这款操作系统随意进行定制。如果出现性能故障或安全漏洞等,管理员可以随时改动代码,以获得最大的性能和最高的安全性(或实现其他任何目的),而不是等专有操作系统公司发布安全补丁。 5.高速、稳定、可靠、安全 超级计算机力求实现性能最大化,被分配的任务要求以非常高的

《Linux编程基础》复习题v2.doc

选择题 1./etc目录的标准应用是用于_ A.安装附加的应用程序 B.存放可执行程序、系统管理工具和库 C.设置用户的主目录 D.存放用于系统管理的配置文件##D 2.Apache服务器默认的接听连接端口号是________ 。 A.1024 B.800 C.80 D.8 ##C 3.DNS域名系统主要负责主机名和________ 之间的解析。 A.IP地址 B.MAC地址 C.网络地址 D.主机别名 林林A 4.Linux将存储设备和输入/输出设备均看做文件来操作,________ 不是以文件的形式出现。 A.□录 B.软链接 C.i节点表 D.M络适配器 ttttc 5.Linux文件名的长度不得超过________ 个字符。 A.64 B.128 C.256 D.512 ##C 6.Linux系统通过________ 命令给其他用户发消息。 A.less B.mesg y C.write D.echo to ttttc

7.Linux内核遵守的是下面哪一种许可条款________ 。 A.GDK B.GDP C.GPL D.GNU ttttc 8.Linux包含了一个名称是________ 的调试程序,它是用来调试C或C++程序的强力凋试器,它使用户能在程序运行吋观察程序的内部结构和内存的使用情况。 A.gcc B.make C.gdb D.autoconf ##C 9.Linux命令行是由____ 提供的。 A.管道 B.分层结构文件系统 C.文木处理器 D.shell ##D 10.Linux工作目录用________ 表示 A.? C.* D.# ##A 11.Linux操作系统的创始人和主要设计者是_________ A.Redhat Linux B.AT&T Bell 实验室 C.赫尔辛基大学 D.Linus Torvalds ttttD 12.Linux文件权限一共10位长度,分成四段,第三段表示的内容是_________ A.文件类型 B.文件所有者的权限 C.文件所冇者所在组的权限 D.其他用户的权限 ##C 13.Linux文件系统的文件都按其作用分门别类地放在相关的目录中,对于外部设备文件,一般应将其放在________ 目录中。 A./bin B./etc C./dev

Linux期末考试试卷试题.doc

Linux期末考试试题(七) 一、填空题( 20%) 1. 默认情况下,超级用户和普通用户的登录提示符分别是:“ #”和“ $”。 2. Linux 内核引导时,从文件 /etc/fstab 中读取要加载的文件系统。 3. Linux 系统下经常使用的两种桌面环境是:GNOME和 KDE。 4.链接分为:硬链接和符号链接。 5. Linux 系统中有三种基本的文件类型:普通文件、目录文件和设备文件。 6. 某文件的权限为: drw-r--r-- ,用数值形式表示该权限,则该八进制数为:644 ,该 文件属性是目录。 7. 在超级用户下显示Linux 系统中正在运行的全部进程,应使用的命令及参数是ps -aux 。 8. 将前一个命令的标准输出作为后一个命令的标准输入,称之为管道。 9./sbin 目录用来存放系统管理员使用的管理程序。 10.观察当前系统的运行级别可用命令:who -r 实现。 File 中查找Henry 、 henry 、11. grep -E '[Hh]enr(y|ietta)' file的功能是:(在文件 Henrietta 或 henrietta) 12.设 C 语言程序 A.生成目标文件的命令是( gcc -c )。 B.生成汇编语言文件的命令是( gcc -S )。 C.生成可执行程序 myp的命令是( gcc -o myp )。 13.设有两个C语言程序模块和(不含main 函数) A. 由和生成静态库的命令是(gcc -o -c)。 B. 由和生成共享库的命令是(gcc -shared -o -c )。 14.在某 Makefile 内有以下语句: SRC = TGT = $(SRC:.c=.d) SRC += 则TGT=________ ____________ SRC=_______ _________ 二、选择题( 40%) 1. 关于 Linux 内核版本的说法,以下错误的是()。 A.表示为主版本号 . 次版本号 . 修正号B. 1.2.3 表示稳定的发行版 C. 1.3.3 表示稳定的发行版D.表示对内核的第 5 次修正 2. 自由软件的含义是()。 A.用户不需要付费B.软件可以自由修改和发布 C.只有软件作者才能向用户收费D.软件发行商不能向用户收费 3.系统引导的过程一般包括如下几步:a. MBR中的引导装载程序启动; b.用户登录; c. Linux 内核运行; d.BIOS 自检。正确的顺序是()。 A. d,b,c,a B.d,a,c,b C. b,d,c,a D.a,d,c,b 4. 字符界面下使用 shutdown 命令重启计算机时所用的参数是()。 A. -h B. -t C . -k D. -r 5. 下列设备属于块设备的是()。 A.键盘B.终端

【Linux编程基础】复习题集v2

《Linux编程基础》复习题集 选择题 1. /etc目录的标准应用是用于____ A. 安装附加的应用程序 B. 存放可执行程序、系统管理工具和库 C. 设置用户的主目录 D. 存放用于系统管理的配置文件 ##D 2. Apache服务器默认的接听连接端口号是________。 A. 1024 B. 800 C. 80 D. 8 ##C 3. DNS域名系统主要负责主机名和________之间的解析。 A. IP地址 B. MAC地址 C. 网络地址 D. 主机别名 ##A 4. Linux 将存储设备和输入/输出设备均看做文件来操作,________不是以文件的形式出现。 A. 目录 B. 软链接 C. i节点表 D. 网络适配器 ##C 5. Linux 文件名的长度不得超过________个字符。 A. 64 B. 128 C. 256 D. 512 ##C

6. Linux 系统通过________命令给其他用户发消息。 A. less B. mesg y C. write D. echo to ##C 7. Linux内核遵守的是下面哪一种许可条款________。 A. GDK B. GDP C. GPL D. GNU ##C 8. Linux包含了一个名称是________的调试程序,它是用来调试C或C++程序的强力调试器,它使用户能在程序运行时观察程序的内部结构和内存的使用情况。 A. gcc B. make C. gdb D. autoconf ##C 9. Linux命令行是由____提供的。 A. 管道 B. 分层结构文件系统 C. 文本处理器 D. shell ##D 10. Linux工作目录用________表示 A. . B. , C. * D. # ##A 11. Linux操作系统的创始人和主要设计者是________ A. Redhat Linux B. AT&T Bell实验室 C. 赫尔辛基大学 D. Linus Torvalds ##D

linux 期末考试必过

1.简述linux的内核版本号的构成。答:由3个部分数字构成,其形式如下 Major.minor.patchlevel major:表示主版本号,通常在一段时间内比较稳定。minor:表示次版本号,如果是偶数,代表这个内核版本是正式版本,可以公开发行;而如果是奇数,则代表这个内核版本是测试版本,还不太稳定仅供测试。patchlevel:表示修改号,这个数字越大,则表明修改的次数越多,版本相对更完善。 2.如何理解linux发行版本含义?它由哪些基本软件构成? 答:linux的基础是其内核,但光有内核是无法满足用户需要的,必须构成发行套件,即发行版。 系统引导管理程序(Boot Manager、用户界面、X-Window系统、系统管理、Internet服务、文件和打印服务、应用程序、工具和库程序 3.linux的运用领域主要有哪些?答: Intranet 、服务器、嵌入式系统、集群计算机等方面 4.Linux主要特点。 答:多用户、多任务、多平台、漂亮的用户界面、硬件支持、强大的通信和联网功能、应用程序支持 4.X Window由哪3个部分组成?分别有何功能? 答:Server(服务器)、Client(客服端)、通信通道 Server:控制实际显示器和输入设备的程序。Client:Client是使用系统窗口功能的一些应用程序。通信通道:负责Server与Client之间的信息传输。 5.什么是桌面环境?linux下的桌面环境主要有哪两种? 答:为用户管理系统、配置系统、运行应用程序等提供统一的操作平台。Linux最常用的桌面环境:KDE和GNOME。 6.在GNOME桌面环境下如何获取帮助信息? 答:(1)GNOME桌面环境提供帮助浏览器程序help,单击【主菜单】——【帮助】命令即可启动,单击文字链接可查看相关的联机帮助信息。(2)如果已安装文档光盘,则可单击【主菜单】——【文档】命令,选择查看已安装的文档。(3)当运行运用程序时,单击该程序的【帮助】——【目录】

Linux程序设计考试例题

例题1程序A生成1个文件,其大小为1000字节,其内容为小写字母abcd...z的循环。试编写该程序。 文件名t 1.c #include #include int main(){char x; int i; int fd=open("aa",O_CREAT|O_TRUNC|O_WRONLY,0666); if(fd<0){printf("open file error!\r\n");exit (0);}; for(i=0;i<1000;i++){x='a'+(i%26); write(fd,&x,1);}close(fd);}例题2读出一个文件a.txt的倒数第2个字节和倒数第1个字节,显示在屏幕上。并且显示出当前时间。 文件名t 2.c #include #include #include int main(){char x[2]; int fd=open("a.txt",O_RDONLY); if(fd<0){printf("open file error!\r\n");exit

lseek(fd,-3,SEEK_END); read(fd,x,2); printf("倒数第二和第一字节为%c%c\r\n",x[0],x[1]); close(fd); time_t t; time(&t); printf("当前时间: %s",asctime(localtime(&t)));}例题3产生一个进程树父进程有3个子进程,这三个子进程分别有2个子进程。每个进程退出前打印自己的进程id号 文件名t 3.c #include #include int main(){int ret,i; for(i=0;i<3;i++){ret=fork(); if(ret==0)break;}if(ret==0) for(i=0;i<2;i++){ret=fork(); if(ret==0)break;}sleep (10); printf("thread %d is exiting now \r\n",getpid());}测试方法: 在另一窗口

相关文档
最新文档