《Linux应用程序设计》复习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
.一、选择题
1.下面哪个命令是用来定义shell的全局变量( )
A. exportfs
B. alias
C. exports
D. export
2. 将当前目录下的文件移动到目录/home/linux下的命令为。
A. cp /home/linux
B. mv /home/linux
C. lls / home/linux/
D. mv /root/ /home/linux/
3.如果要列出一个目录下的所有文件需要使用命令行( )。
A. ls –l
B. ls-t
C. ls –a
D. ls –d
下Makefile文件中,表示第一个依赖目标的系统变量是()
A.$@
B.$*
C.$<
D.$#
位系统下,定义一个指向字符类型的变量short i,那么sizeof(i)的值是( )
B.2
6.在用ls –l 查看文件属性时,字符设备文件类型的标志是( )
7. 在linux下进行shell编程时,注释符是。
A. #
B. /* */ D. 以上都不对
8. 任何时候用户需要回到用户主目录时可以使用命令。
A. cd
B. pwd
C. path
D. cd .
9. 下列属于文件包含的命令是_________。
A. #define N 25
B. #endif
C. #include ""
D. #else
10. 下列关于Linux安装的说法中,不正确的是。
A.如果计算机的内存为128MB,则SWAP分区(交换分区)的大小通常设定为256M。
B.安装时Linux分区的文件系统类型一般为ext2或ext3。
C.安装时要进行磁盘分区,如果选择“自动分区”,系统会自动保留硬盘上原来的数据。
除了可以从光盘安装外,还可以从网上下载Linux的iso映像文件,从硬盘安装。
11. 下列说法中,不正确的是。
A. Shell程序编写完后还需要用gcc编译器编译。
B.可以通过将shell程序作为sh命令的输入来执行shell程序。
C. shell程序中定义的函数不能有参数。
D. Linux是免费使用和自由传播的类UNIX操作系统,但它并不是没有版权。
二.判断题
init 启动进程需要读取的系统配置文件是/etc/inittab。(√)
下令某个进程在后台运行,可在此命令后面加符号&。( √)
3.如果route add default gw netmask 命令成功运行的话,此机器的IP地址有可能是。
(X )
程序编写完后还需要用gcc编译器编译。(X )
5.计算机内存中正数的补码和原码一样,负数的补码等于其原码加1(X )
6.在RedHat中cd ~ 这个命令会把你送回到你的家目录。(√)
三.填空题
IP协议采用四层层级结构,从下到上分别是:网络接口层.____ 互联网络层______ 、_ ___传输层______ .和应用层。
2.使用GCC 生成可执行文件似乎是一步完成的,实际上经历了如下四个步骤:__预处理____.编译.汇编和__连接______。
3.一个C语言程序的执行起点是__主函数________。
4. Linux
6. C程序中,定义一个变量:char ch = -15,写出该变量在内存中的二进制形式______________。的10次方可以表示___1_K字节,2的20次方表示___1__ M字节,2的32次方表示__4__G字节。
8. Shell脚本中定义了两个变量i=4 j=8,还一个变量s表示i+j的结果,如何用shell 语句写出i+j,并把结果赋给变量s,_______________________。
9. 默认情况下管理员创建了一个用户,就会在__/home__目录下创建一个用户主目录。
10. 某文件的权限为:d-rw-_r--_r--,用数值形式表示该权限__ O644_____;该文件属性
是____目录____。
四.操作与shell(本大题共3小题,总计30分)
1. 某Shell程序以一个普通文件作为参数,其功能是:判断文件的大小是否为0,如果
是则删除它;否则将该文件的内容输出到标准输出,请将程序补充完整。
#!/bin/sh
FILENAME=
echo -n "Input file name:"
输入文件名
如果不是文件
then
程序直接退出
fi
#判断该文件是否为空
then
为空则删除它
else
cat $FILENAME #否则输出文件的内容到标准输出
fi
2. 试编写一个SHELL程序,该程序能接收用户从键盘输入的20个整数,然后求这20个数的总和、并找出这些书的最大值及最小值,全部输出到屏幕上。
该程序能接收用户从键盘输入的100个整数,然后求其总和,最大值及最小值
#!/bin/ksh
count = 0
read num
min=$num
max=$num
sum=0
while read num; do
sum=`expr $sum + $num`
if [[ $num -gt $max ]]; then
max=$num
fi
if [[ $num -lt $min ]]; then
min=$num
fi
if [[ $count -eq 100 ]]; then
exit
else
count=`expr $count + 1`
done
echo "Max: $max"
echo "Min: $min"
echo "Sum: $sum"
exit 0
3. 假如你是机房系统管理员,某班上的80个学生在机房的Linux服务器上共创建了80个帐号,帐号名为“user”~“user”,现在课程结束了,这些帐号均不再使用。试编写一个shell程序,删除学生所建的上述帐号。
#!/bin/sh
i=1
while [ $i -le 80 ];