脚本一:

在公司里有一个网段是 192.168.3.0的网段,现在想判断一下哪些主机在线,哪些主机不在线。

shell脚本解决方案:

方法一:

思路

首先要循环目标主机的IP地址,IP地址分为两部分:

str=192.168.3.
num=1-255的自然数,所以num需要先遍历,然后与str拼接

IP=${str}${num}

#!/bin/bash
#定义变量str
str="192.168.31."
# for循环遍历num
#num是1-255的自然数,可以使用{1..255}
for num in {1..255}
doip=${str}${num}if ping -c1 -w1 ${ip} &>/dev/null;then#如果可以ping通则提示 ip在线echo "$ip is online."else# 如果ping不通,提示主机不在线echo "$ip is offline"fi
done

ping命令后面有两个参数,一个是 -c,一个是-w

-c count 指定要被发送(或接收)的回送信号请求的数目,由 Count 变量指出
-w timeout 这个选项仅和 -c 选项一起才能起作用。它使 ping 命令以最长的超时时间去等待应答(发送最后一个信息包后)

方法二:

思路

前面的和方法一一样,到了ping命令之后,要判断是否在线的时候,除了方法一,还可以判断 echo $?
如果 $?结果为0 ,则表示能ping通,也就是ip在线,否则为不在线。

#!/bin/bash
str="192.168.1."
for num in {1..255}
doip=${str}${num}ping -c1 -w1 ${ip} &>/dev/null#在这里定义NUM为$? ,如果执行成功则$?=0,如果ping不通则不为零NUM=$?  if [ $NUM -eq 0 ];thenecho "$ip is online."elseecho "$ip is offline"fi
done

方法三

思路

表示1-255的方式,出了{1.。255} 之外,还可以用seq 1 254

[root@laoxin-06 ~]# cat ping.sh
#!/bin/bash
str="192.168.31."# seq 1 254
for num in `seq 1 254`
doip=${str}${num}ping -c1 -w1 ${ip} &>/dev/null NUM=$?if [ $NUM -eq 0 ];thenecho  "$ip is online" elseecho  "$ip is offline"fidone

脚本二:

我们去面试经常被问到磁盘使用率,我们可以写一个脚本来判断磁盘的使用率

#!/bin/bash
# 截取IP
## 截取IP有多种方法
IP=`ifconfig eth0 |awk -F " " 'NR==2{print $2}'`
# 定义使用率,并转换为数字
SPACE=`df -Ph |awk '{print int($5)}'` for i in $SPACE
do
#如果遍历的数值大于90,我们就认为磁盘使用率超过了90%,然后告警
if [ $i -ge 90 ]
thenecho "$IP的磁盘使用率已经超过了90%,请及时处理"fi
done

当然IP的截取方法有很多种,这里用了相对比较简单的一种

总结

shell脚本其实没有那么难,日常学习中,多多练习就好了。

Linux运维面试中常被问到的两个shell脚本相关推荐

  1. Python培训常识:Python面试中常被问到的几种设计模式要知道

    学习Python技术大家都是为了日后能够找到适合自己的工作岗位,那么除了要学习好Python技术外,对于面试环节的问题也要有所了解,本期小编为大家介绍的Python培训教程就算关于Python面试中常 ...

  2. 面试中常被问到(11)虚函数/纯虚函数

    虚函数 如何定义一个虚函数?在基类成员函数前加入virtual关键字,但并不代表此函数不被实现,只是说明允许基类指针调用派生类重写的此函数 一个类只要声明有虚函数或者从基类继承了虚函数,在编译过程中就 ...

  3. 直击面试现场——Linux运维面试——犀利24问

    系统管理员这个职业它需要一个了解系统工作原理的人,这样的人才才能保证数据的安全和服务器的平稳运行. 但是,小伙伴们可能会问:「难道系统管理员就只能做这些吗?」答案是否定的! 让我先给大家介绍一下典型的 ...

  4. 网易月薪25K的Linux运维面试真题曝光

    首先我们来看下网易Linux运维工程师招聘岗位要求: [岗位定义]高级系统工程师(应用运维) [岗位薪资]15K-25K [职位描述] 1. 负责公司运维体系的建设,组织在线移动APP和业务系统以及自 ...

  5. Linux 运维工作中的经典应用ansible(批量管理)Docker容器技术(环境的快速搭建)...

    一 Ansible自动化运维工具 Python 在运维工作中的经典应用ansible(批量管理操作)1.安装ansible(需要bese epel 2种源) wget -O /etc/yum.repo ...

  6. e - 数据结构实验之查找五:平方之哈希表_面试中常被问到的Hash表,你了解吗

    #新人扶持计划# Hash表在面试中经常被问到,今天我们来了解下. Hash表也称散列表,也有直接译作哈希表,Hash表是一种特殊的数据结构,它同数组.链表以及二叉排序树等相比较有很明显的区别,它能够 ...

  7. 最详细LInux运维面试题目

    不 管 你 才 踏 出 社 会 ,还 是 已 久 经 沙 场 , 请 相 信 ,这 个 世 界 上 ,岁 月 对 每 个 人 都 是 公 平 的 , 1 天 都 是 24 个 小 时 ,一 分 钟 都 ...

  8. Linux运维面试精选题库(一)

    运维精选面试题 1.什么是数据库 DB.DataBase 数据库: 依照某种数据模型进行组织并存放到存储器的数据集合 DBMS.DataBase Management System – 数据库管理系统 ...

  9. 【面试真经】Linux运维面试之内核优化

    前言 最近学员去公司面试,很多公司会问到关于内核优化的问题,其实面试官也没有优化过,但就是想问问,仅此而已. 作为一个运维对Linux内核参数进行调整,很多人觉得很高大上,可能是很高深的技术. 可以这 ...

最新文章

  1. 【异常】org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed after attempts=36, exceptions:
  2. docker mysql 容器无故停止的原因
  3. Android nDrawer
  4. 一个rshinyapp的学习视频就是2个小时,看来李刚民老师说的是对的,最重要的是快速学习一个语言并且实践的能力
  5. WebSocket In ASP.NET Core(二)
  6. Wisconsin Squares [USACO]
  7. SpringMVC 配置文件实现(Tomcat)
  8. Response.Redirect 产生的“正在中止线程”错误
  9. 草丛三剑客之逆向生成
  10. MySQL的使用笔记
  11. python 速成学堂_Python 与数据科学入门
  12. 拓端tecdat|R语言基于协方差的结构方程拟合的卡方检验
  13. 在vs中用正则表达式查找字符并替换
  14. 算法设计与分析——概述
  15. 人体全身骨骼神经分布图,人体骨骼神经系统图片
  16. 基于PHP+MySQL的个人网页设计与实现
  17. 提取swf素材_网页游戏素材提取工具及提取教程
  18. 隐马尔可夫之前向算法
  19. 计算机图文混合排版教学设计,Word图文混排教学设计
  20. 【大学生软件测试基础】三角形构成问题 - 决策表

热门文章

  1. excel如何绘制三线表头?
  2. 用 Python 写的文档批量翻译工具,效果竟然超越付费软件?
  3. 祝福版的3D标签云动画特效
  4. html css 画电池,CSS画的电量提示图形
  5. VR全景图片拍摄技术的技巧
  6. iQOO5Pro和小米10至尊纪念版防水吗
  7. 显卡未响应导致程序崩溃 - 解决方案
  8. 乘2取整法,即将小数部分乘以2
  9. JAVA PdfBox库提取PDF文件某一页转为图片
  10. Games101计算机图形学笔记L19 Cameras,Lenses and Light Fields