思想就是整个网段ping一遍,对于ping不通的,解析其失败的字符来判定

#!/bin/bash
head_add=${}
address=${head_add%.*} echo address=$address
for i in {..}
do
ping -c $address.$i |grep -iq "tty" && (echo IP addr 192.168..$i ok;echo 192.168..$i >>./ok_ip) || (echo IP addr 192.168.0.$i bad;echo 192.168.0.$i >> ./bad_ip)
done

首先用到了字符串的截取

${expression}下面写用到的一种方法
使用 % 号操作符。用途是从右边开始删除第一次出现子字符串即其右边字符,保留左边字符。用法为%substr*,例如:
str='http://www.你的域名.com/cut-string.html'
echo ${str%/*}
得到的结果为http://www.你的域名.com,即删除从右边开始到第一个"/"及其右边所有字符 更多可以参考
https://www.cnblogs.com/onmyway20xx/p/4308113.html
接下来 ping -c 2,就是ping两次,ping不同的话会显示 unreach的字样
然后grep分析是否含有目标字符串
grep -q用于if逻辑判断很好用,如果有匹配的内容则立即返回状态值0,否则返回非0
接下来按逻辑输出即可,找到返回1,即输出&&紧跟命令,否则返回||后的 {
  command
}&
这是多线程的写法,后跟wait表示所有线程执行完毕后,继续下面的动作
nmap命令也可用于扫描网段命令

Shell脚本快速查看网段内ip占用情况和可用ip的更多相关文章

  1. 【转载】MySQL被慢sql hang住了,用shell脚本快速清除不断增长的慢sql的办法

    原文地址:MySQL被慢sql hang住了,用shell脚本快速清除不断增长的慢sql的办法 作者:mchdba 某个初级dba误删index,mysql漫山遍野全是10S以上的慢sql,mysql ...

  2. 在windows命令行窗口下执行:查看所有的端口占用情况

    开始--运行--cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务管理器中没有PID这一项,可以在任务管理器中选&qu ...

  3. mysql数据库查看各实例磁盘占用情况

    1.总体查看: use information_schema; select TABLE_SCHEMA, concat(truncate(sum(data_length)/1024/1024,2),' ...

  4. Linux系统防CC攻击自动拉黑IP增强版Shell脚本 《Linux系统防CC攻击自动拉黑IP增强版Shell脚本》来自张戈博客

    前天没事写了一个防CC攻击的Shell脚本,没想到这么快就要用上了,原因是因为360网站卫士的缓存黑名单突然无法过滤后台,导致WordPress无法登录!虽然,可以通过修改本地hosts文件来解决这个 ...

  5. shell脚本快速配置yum源

    我们在使用Red Hat系列的Linux系统时经常要配置yum源,本文档提出一个快速配置yum源的方法,就是用shell脚本来实现. 我们在使用Red Hat系列的Linux系统时经常要配置yum源, ...

  6. 如何使用 Shell 脚本来查看多个服务器的端口是否打开?

    我们在进行服务器配置的时候,经常要查看服务器的某个端口是否已经开放.如果服务器只有一两台的话,那很好办,只需要使用 nc 命令一个个查看即可. 但是,如果你的服务器是个集群,有很多台呢?那如果还一个个 ...

  7. 利用shell脚本快速定位日志

    我们平时查日志,在测试环境,日志文件只有几个的情况下,我们可以通过找时间接近的文件然后根据关键词定位报错位置,大不了都查一遍,这都可以忍受.但是在实际的生产环境下,服务器集群部署,每天的日志非常多非常 ...

  8. shell 脚本中常用的内置变量

    在 Bash 解释器中,内置了许多变量,这些变量的功能是解释器自带的,我们在编写shell脚本时如果能灵活的使用它们,对脚本的编写效率以及差错大有帮助, 下面一一介绍这些变量 $FUNCNAME.$L ...

  9. Shell脚本快速入门

    最近看了下Shell脚本.曾经遇到很多现成的工具包里边就多次用到了Shell脚本.总之这东西的作用无非就是将一系列的操作进行整合. ·整合后使得一套工作更加模块化规范化. ·批量处理要比手动操作快得多 ...

随机推荐

  1. Shell中特殊字符的含义

    $0 这个程式的执行名字 $n 这个程式的第n个参数值,n=1..9 $* 这个程式的所有参数,此选项参数可超过9个. $# 这个程式的参数个数 $$ 这个程式的PID(脚本运行的当前进程ID号) $ ...

  2. Ubuntu下Iptables的简单运用,开放/关闭端口,禁止/允许IP或IP段访问...

    首先添加规则有两个参数:-A和-I,其中-A是添加到规则的末尾:-I可以插入到指定位置,没有指定位置的话默认插入到规则的首部,由于匹配规则是从上往下,依次查找的,可能出现配置的规则冲突导致后续的规则不 ...

  3. JavaScript 真值和假值

    常见的假值有 值 说明 var a=false;  值为假 var a =0;  值为0 var a='';  值为空 var a=10/'abc' 算式错误 var a; 未赋值变量 常见的真值有 ...

  4. ZoomEye

    * https://www.zoomeye.org/ *类似工具 IVRE 1. 摄像头漏洞 (1)http://www.2cto.com/Article/201401/269458.html (2) ...

  5. ZOJ Problem Set - 1010

    算法:已知多边形各顶点坐标,求多边形面积的公式 http://www.cnblogs.com/FleetingTime/p/3849957.html http://www.mathchina.net/ ...

  6. [python] 一行命令搭建http服务内网传文件

    在Linux服务器上或者Windows服务器上,只要安装python,均可以使用此命令,建立一个内网可以快速访问的WEB服务. 在想要搭建WEB服务的目录下,使用Python3.x内置方法: pyth ...

  7. 原生js实现图片的3d效果

    <!doctype html><html lang="en"><head><meta charset="UTF-8"& ...

  8. Guava 工具类之Strings 的使用

    public class StringTest { public static void main(String[] args) { //判断是null还是空字符串 boolean b1 = Stri ...

  9. 小木棒HDU1455(DFS+剪枝)

    题意:HDU1455 给出n个小木棒的长度,他们是又数根长度相同的木棒剪短得来的,问没剪短之前的木棒长度最短是多少. 思路: 见代码:https://www.cnblogs.com/fqfzs/p/9 ...

  10. 基于TCP 协议的socket 简单通信

    DNS 服务器:域名解析 socket 套接字 : ​ socket 是处于应用层与传输层之间的抽象层,也是一组操作起来非常简单的接口(接受数据),此接口接受数据之后,交由操作系统 为什么存在 soc ...