Shell脚本
2015-11-19 20:41
633 查看
1、ping局域网IP 脚本一 -------------------------------------------------------------------------------------------------- #!/bin/bash ip=1 while [ $ip != "254" ];do ping 192.168.14.$ip -c 1 | grep -q "ttl=" && echo "192.168.14.$ip yes" || echo "192.168.14.$ip no" ip=`expr "$ip" "+" "1"` done -------------------------------------------------------------------------------------------------- 脚本二 #!/bin/bash ip="192.168.14." for i in `seq 1 254` do ping -c 1 $ip$i | grep -q 'ttl=' && echo "$ip$i yes" || echo "$ip$i no" done -------------------------------------------------------------------------------------------------- 2、ping 多个域名脚本 list为域名文件 #!/bin/sh for a in `cat list`;do ping -c 1 $a; done -------------------------------------------------------------------------------------------------- 3、ping时返回mac #!/bin/bash PREFIX=192.168.14 octet=1 while [ "$octet" -lt "255" ];do echo -en "Pinging ${PREFIX}.${octet}..." ping -c1 -w1 ${PREFIX}.${octet} > /dev/null 2>&1 if [ "$?" -eq "0" ];then echo "OK" else echo "Failed" fi let octet=$octet+1 done -------------------------------------------------------------------------------------------------- 4 带输入的ping #!/bin/bash #Filename: netscan.sh network=$1 time=$(date +%H%M%S) for i in $(seq $2 $3) do ping -c 1 -w 2 $network.$i > /dev/null if [ $? -eq 0 ]; then arp $network.$i | grep ":" | awk '{print $1,$3}' >> $time.log echo "host $network.$i is up" else echo "host $network.$i is down" fi done 执行时加参数 [root@3F-209 ~]# sh ping.sh 192.168.14 80 100 host 192.168.14.80 is up host 192.168.14.81 is down -------------------------------------------------------------------------------------------------- 5 速度快 #!/bin/bash for i in `seq 1 254` do { ping -c2 192.168.14.$i &>/dev/null && echo "192.168.14.$i is alive" }& done -------------------------------------------------------------------------------------------------- 6 从文件读取IP #! /bin/bash for i in `cat allip` do ping=`ping -c 1 $i|grep loss|awk '{print $6}'|awk -F "%" '{print $1}'` if [ $ping -eq 100 ];then echo ping $i fail else echo ping $i ok fi done 7 for循环批量操作服务器 for i in `cat idc-xiaomi-a`;do scp A $i:/home/work/A.new;done for i in `cat idc-xiaomi-a`;do ssh $i:`cd /home/work; cp A A.20150102; mv A.new A;md5sum A`;done for ip in `cat 3Fip.txt`;do ssh $ip ' echo "------------------------------------" && hostname && cat ~/.bashrc';done for ip in `cat 3Fip.txt`;do scp nohup.out $ip:/root ;done -------------------------------------------------------------------------------------------------- 8 文件重命名 a) rename 替换比较方便 owl owl- * 把当前目录下所有文件名中的owl替换为owl- -------------------------------------------------------------------------------------------------- b) for循环 要重命名的文件 20141113_0500_owl-owl-test.tgz 将文件名中以-分割为两部分,并调换两部分顺序 #!/bin/bash for file in `ls *.tgz` do filename=${file%.tgz} #获取文件名,不包括后缀tgz one=`echo $filename | awk -F '_' '{print $1}'` two=`echo $filename | awk -F '_' '{print $2}'` mv ${filename}.tgz ${two}-${one}.tgz done -------------------------------------------------------------------------------------------------- c) awk重命名 相当灵活 要重命名的文件 20141113_0500_owl-owl-test.tgz ls *.tgz | awk -F'[.-]' '{system("mv "$0" "$2"_"$1"-owl-test.tgz")}'
相关文章推荐
- linux shell中find的使用
- 反弹shell的十种姿势
- shell脚本
- shell入门学习
- 《linux shell》笔记之date
- shell脚本:ip/mask 转换为 ip1-ip2
- 修改git bash 默认路径
- shell之md5sum(对文件内手机号生成MD5)
- Shell命令的内容
- shell之ssh远程管理(这个脚本就是上一个jump.sh调用的脚本)
- shell之菜单+跳板机(跳板机管理及连接脚本与下一个for循环的脚本配合使用)
- SSH WebShell的适用(python)
- shell脚本报错:-bash: xxx: /bin/sh^M: bad interpreter: No such file or directory
- 第一个Shell脚本-lint检查以及报告收集
- spark-shell客户机设置
- Android中执行java命令的方法及java代码执行并解析shell命令
- linux shell pushd popd dirs命令
- XShell配色方案(总结)
- 连续ping IP地址 shell脚本【来自《鸟哥linux的私房菜》】
- shell中字体变色