do the right things the right ways
分类:
2011-12-08 22:49:15
原文地址:shell脚本编程-腾讯系统工程师面试题 作者:luozhiyong131
1.从 a.log 文件中提取包含“WARNING”或”FATAL”,同时不包含“IGNOR”的行,然后,提取以“:”分割的第五个字段?
grep -E 'WARNING|FATAL' a.log | grep-v'IGNOR' | awk -F : '{print $5 }'
2.添加一个新组为class01,然后,添加属于这个组的30个用户,用户名的形式为stdXX,其中,XX从 01到 30?
#!/bin/bash
groupadd class01
for((i=1;i<=9;i++))
do
useradd std0$i -G class01
done
for((i=10;i<=30;i++))
do
useradd std$i -G class01
done
3.在每个月的第一天备份并压缩/etc目录下的所有内容,存放在/root/backup目录里,且文件名为如下形式yymmdd_etc,yy为年,mm为月,dd为日。shell程序 fileback存放在/usr/bin 目录下?
tar -zcf /root/backup/`date+%y%m%d`_etc /etc
4.用shell编程,判断一文件是不是字符设备文件,如果是将其拷贝到/dev目录下?
#!/bin/bash
if test$# -ne1
then
echo "ERROR"
exit 1
fi
if test -c $1
then
/bin/cp -a $1 /dev/
exit0
fi
exit 1
5.某系统管理员需要每天做一定的重复工作,编制一个解决方案:
(1).从下午 4:50 删除/abc 目录下的全部子目录和全部文件;
(2).从早上 8:00~下午 6:00每小时读取/xyz目录下x1 文件中每行第一个域的全部数据加入到/backup目录下的 back01.txt文件内;
(3).每逢周一下午 5:50 将/data目录下的所有目录和文件归档并压缩为文件backup.tar.gz;
(4).在下午 5:55 将IDE接口的CD-ROM缷载(假设CD-ROM的设备名为 hdc);
(5).在早上 8:00 开机后启动。
使用计划任务来完成:
crontab-e
-----------------------
50 16 * * * rm-rf/abc/*
00 08-18 * * * awk '{print$1 }' /xyz/x1 >> /backup/back01.txt
50 17 * * 01 tar-zcf/backup/backup.tar.gz /data
55 17 * * * umount/dev/hdc
-----------------------
设定BIOS每日上午 08:00开机。
一小时——第一部分:Linux&Shell