使用一个简单的for循环和if判断语句实现某个网段内所有ping所有客户机的shell程序:

for i in {..}
do
if ping -c 192.168.10.${i} >/dev/null >&;
then
echo " ${i}通"
else
echo "${i}未通 "
fi
done

在这里i是一个循环变量,一共循环254次,${i}相当于192.168.10.0这个网段中从1~254的主机号。

for循环开始然后进行if判断:

判断 ping 192.168.10.xxx这个网段中的所有主机号中如果是标准输出就 ">"(重定向到)/dev/null这个文件中

then 如果是标准输出 那么就显示 ${i}(这个主机)通

"2>&1"  表示错误输出同样重定向到/dev/null文件下

else 如果是错误输出 那么就显示${i}(这个主机)不通

在这段程序中 ping -c 1 表示每个主机只ping一次。

这段程序中主要的点就是  ”192.168.10.${i} >/dev/null 2>&1“

首先要明白 dev下的null文件有什么用。这个null文件相当于windows下的回收站,但是在这个null中的东西是无法恢复的。

在这里ping 每个客户机时如果有返回值也就是ping通了,那么就属于一个标准输出这个标准输出就把他丢到 /dev/null中 如果不这样做你ping的返回数据会占用系统的某个空间。 在这里所有标准输出都会是1 而 2就表示错误输出 ,&符号表示等同于   “2>&1” 这里就表示 错误输出 等同于 标准输出(不代表 错误输出 等于 标准输出) 这样才能将错误输出也放到/dev/null中。

通过这样一个for循环加if判断就能实现ping所有主机号并返回一个 通 或者 没通 的信息。

linux菜鸟日记(4)的更多相关文章

  1. linux菜鸟日记(5)

    iptables详细语法及配置: SNAT:源地址转换DNAT:目标地址转换PNAT:端口地址转换 ----------------------------------iptables规则链 路由以后 ...

  2. linux菜鸟日记(3)

    Centos7利用shell编辑一串 一键完成一些基础配置的代码: 在这串shell代码中我实现了  IP地址的配置.光盘的挂载.本地yum源的搭建.一些服务的安装例如 httpd. php. ntp ...

  3. linux菜鸟日记(2)

    ntp服务的安装与配置: 安装ntp服务的过程比较简单首先你需要挂载光盘然后安装ntp服务如果配置了本地yum源可以直接使用光盘中的资源进行本地yum的安装,如果没有就使用rpm包进行安装. 由于我已 ...

  4. linux菜鸟日记

    本地yum源的安装: 要安装本地yum源,首先需要熟悉本地yum文件的配置和光盘的挂载 第一步挂载光盘: 首先需要指定一个光盘挂载目录 通常情况下我习惯使用默认挂载目录,所以一般我使用的光盘挂载命令是 ...

  5. Linux学习日记-使用EF6 Code First(四)

    一.在linux上使用EF 开发环境 VS2013+mono 3.10.0 +EF 6.1.0 先检测一下EF是不是6的 如果不是  请参阅 Linux学习日记-EF6的安装升级(三) 由于我的数据库 ...

  6. Linux管理日记(二)

    14  启动内网端口转发 ### 2. 查看IP以及网卡信息 # 可以发现, eth0 的地址 inet addr:10.144.7.195, 此为内网网卡 # 公网网卡, eth1 的地址 inet ...

  7. Linux菜鸟成长日记 ( Linux 下的 ftp 文件传输协议 )

    https://blog.csdn.net/buster_zr/article/details/80244542 FTP FTP 是 File Transfer Protocol (文件传输协议)的英 ...

  8. Linux 学习日记 1

    这是我第一次系统地学习Linux,希望通过这个学习日记收获一些东西把-- @_@ Grub - 启动管理器   在启动时让用户选择要启动的系统.(但是windows比较霸道--重装windows后会将 ...

  9. Linux学习日记——源码编译Apache

    [本文为笔者在学习Linux 下的软件安装时,尝试使用源码安装Apache 的过程,事后进行一个小小的总结,发现错误望指正.] 一.典型的源码编译安装软件的过程包括以下3步: 1) 运行 config ...

随机推荐

  1. 久违的phpstorm

    原文:http://www.cnblogs.com/buyucoder/p/5291771.html 原文:http://idea.lanyus.com/

  2. MySql的一些用法

    1.怎样找到MySql数据的存储目录? 答:从服务中查看正在运行的MySql,查看它的启动参数,可能是这个样子: "D:\Program Files\MySQL\MySQL Server 5 ...

  3. flask_sqlalchemy 命名遇到的一个小坑

    大概用了三个小时的时间. models.py class DriveRecord(db.Model): """drive record model"" ...

  4. XML 基础

    linux下xml编辑器 vim gedit editix wonderful;免费30天;可以进行有效性检查 xerces oxygen 收费 xmlcopyedit serna free 是ser ...

  5. windows内网渗透技巧

    1.(windows)无扫描器情况下内网存活主机探测: for /l %i in (1,1,255) do @ping 192.168.1.%i -w 1 -n 1 | find /i "t ...

  6. JSP复习整理(四)Cookie

    一.useCookie.html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"& ...

  7. iOS Universal Links(通用链接)

    公司的运维,发现最近大量的请求 /.well-known/apple-app-site-association这个文件,造成了大量的404,可是这是谁请求的呢? 其实是苹果从iOS9.3开始更改了通用 ...

  8. 解决java.lang.IncompatibleClassChangeError: Implementing class

    jar包冲突(有重复jar) 仔细检查

  9. Vue.js 快速入门

    什么是Vue.js vue是法语中视图的意思,Vue.js是一个轻巧.高性能.可组件化的MVVM库,同时拥有非常容易上手的API.作者是尤雨溪,写下这篇文章时vue.js版本为1.0.7 准备 我推荐 ...

  10. 关于python数据序列化的那些坑

    -----世界上本来没那么多坑,python更新到3以后坑就多了 无论哪一门语言开发,都离不了数据储存与解析,除了跨平台性极好的xml和json之外,python要提到的还有自身最常用pickle模块 ...