码迷,mamicode.com
首页 > 系统相关 > 详细

shell脚本基础小习题(二)

时间:2019-12-02 09:16:25      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:不可   sage   awk   显示   大小   物理   开始   脚本   mic   

shell脚本基础小习题(二)

编写一个memusage.sh,根据Free命令的结果计算出内存占用率

思路:

1:在屏幕输出“free”先查看命令结果

技术图片

2:根据给出的结果我们需要用到“total”和“free”

total:列显示系统总的可用物理内存和交换空间大小。

free:列显示还有多少物理内存和交换空间可用使用。

这里我们只看Mem(内存的使用情况)就可以。

3:我们创建脚本但是我们在free的Mem中只需要用(“total”和“free”)该怎么编写,这里我们就要用到“grep(过滤)”,管道符号(|)和awk

grep:过滤关键字相对应的行,这里我们只看“Mem”

awk:以列为单位读取数据的过滤工具

awk -F其中的(-F)部分用来指定分隔符号【为指定时,就默认以空格或制表符分隔】,这里我们看到“free”中没有分隔符号 我们就直接awk后面跟空格就可以了。

awk ‘{prin $2}‘:这是固定格式 .这里$2表示free里的total所在的那列,你想用那以列就在"$"后面写数字几。但是我们这里第一列是从Mem开始算起 不要搞混淆了。

技术图片

4:我们开始要想想 改用怎么样的计算方式在shell中把占用率显示出来 不可能像我们以前用手写或用计算器那样直接敲数字计算{(135276除以1867024)再乘以100 }得出结果,用shell的数值变量运算时不支持小数运算的,我是这样想的可以先把"free"乘以100 再除以“total”也就是($a \* 100 / $b)

技术图片

技术图片

因为我现在的free变了所以结果是这

技术图片

shell脚本基础小习题(二)

标签:不可   sage   awk   显示   大小   物理   开始   脚本   mic   

原文地址:https://blog.51cto.com/14557584/2455084

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!