shell习题-24
发布时间:2020-12-16 01:41:58 所属栏目:安全 来源:网络整理
导读:有两个文件a.txt和b.txt,需求是,把a.txt中有的但b.txt中没有的行找出来,并写入到c.txt,然后计算c.txt文件的行数。 参考答案 #grep -f a.txt b.txt #下边的方法练习逻辑能力 #!/bin/bash#这个脚本用来比较文件差异#作者:猿课-阿铭 www.apelearn.com#日期
有两个文件a.txt和b.txt,需求是,把a.txt中有的但b.txt中没有的行找出来,并写入到c.txt,然后计算c.txt文件的行数。
参考答案#grep -f a.txt b.txt #下边的方法练习逻辑能力 #!/bin/bash #这个脚本用来比较文件差异 #作者:猿课-阿铭 www.apelearn.com #日期:2018-12-07 cat a.txt|while read line do if ! grep -q "$line" b.txt then echo $line fi done >c.txt wc -l c.txt 题目要求把当前用户下所有进程名字中含有"aming"的进程关闭。 参考答案#ps -u 用户 #!/bin/bash #这个脚本用来杀进程 #作者:猿课-阿铭 www.apelearn.com #日期:2018-12-07 ps -u $USER|awk ‘$NF ~ /aming/ {print $1}‘ |xargs kill 题目要求用shell实现,以并发进程的形式将mysql数据库所有的表备份到当前目录,并把所有的表压缩到一个压缩包文件里。 假设数据库名字为mydb,用户名为aming,密码为passwd。 参考答案考虑自己服务器的负载能力 #!/bin/bash #这个脚本用来并发备份数据库 #作者:猿课-阿铭 www.apelearn.com #日期:2018-12-07 N=5 mysql -uaming -ppasswd mydb -e "show tables"|sed ‘1d‘ > /tmp/table.txt n=`wc -l /tmp/table.txt|awk ‘{print $1}‘ div() { n=`echo "scale=1;$1/$2"|bc` n1=`echo "scale=1;$n+0.5"|bc` echo $n1|cut -d. -f1 } n1=`div $n $N` split -l $n1 /tmp/table.txt myd() { for t in `cat $1` do mysqldump -uaming -ppasswd mydb $t > $t.sql done } for f in xaa xab xac xad xae do myd $f & done wait tar czf mydb.tar.gz *.sql rm -f *.sql 题目要求一个网站,使用了cdn,全国各地有几十个节点。需要你写一个shell脚本来监控各个节点是否正常。
参考答案#新知识点diff #curl -x ip:80 url #!/bin/bash #这个脚本用来监控CDN节点 #作者:猿课-阿铭 www.apelearn.com #日期:2018-12-08 s_ip=88.88.88.88 url=www.aminglinux.com/index.php ipf=/data/ip.list curl -x$s_ip:80 $url 2>/dev/null >/tmp/source.txt for ip in `cat $ipf` do curl -x$ip:80 $url 2>/dev/null >/tmp/$ip.txt diff /tmp/source.txt /tmp/$ip.txt > /tmp/$ip.diff n=`wc -l /tmp/$ip.diff|awk ‘{print $1}‘` if [ $n -gt 0 ] then echo "节点$ip有异常." fi done 题目要求已知下面的字符串是通过RANDOM随机数变量md5sum|cut -c 1-8截取后的结果,请破解这些字符串对应的md5sum前的RANDOM对应数字? 参考答案#md5sum #!/bin/bash #这个脚本用来破解字符串 #作者:猿课-阿铭 www.apelearn.com #日期:2018-12-08 for i in `seq 0 32767` do m=`echo $i|md5sum |cut -c 1-8 ` echo $i $m done > /tmp/md5.txt cat > c.txt <<EOF 21029299 00205d1c a3da1677 1f6d12dd 890684ba EOF grep -f c.txt /tmp/md5.txt 题目要求写一个脚本:
参考答案#awk 的用法和 if #!/bin/bash #这个脚本用来判断CPU厂商 #作者:猿课-阿铭 www.apelearn.com #日期:2018-12-10 cpu=`grep ‘^vendor_id‘ /proc/cpuinfo |head -1|awk -F ‘: ‘ ‘{print $2}‘` #if [ $cpu == "AuthenticAMD" ] #then # echo "CPU厂商是AMD." #elif [ $cpu == "GenuineIntel" ] #then # echo "CPU厂商是Intel." #else # echo "CPU厂商是非主流厂商。" #fi case $cpu in AuthenticAMD) echo "CPU厂商是AMD." ;; GenuineIntel) echo "CPU厂商是Intel." ;; *) echo "CPU厂商是非主流厂商。" ;; esac (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |