现在的位置: 首页 > 综合 > 正文

shell脚本编程-腾讯系统工程师面试题

2014年11月22日 ⁄ 综合 ⁄ 共 1071字 ⁄ 字号 评论关闭

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开机。 

抱歉!评论已关闭.