试题一
一、操作题
1.假设你的用户账号是zheng,现在你登录进入linux系统,查看当前登录到系统中的用户,查看当前系统中运行的进程,然后再退出系统。
2.在当前目录/home/zheng下新建一个目录back,将当前目录改为back,在back下新建2个长度为0的文件test1、test2,然后把test2移到其父目录中并改名为file12。
3.现在需要统计当前目录/home/zheng下普通文件的数目并显示结果,如何实现?
4.假设你是系统管理员,需要增加一个新的用户账号zheng,为新用户设置初始密码,锁定用户账号uly,并删除用户账号chang。
5.若给需要将/home/zheng目录下的所有文件打包压缩成/tmp/,你准备怎么做?当需要从压缩包中恢复时,又该如何处理?
二、简答和shell编程题
1.下面给出了一个SHELL程序,试对其行后有#(n)形式的语句进行解释,并说明程序完成的功能。
#!/bin/sh
DIRNAME=`ls /root | grep bak` #(1)
if [ -z "$DIRNAME" ] ; then #(2)
mkdir /root/bak ; cd /root/bak #(3)
fi
YY=`date +%y` ; MM=`date +%m` ; DD=`date +%d` #(4)
BACKETC=$YY$MM$DD_ #(5)
tar zcvf $BACKETC /etc #(6)
echo "fileback finished!"
2.填写标记代码行的意义,给出功能描述和前6行程序输出。
#include <unistd.h>
#include <signal.h>
int ntimes=0;
main(int argc, char *argv[]) {
int pid,ppid;
int p_action( ), c_action( );
signal(SIGUSR1 , p_action); #(1)
switch(pid=fork( )) { #(2)
case -1: perror("fork failed?);
exit(1);
case 0: signal(SIGUSR1,c_action);
ppid=getppid( );
for ( ; ; ) ;
default: {
for( ; ; ) {
pause;
sleep(1);
kill(pid,SIGUSR1); #(3)
}
}
}
}
p_action( ) {
printf("parent caught signal #%d\n",++ntimes);
}
c_action( ) {
printf("child caught signal #%d\n",++ntimes/*, ++ltimes*/);
int ppid;
ppid = getppid(); #(4)
kill(ppid, SIGUSR1);
sleep(3);
}
三、综合编程题
1.设计一个shell程序,添加一个新组为class1,然后添加属于这个组的30个用户,用户名的形式为stdxx,其中xx从01到30。
2.下面给出了一个SHELL程序,试对其行后有#(n)形式的语句进行解释,并说明程序完成的功能。
#!/bin/bash #(1)
dir=$1 #(2)
if [ -d $dir ] #(3)
then
cd $dir #(4)
for file in *
do
if [-f $file ] #(5)
then
cat $file #(6)
echo “end of file $file”
fi
done
else
echo “bad directory name $dir”
fi
3.假设linux分配给光驱的设备名是/dev/cdrecord,叙述Linux如何在这个光驱上使用光盘。写出详细的命令步骤解释。
4.试编写一个SHELL程序,该程序能接收用户从键盘输入的100个整数,然后求出其总和、最大值及最小值。
试题二
一、简答和shell编程题
1.若下达rmdir命令来删除某个已存在的目录,但无法成功,请说明可能的原因。
2.简述解决忘记root密码的办法。
3.创建一个shell 脚本,它从用户那里接收10个数,并显示已输入的最大的数。
4.叙述Linux如何使用Windows系统硬盘(设备名为/dev/hda3,分区类型为fat32)上的文件,如何实现开机自动挂载windows硬盘。写出详细的步骤。
二、写出完成以下功能的命令
1.在/home目录下查文件名为。Profile的文件,到后删除
2.将文件解压缩
3.升级安装wu-ftpd软件包
4.创建一个用户,用户名为user02,所属私有组和标准组为stuff,用户家目录为/home/user2,用户登陆shell为/bin/bash。
5.赋予所有用户读和写文件的权限:
三、综合编程题
1. 编写shell程序,实现自动删除50个用户账号的功能。账号名为stud1至stud50
2.用shell编写小九九乘法表程序,程序执行结果如下:
试题三
一、简答和shell编程题
1. 执行命令 ls –l 时,某行显示如下:
-rw-r--r-- 1 chris chris 207 jul 20 11:58 mydata
(1)用户chris 对该文件具有什么权限?
(2)执行命令useradd Tom后,用户Tom对该文件具有什么权限?
(3)如何使任何用户都可以读写执行该文件?
(4linux命令及shell编写)如何把该文件属主改为用户root ?
2.有一普通用户想在每周日凌晨零点零分定期备份/user/backup到/tmp目录下,该用户应如何做?
3.写一个shell 脚本,检查给出的串是否为回文(palindrome)。
二、综合编程题
1.设计一个shell程序计算n的阶乘。要求:
(1) 从命令行接收参数n;
(2) 在程序开始后立即判断n的合法性,即是否有参数,若有是否为正整数,若非法请给错误提示;
(3) 最后出计算的结果。
2.使用进程调度启动,指定30分钟后(或在2008年12月28日晚上20点30分)将/home/stu目录里的文件备份并压缩为,并放到/home/temp目录里(当前/home/temp目录并不存在)。
3.编写1个弹出式菜单的shell程序并实现其简单的菜单功能:
*******************************************************
* MENU *
* 1.copy 2.rename *
* 3.remove 4.find *
* 5.exit *
*******************************************************
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论