*一、单选题(共20题,每题1分,共20分)
1.从后台运行程序myprog,正确的命令是( D )
A、./myprog! B、./myprog C、./myprog@ D、./myprog&
2.当运行在多用户模式下时,可以切换多少虚拟用户终端( B )
A、3 B、6 C、12 D、1
3.若要使用进程名来结束进程,应使用( D )命令。
A、ps -d B、psfree C、profree D、kill
4.若一台计算机的内存为128MB,则交换分区的大小通常是( C )
A、64MB B、128MB C、256MB D、512MB
5.当字符串用单引号括起来时,SHELL 将( C )
A、解释引号内的特殊字符 B、执行引号中的命令
C、不解释引号内的特殊字符 D、结束进程
6.用rm命令删除非空目录需要加上哪个参数?( A )
A、r B、t C、c D、f
7.怎样显示当前目录( A )
A、pwd B、cd C、who D、ls
8.下列哪一个指令可以用来切换至不同的 runlevels( B )
A、tel B、goto C、reboot D、telinit
9.下面说法中,错误的说法有( B )
①两个用户之间是独立的,无论在任何条件下,均不可共用UID创建用户
②在vi命令模式,可以用yy复制当前行,并用p命令粘贴到需要的任意一行上
③硬盘分区后不必格式化、挂载也能使用
④Linux不可以与MS-DOS、Windows等其他操作系统共存于同一台机器上
A、4 B、3 C、2 D、1
10.Redhat 9 不支持的安装方式是( A )
A、通过Telnet进行网络安装 B、从本地硬盘驱动器进行安装
C、通过NFS进行网络安装 D、通过HTTP进行网络安装
11.下列哪几个符号是Linux通配符( B )
① # ② @ ③ ④ ? ⑤ &
A、①④⑤ B、③④ C、②④⑤ D、①③
12.欲查询 bind 套件是否有安装,可用下列那一指令( D )
A、rpm –ivh bind.rpm B、rpm -q bind.rpm
C、rpm -U bind.rpm D、rpm -q bind
13.Linux 文件系统的文件都按其作用分门别类地放在相关的目录中,对于外部设备文件,一般应将其放在( A )目录中
A、/dev B、/ect C、/bin D、/lib
14.下列( A )指令可以用来显示目前主机的路由表(routing table)
A、netstat -rn B、route C、 print route D、show ip route
15.在linux中观看内存(物理内存、交换空间)的使用情况的命令是( B )
A、top B、free C、last D、lastcomm
16.下面哪个命令可以分页显示大文本文件( C )
A、vi B、cat C、more D、tail
17.在重新启动Linux 系统的同时把内存中的信息写入硬盘,应使用( D )命令实现。
A、# reboot B、# halt C、# reboot D、# shutdown –r now
18.观察系统当前进程的运行情况的命令是( C )
A、free B、dmesg C、top D、last
19.以下哪个命令是用来定义shell的全局变量( A )
A、export B、import C、set D、alias
20.Linux启动的第一个进程init启动的第一个脚本程序是( B )
A、/etc/fstab B、/etc/rc.d/init.d
C、/etc/inittab D、/etc/rc.d/rc.sysinit
二、判断题(共1题,每题10分,共10分)
1、RedHat LINUX 安装时自动创建了根用户。 ( 正确 )
2、能改变用户工作目录到根目录的命令是 cd . 。 ( 错误 )
3、Linux 中的超级用户为root,登陆时不需要口令。 ( 错误 )
4、cat filename.txt | more可实现分页地查看一个大文件的内容。 ( 正确 )
5、命令 # echo \$HOME 可以输出用户的家目录。 ( 错误 )
6.、redhat 系统中,默认情况下根口令没有字符长短的的限制,但是必须把口令输入两次;如果两次输入的口令不一样,安装程序将会提示用户重新输入口令。 ( 错误 )
7、pwd命令可用于确定当前目录。 ( 正确 )
8、find命令中可以复制查找到的文件到指定目录。 ( 正确 )
9、RedHat Linux 使用 ls -all 命令将列出当前目录中的文件和子目录名。 ( 错误 )
10、Linux系统包括虚拟终端,图形界面终端有 6 个。 ( 正确 )
得分 评卷人
三、填空题(共15题,每题1分,共15分)
1、某文件的权限为:drw-r--r--,用数值形式表示该权限,则用八进制数表示为 644 ,该文件属性是 目录文件 。
2、在Linux系统中,以 文件 方式访问设备,用i节点来标识每个文件。
3、在Linux中,用户可通过ln命令来创建文件链接。链接有两种,其中硬链接要求链接文件和被链接文件必须位于同一个文件系统中,并且不能链接目录。而符号链接则不存在这一问题。
4、在Linux中,可使用rmdir命令来删除指定目录。但它要求一个目录被删除之前必须是空的。而另一删除命令rm则无此限制。但操作者必须是对当前目录有写权限的所有使用者,而且删除某目录时也必须具有对该目录的 父目录 具有写权限。
5、如果要禁止某个帐户登录,需要将文件/etc/passwd中对应帐号的 x 改为 。如果要为用户指定新的shell,最本质的做法就是修改 /etc/passwd 文件。
6、 /sbin 目录用来存放系统管理员使用的管理程序。
7、查看硬盘的剩余空间,可以使用命令 df ,用于检查磁盘分区和进行磁盘分区的命令则应使用 fdisk 。
8、用于检查编译器版本的命令是 gcc -v 。
9、下面命令实现的功能是:对命令中的两个文件的行数、词数、字符数进行统计 。
wc /usr/man/man1/ {test1.txt,testA.sh}
9、【答案】统计/usr/man/man目录下的“test1.txt”文件和“testA.sh”文件的行数、词数、字符数。
10、利用管道技术统计当前目录下有多少个文件,该命令是 ls ./ | wc –w 。
得分 评卷人
四、简答题(每小题5分,共20分)
-
请简述Linux操作系统有什么优点?
答:Linux的主要优点包括:
· 提供了先进的网络支持:内置TCP/IP协议;
·真正意义上的多任务、多用户作系统;
·与UNIX系统在源代码级兼容,符合IEEE POSIX标准;
·支持数十种文件系统格式;
·开放源代码,用户可以自己对系统进行改进;
·采用先进的内存管理机制,更加有效地利用物理内存。 - 简述Linux系统的引导步骤。
答:系统引导步骤:
(1)PC开机上电;
(2)执行BIOS程序,以检查系统内存、基本输入/输出设备等是否正常;如果不正常则输出提示信息、系统挂起;
(3) 把Linux操作系统从磁盘读入内存;
(4)操作系统装入内存并执行一系列的初始化操作;
(5)进入用户桌面(图形界面方式)或系统光标提示符(字符界面方式);
(6)用户登录系统。
3.简述crontab的作用和概念。
答:指定使用者在固定时间执行程序,换句话说,即使用者的时程表。 -u user是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。
4.简述在Linux系统中外部存储设备的使用方法,如果要自动安装文件系统,应修改什么配置文件?
答:在Linux中,没有盘符的概念,对于外部存储设备,如附加的硬盘,光盘和u盘等,都要用mount挂载命令来为存储设备指定一个目录作为挂载点,然后通过该挂载点来使用存储设备。当要自动挂载时,要修改文件/etc/fstab。
得分 评卷人
五、综合编程题(共3小题,第1题10分,第2题10分,第3题15分,本大题共35分)
1、【应用编程1】编写一个shell脚本,能够输出Fibonacci序列。具体要求显示序列中的前15个数字:0,1,1,2,3,5,8,13……,该序列的特点是前二个数之和等于第三个数的值。
应用编程1答案:
#! /bin/bash
n=0
echo -ne "$n\t"
m=1
echo -ne "$m\t"
t=1
a=2
while [ $a -lt 15 ]
do
t=$(expr $n + $m)
echo -ne "$t\t"
a=expr $a + 1
n=$m
m=$t
done
【应用编程2】用shell编写一个可以打印出九九乘法表(上三角形式)的程序,程序执行结果如下:(3分)
应用编程2答案:
#! /bin/bash
for((i=1;i<=9;++i))
do
for((j=1;j<=9;j++))
do
if [ $j -ge $i ];
then echo -ne "$((ij))\t"
else echo -ne "\t"
fi
done
echo
done
【应用编程3】编写shell程序,该程序能接收用户从键盘输入的10个整数,然后求出其总和、最大值及最小值。(4分)
应用编程3答案:
#! /bin/bash
for i in seq 10
do
read -p "please ip put a number:" var
echo $var >> tempfile.tmp
done
echo "min number is :"sort -n tempfile.tmp | head -n 1
echo "max number is :"sort -rn tempfile.tmp | head -n 1
echo "sum of all number:"awk '{ a+=$0}END{ print a}' tempfile.tmp
echo "#############tempfile.tmp的内容################"
cat tempfile.tmp
rm tempfile.tmp
echo
2、【运维管理脚本编程1】先设计一个shell程序,实现“在每月的第1天和第15天的18点30分对/etc目录下的内容进行压缩并备份”的功能。备份的文件存放在/root/bak目录里,命名格式为:yymmddetc。其中yy为年,mm为月,dd为日。shell程序fileback存放在/usr/bin目录下。最后再写出添加定时任务、运行任务定时器crontab的命令序列。
运维管理脚本编程1答案:
首先,编写shell程序fileback:
#! /bin/bash
DIRNAME=ls /root | grep bak
if [ -z "$DIRNAME" ] ; then
mkdir /root/bak
cd /root/bak
fi
YY=date +%y
MM=date +%m
DD=date +%d
BACKETC=$YY$MM$DDetc.tar.gz
tar -zcvf $BACKETC /etc
echo “fileback finished!”
之后再编写任务定时器:
echo "30 18 1,15 /bin/bash /usr/bin/fileback" >> /root/etcbakcron
crontab /root/etcbakcron
或使用crontab -e 命令后,再添加定时任务,如下所示:
30 18 1,15 /bin/bash /usr/bin/fileback
【运维管理脚本编程2】请编写shell程序,功能上实现自动生成100个用户账号的用户信息并写入文件useradd.txt,账号名为stud1至stud50,用户号UID从550到599,假定GID是610。
运维管理脚本编程2答案:
#! /bin/bash
uid=550
i=1
while [ $i -le 50 ];do
echo stud$i:x:$uid:610::/home/stud$i:/bin/bash >> useradd.txt
uid=$(($uid+1))
i=$(($i+1))
done
3.【综合编程】编写1个弹出式菜单的shell程序并实现其简单的菜单功能:
MENU
1.copy 2.rename
3.remove 4.find
5.exit
即用户按下数字1,则提示用户输入源和目的文件名后执行复制;输入数字2,则提示用户输入要更名的文件或目录后执行更名操作;输入数字3,则提示用户输入要删除的文件并执行删除操作;输入数字4,则提示用户输入要查找的文件并执行查找操作;输入数字5,则退出该菜单shell程序的执行。
【综合编程参考程序】
#! /bin/bash
clear
while [ 0 ]; do
echo ""
echo " menu "
echo " 1.copy 2.rename "
echo " 3.remove 4.find "
echo " 5.exit "
echo ""
echo
echo -n " select:"
read choice
echo
case $choice in
1)
echo -n "source file:"
read src
echo
echo -n "destination fold:"
read des
cp -arf $src $des
if $?; then
echo "copy sucessful!"
else
echo " copy fail"
fi;;
2)
echo -n "the file to be renamed:"
read src
echo
echo -n "the new file:"
read des
mv $src $des
if $?; then
echo "rename sucessful!"
else
echo "rename fail"
fi;;
3)
echo -n "the file to be removed:"
read src
rm -rf $src
if $?; then
echo "remove sucessful!"
else
echo " remove fail"
fi;;
echo -n "the file to be found:"
read src
find $HOME -name $src;;
5) exit;;
) echo "Invalid option";;
esac
done
注:第4题亦可使用函数实现,若代码结构和语法正确,且在功能上能实现预期效果,此题可赋满分。
*