ezeke 发表于 2018-8-19 08:48:10

shell实战(1)

  1.批量生成随机字符文件名案例
  使用for循环在/sixijie 目录下批量创建10个html文件,其中每个文件需要包含10个随机小写字母加固定字符串sxj,名称示例如下:
# ls /sixijie  
4Gh7wbJZLz_sxj.htmlg1XnFA7Itn_sxj.htmlJLfS4JZxHT_sxj.html
  
qn6liXYYae_sxj.htmlSNtsQaLfJW_sxj.htmllG4JkU3dYv_sxj.html
  
f36PdmohfI_sxj.htmljbORiq2wZZ_sxj.htmlsDVwwL7WX0_sxj.htmltX7bi+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 /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


页: [1]
查看完整版本: shell实战(1)