当前位置:文档之家› linux程序设计复习题

linux程序设计复习题

linux程序设计复习题
linux程序设计复习题

一、填空题

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地址和主

机名之间的转换。

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

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

32、CD-ROM标准的文件系统类型是iso9660 。

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

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

35、Linux使用支持Windows 长文件名的文件系统的类型是vfat 。

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

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

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

39、套接字文件的属性位是s 。

40、

二、单项选择题

41、下列文件中,包含了主机名到IP地址的映射关系的文件是:( )。

A./etc/HOSTNAME

B./etc/hosts

C./etc/

D./etc/networks

答案解析:

B

42、当我们与某远程网络连接不上时,就需要跟踪路由查看,以便了解在网络的什么位置出现了问题,满足该目的的命令是( ) 。

答案解析:

C

43、用ls –al 命令列出下面的文件列表,( )文件是符号连接文件。

2 hel-susers56 Sep0911:05 hello

2 hel-susers56 Sep0911:05 goodbey

1 helusers1024 Sep1008:10 zhang

1 helusers2024 Sep1208:1

2 cheng

答案解析:

D

44、在给定文件中查找与设定条件相符字符串的命令为:( )。

答案解析:

A

45、退出交互模式的shell,应键入( ) 。

A.

B.^q

答案解析:

C

46、为了将当前目录下的压缩归档文件解压缩,我们可以使用:()。

答案解析:

A

47、用来保存用户名、个人目录等资料的文件是()。

A./etc/shadow

B./etc/passwd

C./etc/inittab

D./etc/group

答案解析:

B

48、一个文件的权限是-rw-rw-r--,这个文件所有者的权限是()。

答案解析:

C

49、绝大多数Linux分区使用的文件系统类型是()。

答案解析:

D

50、在Linux系统中,硬件设备大部分是安装在()目录下的。

A./mnt

B./dev

C./proc

D./swap

答案解析:

B

51、比较重要的系统配置资料,一般来说大部分位于()目录下。

A./etc

B./boot

C./home

D./usr

答案解析:

A

52、要改变文件的拥有权,使用命令()。

答案解析:

B

53、在使用mkdir命令创建新的目录时,在其父目录不存在时先创建父目录的选项是()。

B. -d

C. -f

D. -p

答案解析:

D

54、局域网的网络地址,局域网络连接其它网络的网关地址是。主机访问网络时,其路由设置正确的是()。

A. route add –net gw netmask metric 1

B. route add –net gw netmask metric 1

C. route add –net gw netmask metric 1

D. route add netmask metric 1

答案解析:

B

55、下列提法中,不属于ifconfig命令作用范围的是()。

A.配置本地回环地址

B. 配置网卡的IP地址

C. 激活网络适配器

D. 加载网卡到内核中

答案解析:

D

56、存放用户帐号的文件是()。

答案解析:

C

57、下面哪个系统目录中包含Linux使用的外部设备()。

A./bin

B./dev

C./boot

D./home

答案解析:

B

58、Linux系统的联机帮助命令是()。

答案解析:

D

59、如何删除一个非空子目录/tmp ( )。

/tmp/*

-rf /tmp

-Ra /tmp/*

–rf /tmp/*

答案解析:

B

60、更改一个文件权限的命令是()。

答案解析:

C

61、如果执行命令chmod 746 ,那么该文件的权限是()。

答案解析:

A

62、如果您想列出当前目录以及子目录下所有扩展名为―.txt‖的文件,那么您可以使用的命令是()。

*.txt

–name ―.txt‖

–d .txt

. ―.txt‖

答案解析:

A

63、怎样显示当前目录()。

答案解析:

A

64、欲把当前目录下的复制为,正确的命令是()。

|

>

答案解析:

D

65、为了达到使文件的所有者有读(r)和写(w)的许可,而其他用户只能进行只读访问,在设置文件的许可值时,应当设为:( )。

答案解析:

B

66、将光盘CD-ROM(hDC)安装到文件系统的/mnt/CDrom目录下的命令是( ) 。

/mnt/CDrom

/mnt/CDrom /dev/hDC

/dev/hDC /mnt/CDrom

/dev/hDC

答案解析:

C

67、Linux 核心的许可证是什么()

B. GDP

C. GPL

D. GNU

答案解析:

C

68、谁是Linux的创始人()

A. Turbo Linux

B. AT&T Bell Laboratry

C. University of Helsinki

D. Linus TorvalDs

答案解析:

D

69、Linux是操作系统,意味着开放性源码是自由可用。()

A.封闭资源

B.开放资源

C.用户注册

D.开放性二进制

答案解析:

B

70、确定myfile的文件类型的命令是什么()

myfile

-q myfile

myfile

D. whatis myfile

答案解析:

C

71、哪条命令从当前系统切换到启动级别1( )

1

1

1

1

答案解析:

B

72、下面哪个选项能取消shutdown命令( )

-c

-x

-u

-n

答案解析:

A

73、通过shell执行一个命令,必须先敲入一个_____( )

A.参数

B.命令

C.操作符

D.终端ID号

答案解析:

B

74、哪个符号加在命令后面可以在后台执行程序( )

A.@

B.&

C.#

D.*

答案解析:

B

75、在vi编辑器里,哪个命令能将光标移到第200行( )

B.:200

答案解析:

A

76、下面哪个配置文件用来定义syslog的后台进程( )

C. syslogd

答案解析:

B

77、下面哪个代表httpd进程( )

答案解析:

D

78、你给公司的新同事添加一个用户,你起初指定他的帐号在30天后过期,现在想改变这个过期时间,用下面哪个命令( )

-a

-d

-x

-e

答案解析:

D

79、用下面哪个命令可以不用退出vi编辑器来切换文件( )

A. e for edit command

B. map command

C. export command

D. set command

答案解析:

A

80、用vi打开一个文件,如何用字母‖new‖来代替字母‖old‖()

A. :r/old/new

B. :s/old/new

C. :1,$s/old/new/g

D. :s/old/new/g

答案解析:

C

81、下面哪个选项用来添加用户定义用户登录的shell( )

A.-s

B.-u

C.-l

D.-sh

答案解析:

A

82、如果你想给变量"IQ"定义为4,下面哪些时正确的( )

A. IQ=4

B. set IQ=4

C. set $IQ=4

D. IQ set 4

答案解析:

A

83、在系统重建的时候,下面哪个参数能用来对mkfs命令检查坏块( )

A.-b

B.-e

C.-c

D.-check

答案解析:

C

84、哪一个命令能用来查找在文件TESTFILE中只包含四个字符的行( )

'' TESTFILE

'....' TESTFILE

'^$' TESTFILE

'^....$' TESTFILE

答案解析:

D

85、哪一个命令能用来删除当前目录及其子目录下名为'core'的文件( )

-name core -exec rm;

-name core -exec rm{}\;

-name core -exec rm{}-;

-name core -exec rm{};

答案解析:

B

86、哪个符号加在命令后面可以在后台执行程序( )

A.@

B.&

C.#

D.*

答案解析:

B

87、用标准的输出重定向(>)像"> file01"能使文件file01的数据_____( )

A.被复制

B.被移动

C.被覆盖

D.被打印

答案解析:

C

88、按_____键能中止当前运行的命令。()

答案解析:

B

89、下面对Linux命令的描述哪个是正确的( )

A.不是大小写敏感的

B.都是大写的

C.大小写敏感

D.都是小写

答案解析:

C

90、在vi编辑器里,命令‖DD‖用来删除当前( )

A.字

B.字符

C.变量

D.行

答案解析:

D

三、多选题

91、关于硬链接的描述正确的()。

A、跨文件系统

B.不可以跨文件系统

C.为链接文件创建新的i节点

D.可以做目录的连接

E.链接文件的i节点同被链接文件的i节点

答案解析:

BE

92、在网站发布用户wang的个人网页时,需要创建用户网页目录,假定用户网页目录设定为web(用户目录在/home目录下),如下描述正确的是()

A.存放用户网页的绝对路径/wang/web

B.存放用户网页的目录~wang/

C.存放用户网页的绝对路径/home/wang/web

D.存放用户网页的绝对路径/home/web

E.在本机访问用户wang的个人网页的URL地址答案解析:

BCE

93、在一台WWW服务器上将端口号设定为8000,默认的网页文件,服务器网页的根目录/www。在本机访问服务器时,正确的用法是()

A.浏览器访问该服务器的URL地址

B.浏览器访问该服务器的URL地址

C.浏览器访问该服务器的用户li网页URL地址

D.浏览器访问该服务器的用户li网页URL地址

E.浏览器访问该服务器的URL地址localhost:8000/

答案解析:

BDE

94、在shell编程中关于$2的描述正确的是()

A.程序后携带了两个位置参数

B.宏替换

C.程序后面携带的第二个位置参数

D.携带位置参数的个数

E.用$2引用第二个位置参数

答案解析:

CE

95、某文件的权限是- r w x r - - r- -,下面描述正确的是()

A.文件的权限值是755

B.文件的所有者对文件只有读权限

C.文件的权限值是744

D.其他用户对文件只有读权限E同组用户对文件只有写权限

答案解析:

CD

96、关于OpenSSH的作用的描述正确的是()

A. 开放源代码的安全加密程序

B. OpenSSH常用于为http协议加密考试用书

C. OpenSSH用于提高远程登录访问的安全性

D. 它和telnet实用同样的端口号

E. OpenSSH是免费下载的应程序

答案解析:

ACE

97、关于NFS服务器描述正确的是()

A. 网络中实现Windows系统之间文件系统共享的应用软件

B. 网络中实现Linux系统之间文件系统共享的应用软件

C. 网络中实现Unix系统之间文件系统共享的应用软件

D. 网络中实现Windows系统和Unix之间文件系统共享的应用软件

E. 网络中实现Windows系统和Linux之间文件系统共享的应用软件

答案解析:

BC

98、关于sed描述正确的是()

A. sed 是Linux系统中的流编辑器

B. sed 是UNIX系统中的流编辑器

C. sed 网络文件系统的类型

D. 利用管道对标准输入/标准输入的数据进行编辑和组合

E. sed是NFS的应用程序

答案解析:

ABD

99、关于限制磁盘限额,描述正确的是()

A. 使用edquota可以监控系统所有用户使用的磁盘空间,并在接近极限时提示用户

B. 用户组的磁盘限额是用户组内所有用户予设磁盘空间总和

C. 单个用户的磁盘限额就是该用户所在用户组内所有磁盘限额的总合

D. 在Linux系统下限制用户使用的磁盘空间可以使用edquota

E. 用户组的磁盘限额就是该用户组内拥有最大磁盘限额值的用户的磁盘限额

答案解析:

ABD

100、关于建立系统用户的正确描述是()

A 在Linux系统下建立用户使用adduser命令

B 每个系统用户分别在/etc/passwd和/etc/shadow文件中有一条记录

C 访问每个用户的工作目录使用命令“cd /用户名”

D 每个系统用户在默认状态下的工作目录在/home/用户名

E 每个系统用户在/etc/fstab文件中有一条记录

答案解析:

ABD

四、简答题

101、进程的查看和调度分别使用什么命令

参考答案:

进程查看的命令是ps和top。

进程调度的命令有at,crontab,batch,kill。

102、什么是符号链接,什么是硬链接符号链接与硬链接的区别是什么

参考答案:

链接分硬链接和符号链接。

符号链接可以建立对于文件和目录的链接。符号链接可以跨文件系统,即可以跨磁盘分区。符号链接的文件类型位是l,链接文件具有新的i节点。

硬链接不可以跨文件系统。它只能建立对文件的链接,硬链接的文件类型位是-,且硬链接文件的i节点同被链接文件的i节点相同。

103、在对linux系统分区进行格式化时需要对磁盘簇(或i节点密度)的大小进行选择,请说明选择的原则。

参考答案:

磁盘簇(或i节点密度)是文件系统调度文件的基本单元。磁盘簇的大小,直接影响系统调度磁盘空间效率。当磁盘分区较大时,磁盘簇也应选得大些;当分区较小时,磁盘簇应选得小些。通常使用经验值。

104、简述网络文件系统NFS,并说明其作用。

参考答案:

网络文件系统是应用层的一种应用服务,它主要应用于Linux和Linux系统、Linux和Unix 系统之间的文件或目录的共享。对于用户而言可以通过NFS方便的访问远地的文件系统,使之成为本地文件系统的一部分。采用NFS之后省去了登录的过程,方便了用户访问系统资源。

105、某/etc/fstab文件中的某行如下:

/dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2

请解释其含义。

参考答案:

(1)第一列:将被加载的文件系统名;(2)第二列:该文件系统的安装点;

(3)第三列:文件系统的类型;(4)第四列:设置参数;

(5)第五列:供备份程序确定上次备份距现在的天数;

(6)第六列:在系统引导时检测文件系统的顺序。

106、Apache服务器的配置文件中有很多内容,请解释如下配置项:

(1)MaxKeepAliveRequests 200 (2)UserDir public_html

(3)DefaultType text/plain (4)AddLanguare

(5)DocumentRoot“/usr/local/httpd/htdocs”

(6)AddType application/参考答案:

(1)允许每次连接的最大请求数目,此为200;(2)设定用户放置网页的目录;

(3)设置服务器对于不认识的文件类型的预设格式;

(4)设置可传送语言的文件给浏览器;(5)该目录为Apache放置网页的地方;

(6)服务器选择使用php4。

107、某Linux主机的/etc/文件中有如下语句,请修正错误,并解释其内容。

/etc/:

……

ROUTE add –net default gw netmask metric 1

ROUTE add –net gw netmask metric 1

参考答案:

修正错误:

(1)ROUTE应改为小写:route;(2)netmask 应改为:netmask ;

(3)缺省路由的子网掩码应改为:netmask ;

(4)缺省路由必须在最后设定,否则其后的路由将无效。

解释内容:

(1)route:建立静态路由表的命令;(2)add:增加一条新路由;

(3)-net :到达一个目标网络的网络地址;

(4)default:建立一条缺省路由;(5)gw :网关地址;

(6)metric 1:到达目标网络经过的路由器数(跳数)。

五、Shell程序题

108、用Shell编程,判断一文件是不是字符设备文件,如果是将其拷贝到/dev 目录下。参考程序:

#!/bin/sh

FILENAME=

echo “Input file name:”

read FILENAME

if [ -c "$FILENAME" ]

then

cp $FILENAME /dev

fi

109、设计一个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))

done

110、编写shell程序,实现自动删除50个账号的功能。账号名为stud1至stud50。

参考程序:

#!/bin/sh

i=1

while [ $i -le 50 ]

do

userdel -r stud${i}

i=$(($i+1 ))

done

111、设计一个Shell程序,在/userdata目录下建立50个目录,即user1~user50,并设置每个目录的权限,其中其他用户的权限为:读;文件所有者的权限为:读、写、执行;文件所有者所在组的权限为:读、执行。

参考答案: 建立程序Pro16如下:

#!/bin/sh

i=1

while [ i -le 50 ]

do

if [ -d /userdata ];then

mkdir -p /userdata/user$i

chmod 754 /userdata/user$i

echo "user$i"

let "i = i + 1" (或i=$(($i+1))

else

mkdir /userdata

mkdir -p /userdata/user$i

chmod 754 /userdata/user$i

echo "user$i"

let "i = i + 1" (或i=$(($i+1))

fi

done

六、C语言程序设计题

112、课本p408--p409, 模拟闹钟的实验程序。

113、课本p450-p451, 跨越fork调用的管道。

114、课本p524,网络客户。

115、课本p524-p525 ,网络服务器。

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系统编程试卷(答案)

凌阳教育 嵌入式培训系统编程部分测试试题 注:考试为闭卷,程序题需上机操作运行出结果,考试时间为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编程环境》样题及参考答案

《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程序设计》实验大纲

《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系统编程考试(答案)

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编程基础》复习题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编程基础】复习题集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程序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());}测试方法: 在另一窗口

Linux程序设计2018年度-2018年度期末试地的题目部分问题详解小东编辑

兰州商学院2011-2012学年第二学期期末考试 Linux 程序设计 试卷A 一、单项选择题(每小题1分,共计20分) 1. Linux 在确定文件名filename 是否代表目录文件时,依据( C )。 A. 由程序员指定 B. filename 是否位于/etc 目录中 C. 该文件i 结点中的类型信息 D. filename 中的扩展名 2. 在进程p1中用系统函数execvp 执行程序p2,则( D )。 A. p1创建一个子进程执行p2 B. p2结束后返回prog1继续执行 C. p1和p2并行执行 D. p2将替换掉prog1的代码 3. 进程调用wait 将被阻塞,直到( D )。 A. 用户按任意键 B. 收到时钟信号 C. 子进程被创建 D . 子进程结束

4. Shell脚本中的注释用( C )标记。 A. // B. /*…*/ C. # D. * 5. head命令用于( B )。 A. 显示文件的前10行 B. 显示C语言头文件 C. 显示目录的前10行 D. 显示 6. bind调用用于( A )。 A. 为socket分配地址 B. 客户端与服务器连接 C. 接收socket上的连接 D. 监听socket上的连接 7. 一个进程收到SIGCHILD信号,表示( B )。 A. 创建子进程成功 B. 创建子进程失败 C. 子进程结束 D. 子进程开始运行 8. 当客户端用GET命令请求某文件时,Web服务器用返回码( B )表示没有该文件。 A. 200 B. 404 C. 8080. ②exit(0) 9. 删除命名管道的系统调用是( A )。 A. unlink B. close C. fcolse D. dup2 10. 设可能有多个线程调用pthread_cond_wait(&buf_empty, &lock)后等待条件变量 buf_empty,当某线程pt1调用pthread_cond_signal(&buf_empty)后,( B )。 A. 所有等待buf_empty的线程被唤醒 B. 有一个等待buf_empty的线程被唤醒

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

《UNIX编程环境》期末考试样题及参考答案 一. 给出完成下列各项功能所需要的UNIX系统命令。要求:给出实现这一功能的完整命令;不能给出完整命令可以仅给出所需要的命令名称。必须陈述利用了这个命令的哪个功能或选项。每题2分,共24分。 1.删除文件为-i的文件。 答:使用rm命令,由于命令会默认以减号开始的命令行参数为命令处理的选项而不是处理对象,所以需要使用特殊的选项--以 显式的方式说明选项的结束。命令为rm -- -i 2.命令netstat有很多选项,如何得知使用哪个选项可以打印出ip 的路由表? 答:使用man命令,man命令可以在线查阅命令的使用手册,使用命令man netstat查出netstat命令的使用手册,看看哪个选 项和什么命令格式用来打印出ip的路由表。 3.删除当前目录下的子目录tmp及该目录下属的所有文件和子孙目 录。 答:使用rm命令,rm命令有个选项可以递归地删除一个子目录,命令为 rm –r tmp 4.在你完成上机作业过程中,使用什么命令将源程序文件myrm.c 编译、链接生成可执行文件?可执行文件是什么名字?如何运行? 答:使用gcc命令或者make,实现编译和链接 gcc myrm.c –o myrm 或者:make myram 生成的可执行文件名按照惯例为myrm,一般情况下当前环境变量PATH不包括当前目录,所以,运行这个可执行程序应当加上 当前路径,命令为: ./myrm命令有个选项可以递归地删除一个子目录,命令为 ./myrm –r tmp 5.检索目录src以及其子孙目录中的所有文件名后缀为.c和.h文件, 查找哪些文件中含有字符串TPDU,并列出在这文件中的行号。 答:使用find命令和grep命令。find命令可以在指定的目录树 中查找满足某个条件的文件或目录,并对查找到的满足条件的对

Linux程序设计考试例题

例题1 程序A生成1个文件,其大小为1000字节,其内容为小写字母abcd...z的循环。试编写该程序。 文件名t1.c #include #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个字节,显示在屏幕上。并且显示出当前时间。 文件名t2.c #include #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(0);}; 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))); }

Linux程序设计知识点整理

Prerequisite 一、Linux 命令 1、文件操作 列出目录内容: ls, dir, vdir 创建特殊文件: mkdir, mknod, mkfifo 文件操作: cp, mv, rm 修改文件属性: chmod, chown, chgrp, touch 查找文件: locate, find 字符串匹配: grep(egrep) 其它: pwd, cd, ar, file, grep, tar, more, less, head, tail, cat 2、进程操作 ps, kill, jobs, fg, bg, nice 3、其它 who, whoami, passwd, su, uname, … man 二、Linux工具 编辑工具:vi, emacs 编译、链接:gcc(GNU C Compiler -> GNU Compiler Collection) 调试:gdb make命令 版本控制工具:CVS等 三、编程语言 1、High-level Language:C/C++, Java, Fortran… 2、ELF binary format:Excutable and Linkable Format(工具接口标准委员会(TIS)选择了正在发展中的ELF体系上不同操作系统之间可移植的二进制文件格式) 四、GCC使用 -E: 只对源程序进行预处理(调用cpp预处理器) -S: 只对源程序进行预处理、编译 -c: 执行预处理、编译、汇编而不链接 -o output_file: 指定输出文件名 -g: 产生调试工具必需的符号信息 -O/On: 在程序编译、链接过程中进行优化处理

《LINUX系统及其编程》考试试题及答案

《Linux系统及其编程》模拟练习参考答案 一、单项选择题 1.Linux的根分区的文件系统类型是C。 A. FAT16 B.FAT32 C. ext3 D. NTFS 2.安装好Linux操作系统后,系统默认的超级用户(系统管理员)账号是C。 A. administrator B.guest C.root D. boot 3.Linux文件系统的文件都按其作用分门别类地放在相关的目录中,对于外部设备文件,一般应将其放在C目录中。 A. /bin B. /etc C. /dev D. /lib 4.Linux有三个查看文件的命令,若希望在查看文件内容过程中,可以用光标上下移动来查看文件内容,应使用C命令。 A. cat B.more C. less D. menu 5.可以为文件或目录重命名的命令是C。 A. mkdir B. rmdir C. mv D. rm 6.已知某用户stud1,其用户目录为/home/stud1。如果当前目录为/home,进入目录/home/stud1/test的命令是:C。 A. cd test B. cd /stud1/test C. cd stud1/test D.cd home 7.Linux文件权限一共10位长度,分成四段,第三段表示的内容 是C。 A.文件类型 B.文件所有者的权限 C.文件所有者所在组的权限 D.其他用户的权限 8.将Windows C:盘(hda1)安装在Linux文件系统的/winsys目录下,

命令是B。 A. mount –t vfat dev/hda1 /winsys B. mount –t vfat /dev/hda1 /winsys C. mount –t vfat /dev/hda1 winsys D. mount –t vfat dev/hda1 winsys 9.一般情况下,系统启动过程自动加载的文件系统信息是存放在文件D中 A. /usr/sbin/cfdisk B. /sbin/fdisk C. /etc/mtab D. /etc/fstab 10.系统中有用户user1和user2,同属于users组。在user1用户目录下有一文件file1,它拥有644的权限,如果user2用户想修改user1用户目录下的file1文件,应拥有B权限。 A . 744 B. 664 C. 646 D. 746 二、填空题 1.安装Linux最少需要两个分区,分别是根分区和交换分区。2.链接分为硬链接和软链接。 3.在vi编辑环境下,使用 键进行模式转换。 4.在Linux系统中,用来存放系统所需要的配置文件和子目录的目录是/etc 。 5.CD-ROM标准的文件系统类型是iso9660。6.Apache服务器进程配置文件是httpd.conf。 7.在Windows9.x环境下共享Unix/Linux中的用户目录的一个工具是Samba服务器。 8

Linux程序设计

Linux程序设计课程简介和教学大纲格式 课程代码:21188100 课程名称:Linux程序设计 学分: 2.0 周学时总48学时(短学期) 面向对象:计算机科学与技术、软件工程数字媒体专业,三年级学生 预修课程要求:程序设计类课程 一、课程介绍(100-150字) (一)中文简介 本课程主要介绍Linux操作系统的安装、使用和管理。包括Linux的文件和文件系统结构,进程概念和管理,文件安全和共享,I/O重定向和管道,以及各种实用软件的使用,shell 程序设计,Linux系统程序设计。 (二)英文简介 This course introduces the Linux operating system installation、use and administration. Include Files and File System Structure,Process concept and administration ,File Security and File Sharing, I/O Redirection and Piping ,And the use of a variety of utility software , shell Programming, Introductory Linux system Programming. 二、教学目标 (一) 学习目标 本课程的目的是使学生熟悉Linux系统环境,通过本课程的学习能够使用、管理和维护Linux系统,掌握shell程序设计和Linux系统程序设计基本方法。本课程为学习“操作系统原理”和“操作系统分析及实验”课打下基础。 (二)可测量结果 通过本课程的学习能达以下目标: 1.了解Linux操作系统,学习并领会自由软件(Free Software)的思想和文化; 2.掌握Linux操作系统的安装; 3.掌握linux的文件、进程概念,管道及I/O重定向; 4.掌握linux系统常用命令、实用程序的使用和管理,熟悉Linux下各种工具软件的使 用; 5.了解Linux环境下开发环境和桌面系统; 6.了解shell编程,掌握基本的shell程序设计; 7.Linux环境下的API编程以及Linux的系统调用。 三、课程要求 (一)授课方式与要求

linux程序设计期末复习资料

1.GPL的含义是什么? 答:GPL,是General Public License的缩写,GNU通用公共许可证。 2.Linux的常用shell指令有哪些? (1)重定向输出的例子ls -1> lsoutput.txt ls -l >> lsoutput.txt 0:标准输入1:标准输出2:标准错误输出 (2)重定向输入的例子more < killout.txt (3)管道的例子ls -l | more (4)Hello World例子: #!/bin/bash #! 用来指明shell程序本身所在的位置 # It is a very simple example # 表示行注释 echo Hello the World echo是bash中的一个指令,显示 (5)shell程序的执行: a:在shell中输入指令bash hello b:在shell中输入指令chmod 755 hello ./hello (6)交互式输入read STR:运行该指令后,shell会停止等待输入,以回车键结束,此时不需要加引号,即使包含空格;如果加了引号,则引号将作为变量值的一部分。(7)bash的变量:bash中的变量不需要事先定义类型;默认为字符串,特殊标记为整型,没有浮点型;字符串含空格时必须使用双引号,不含空格可不用;赋值符号前后不能有空格;引用时,加${变量名},花括号可省略。 bash的变量(eg2_1) #!/bin/bash STR=Hello echo $STR echo $STR STR=7+5 STR=“Hello world”echo $STR echo $STR echo STR STR=Hello world (8)引号的作用:参数值中包含空白符号,就需要使用引号;如果双引号中含有以$开头的变量的引用,则需要使用变量值;如果是单引号中含有$的变量引用,则使用元符号,

linux程序设计

◆如用户有目录的写权限,则可以创建、删除目录下的任何文件或子目录,即使 该文件或子目录属于其他用户。 ◆必须有读和执行权限才可以使用“ls –l ”列出目录清单 ●void *类型的指针可以和任何其他类型的指针相互赋值而不会丢失任何信 息 ●malloc函数不会对分配到的空间进行清零,因此其内容是随机的 ●calloc函数返回一个指向包含nr个元素数组的指针,每个元素大小为size 个字节。calloc会对分配到的内存初始化,把每个比特置为0 ●realloc函数能够改变以前分配的内存块的大小,第1个参数ptr必须是由 malloc或calloc返回的指针,第2个参数size既可以大于旧内存块的大小,也可以小于它。 ●realloc不对增加的内存块初始化;realloc如果不能扩大内存块就返回 NULL,并保持原来ptr指向的内存区域不动;realloc的第一个参数为 NULL,其作用和malloc函数一样;realloc的第二个参数如果为0,则释放原来的内存块 ●内存分配后一定要记得用free释放,其参数为先前用malloc或call oc返 回的指针 文件系统用目录来组织文件 目录文件的结构非常简单,就是一系列目录项(dirent)的列表。每个目录

项,由两部分组成:所包含文件的文件名,以及该文件名对应的inode号码。 守护进程,也就是通常说的Daemon进程,是Linux中的后台服务进程。它是一个生存期较长的进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程常常在系统引导装入时启动,在系统关闭时终止。 Setsid()的作用:让进程摆脱原会话的控制 让进程摆脱原进程组的控制 让进程摆脱原控制终端的控制

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程序设计 实验报告 大作业

实验报告 课程名称:LINUX程序设计 学院:计算机学院 专业:软件工程班级:14-3 姓名:张正锟学号:1038 2017年1月1日 山东科技大学教务处制 实验报告

组别姓名张正锟同组实验者 实验项目名称实验一熟悉Linux命令实验日期第11周周四9,10节 教师评语 实验成绩指导教师 实验目的 熟悉并掌握Linux操作系统基本命令 常用的普通命令 了解系统的uname,date,w命令 了解文件的ls和file命令 cat,less,head,tail,nl,wc等命令的使用

文本内容查找grep 命令 文件权限的修改chmod,chown,umask 文件夹操作:mkdir,rmdir 用户和组的管理管理 探究用户配置文件/etc/passwd, /etc/shadow

/etc/passwd是用户数据库,其中的域给出了用户名、加密口令和用户的其他信息. /etc/shadow是在安装了影子(shadow)口令软件的系统上的影子口令文件。影子口令文件将/etc/passwd 文件中的加密口令移动到/etc/shadow中,而后者只对超级用户( r o o t )可读。这使破译口令更困难,以此增加系统的安全性。 探究组配置文件组的配置文件/etc/group, /etc/gshadow id, who, whoami,groups等命令 文件打包与压缩 tar压缩和解压

软件包管理 安装软件tree 卸载软件tree

进程管理 top命令动态显示进程状态 ps命令显示瞬时进程状态 Kill命令终止一个进程 用gedit打开一个文件并在后台运行,显示的进程号为17271,然后用kill命令杀死这个进程,观察到gedit关闭

相关主题
文本预览
相关文档 最新文档