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(代码片段