linux菜鸟日记(4)
使用一个简单的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)的更多相关文章
- linux菜鸟日记(5)
iptables详细语法及配置: SNAT:源地址转换DNAT:目标地址转换PNAT:端口地址转换 ----------------------------------iptables规则链 路由以后 ...
- linux菜鸟日记(3)
Centos7利用shell编辑一串 一键完成一些基础配置的代码: 在这串shell代码中我实现了 IP地址的配置.光盘的挂载.本地yum源的搭建.一些服务的安装例如 httpd. php. ntp ...
- linux菜鸟日记(2)
ntp服务的安装与配置: 安装ntp服务的过程比较简单首先你需要挂载光盘然后安装ntp服务如果配置了本地yum源可以直接使用光盘中的资源进行本地yum的安装,如果没有就使用rpm包进行安装. 由于我已 ...
- linux菜鸟日记
本地yum源的安装: 要安装本地yum源,首先需要熟悉本地yum文件的配置和光盘的挂载 第一步挂载光盘: 首先需要指定一个光盘挂载目录 通常情况下我习惯使用默认挂载目录,所以一般我使用的光盘挂载命令是 ...
- Linux学习日记-使用EF6 Code First(四)
一.在linux上使用EF 开发环境 VS2013+mono 3.10.0 +EF 6.1.0 先检测一下EF是不是6的 如果不是 请参阅 Linux学习日记-EF6的安装升级(三) 由于我的数据库 ...
- Linux管理日记(二)
14 启动内网端口转发 ### 2. 查看IP以及网卡信息 # 可以发现, eth0 的地址 inet addr:10.144.7.195, 此为内网网卡 # 公网网卡, eth1 的地址 inet ...
- Linux菜鸟成长日记 ( Linux 下的 ftp 文件传输协议 )
https://blog.csdn.net/buster_zr/article/details/80244542 FTP FTP 是 File Transfer Protocol (文件传输协议)的英 ...
- Linux 学习日记 1
这是我第一次系统地学习Linux,希望通过这个学习日记收获一些东西把-- @_@ Grub - 启动管理器 在启动时让用户选择要启动的系统.(但是windows比较霸道--重装windows后会将 ...
- Linux学习日记——源码编译Apache
[本文为笔者在学习Linux 下的软件安装时,尝试使用源码安装Apache 的过程,事后进行一个小小的总结,发现错误望指正.] 一.典型的源码编译安装软件的过程包括以下3步: 1) 运行 config ...
随机推荐
- Android Duplicate files copied in APK
今天调试 Android 应用遇到这么个问题: Duplicate files copied in APK META-INF/DEPENDENCIES File 1: httpmime-4.3.2.j ...
- WPF中弹出菜单
在WPF里弹出菜单是用Popup,你那个右键的是上下文菜单(也就是快捷菜单). <Grid> <Button x:Name="BtnPop" Width=&quo ...
- bzoj3744 Gty的妹子序列
我是萌萌的传送门 感觉这题还是不错的--虽然其实算是比较水的题= = 首先分块,令f[i][j]表示第i块到第j块的逆序对数,询问的时候直接计算不完整块与完整块以及不完整块之间的逆序对. 不完整块之间 ...
- vmare centos 6.8 minimal 无法上网
主机:win7 工具:vmare 11.0.0 系统:http://mirrors.163.com/centos/6.8/isos/x86_64/CentOS-6.8-x86_64-minimal.i ...
- js对Cookie的读写操作
//读Cookie function getCookie(objName) {//获取指定名称的cookie的值 var arrStr = document.cookie.split("; ...
- html5 canvas-绘制贝塞尔曲线
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- docker swarm-mode
root@node1:~# docker versionClient: Version: 1.12.3 API version: 1.24 Go version: go1.6.3 Git commit ...
- Django模板与Vue.js冲突问题
参考: https://my.oschina.net/soarwilldo/blog/755984 方法1:修改vue.js的默认的绑定符号 Vue.config.delimiters = [&quo ...
- SSH使用详解
一.SSH基础 (1)什么是SSH? 传统的网络服务程序,如:ftp.pop和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据.而且 ...
- java中readLine()方法为什么有的行读不到?
今天在使用java对IO操作时,readLine()输出到控制台的行少了很多.后来发现readLine()实际上是一次读取一行.如果我们不话readLine()读取的行内容赋给一个字符串的话,每直接调 ...