标签:shell脚本实战案例
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
done2.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
done3.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
done4.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
done5.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脚本实战案例
原文地址:http://sixijie123.blog.51cto.com/11880770/1880332