首页 > 代码库 > shell实战(1)
shell实战(1)
1.批量生成随机字符文件名案例
使用for循环在/sixijie 目录下批量创建10个html文件,其中每个文件需要包含10个随机小写字母加固定字符串sxj,名称示例如下:
[root@centos6 ~]# ls /sixijie 4Gh7wbJZLz_sxj.html g1XnFA7Itn_sxj.html JLfS4JZxHT_sxj.html qn6liXYYae_sxj.html SNtsQaLfJW_sxj.html lG4JkU3dYv_sxj.html f36PdmohfI_sxj.html jbORiq2wZZ_sxj.html sDVwwL7WX0_sxj.html tX7bi+8MyP_sxj.html
2.批量改名特殊案例
将第一题中结果文件名中的sxj字符串全部改成sixijie(最好用for循环实现),并且将扩展名html全部改成大写。
3.批量创建特殊要求用户案例
量创建10个系统帐号test01-test10并设置密码
4.扫描网络内存活主机案例
写一个Shell脚本,判断10.0.0.0/24网络里,当前在线的IP有哪些?
5.解决DOS攻击生产案例
写一个Shell脚本解决DOS攻击生产案例
题目来源于网络
1.sh #!/bin/bash # Batch generation of random character file name case # Author sixijie mkdir /sixijie &> /dev/null for ((i=1;i<=10;i++));do pre=$(openssl rand 100 | base64 | sed ‘s/\\/1/g‘ | sed ‘s/\//2/g‘ | head -c 10) touch /sixijie/${pre}_sxj.html done
2.sh #!/bin/bash # Batch rename special case # Author sixijie cd /sixijie for i in `ls /sixijie` ; do pre=$(echo $i | awk -F ‘_‘ ‘{printf $1}‘) mv $i ${pre}_sixijie.HTML done
3.sh #!/bin/bash # Batch create special requirements user case # Author sixijie password=$(cat /dev/urandom | sed ‘s/[^a-zA-Z0-9]//g‘ | strings -n 5 | head -n 1) for i in {1..10} ; do useradd test$i echo $password | passwd test$i --stdin done
4.sh #!/bin/bash # Scanning network memory live host case # Author sixijie for i in {1..10} ; do ping -c 1 -w 1 10.0.0.$i &> /dev/null res=$(echo $?) if [ $res -eq 0 ] ; then echo "10.0.0.$i oneline" else echo "10.0.0.$i dead" fi done
5.sh #!/bin/bash # Solve the production case of DOS attack # Author sixijie for i in $(netstat -anp | grep -i ‘:80‘ | grep -i ‘established‘ | awk ‘{print $5}‘ | cut -d: -f1 | sort | uniq -c | awk ‘{if ($1>30) {print $2}}‘) do iptables -A INPUT -p tcp -s $i -j DROP done
本文出自 “似水流年” 博客,请务必保留此出处http://sixijie123.blog.51cto.com/11880770/1880332
shell实战(1)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。