shell实战

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell实战相关的知识,希望对你有一定的参考价值。


1.批量生成随机字符文件名案例


使用for循环在/sixijie 目录下批量创建10个html文件,其中每个文件需要包含10个随机小写字母加固定字符串sxj,名称示例如下:

[[email protected] ~]# 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实战的主要内容,如果未能解决你的问题,请参考以下文章

Express实战 - 应用案例- realworld-API - 路由设计 - mongoose - 数据验证 - 密码加密 - 登录接口 - 身份认证 - token - 增删改查API(代码片段

用于确保在任何给定时间仅运行一个 shell 脚本的 shell 片段 [重复]

shell 脚本 片段

vue2.0 代码功能片段

golang代码片段(摘抄)

nodejs常用代码片段