新年祝大家新年新气象,财运亨通,大吉大利,薪资翻倍,心想事成,废话不多说,直接上题
1.将文件/etc/a 下中除了 b文件外的所有文件压缩打包放到/home/a下,名字为a.gz
[root@localhost ~]# tar zcf /home/a/a.gz /etc/a/* --exclude=b
2.计划每星期天早8点服务器定时发送一封内容为:test的邮件。发信人:a@abc.com 收信人:b@abc.com,如何实现?
分时天月星
[root@localhost ~]# crontab -e
00 08 * * 7 echo "test" | /bin/mail -r a@abc.com -s test b@abc.com &>/dev/null
3.编写个shell脚本将当前目录下大于100K的文件转移到/tmp目录下
find . -size +100K xargs -I {} mv {} /tmp
4.写一个简单的shell脚本,脚本运行时让CTRL+C无法中断的该shell脚本?
在脚本里加入trap "" SIGINT 或 trap "" 2 以忽略SIGINT信号
5.找出log中访问top 10的ip地址
awk '{print $1}' nginx.log | grep -v "^$" | sort | uniq -c | sort -nr | head
6.shell下32位随机密码生成
cat /dev/urandom | head -1 | md5sum | head -c 32
7.如何让history 命令显示具体时间
HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S "
8.统计ip访问情况,要求分析nginx访问日志,找出访问页面数量在前十位的
awk '{print $1}' access.log |sort|uniq -c |head -n 10
9.如何调试shell脚本
方法1:#!/bin/bash –xv
方法2:在执行脚本时,bash -xv SHELLSCRIPTS.sh
10.写脚本实现,在目录/tmp下找到100个以abc开头的文件,然后把这些文件的第一行保存
到文件new中
方法一:
find /tmp -type f -name “abc*” | head -n 100 | xargs head -q -n 1 >> new
方法二:
#!/bin/sh
for filename in `find /tmp -type f -name "abc*"|head -n 100`
do
sed -n '1p' $filename>>new
done
11.写脚本实现,把文件b中有的,但是文件a中没有的所有行,保存为文件c并统计c的行数。
grep -vxFf a b | tee c | wc -l
12.清除本机除了当前登陆用户以外的所有用户
kill $(who -u|grep -v `whoami`|awk '{print $6}'|sort -u)