此篇为运维人员(开发)经常使用的查看系统状态的相关命令,主要综合了awk,grep ,sed等文本处理命令,能够大大提高工作效率,在此做个简单分享,也便于自己以后查找,毕竟好记性不如烂笔头。

获取etho网卡的ip:

ifconfig eth0 |grep "inet" |awk '{print $2}'

获取cpu信息

cat /proc/cpuinfo|grep "model name"|tail -l |cut -d: -f 2 |sed 's/^//g'|awk '{print $1,$3,$4,$NF}'

cut -d: -f 2    以冒号分割,截取第二列

sed 's/^ //g'    将行首的空格去掉

awk '{print $1,$3,$4,$NF}'    默认以空格分隔,打印第1,3,4及最后一列

获取cpu 个数 physical id

cat /proc/cpuinfo|grep "physical id"|sort|uniq -c|wc -l

sort|uniq -c     统计不同行的个数

wc -l    一共有多少行

获取磁盘信息

fdisk -l|grep "Disk"|grep -v "identifier"|awk '{print $2,$3,$4}'|sed 's/,//g'

grep -v "identifier"    不取含有“identifer”的一列

sed 's/,//g'    将逗号去掉

获取内存信息

free -m |grep "Mem" |awk '{print "Total",$1,$2"M"}'

"Total"    将会在$1这一列前加上的前缀

“M”    在第二列的后面加上“M”

获取负载情况

uptime|awk '{print "current Load:" $(NF-2)}'|sed 's/,//g'

$(NF-2)}    倒数第二列

如果将以上信息写入脚本,定期执行,并导出csv文件即可在windows下用excel打开,特别高大上,有木有很神奇!!!注意csv文件以逗号作为分割。

#!/bin/bash
ip=`ifconfig eth0 |grep "inet" |awk 'www.jiuyueguojizc.cn{print $2}'`
cpu_info=`cat /proc/cpuinfo|grep "model name"|tail -l |cut -d: -f 2 |sed ' www.huanhua2zhuc.cn /^//g'|awk '{print $1,$3,$4,$NF}'`
cpu_num=`cat /proc/cpuinfo|grep "physical id"|sort|uniq -c|wc -l`
disk_info=`fdisk www.hdptzc.cn-l|grep "Disk"|grep -v "identifier"|awk '{print $2,$3,$4}'|sed 's/,//g'`
mem_info=`free -m |grep "Mem" |awk '{print "Total",$1,$2"M"}'`
load_info=www.tongyayule.com`uptime|awk '{print "current Load:" $(NF-2)}'|sed 's/,//g'`

function host_info(){
        echo -e "\033[32m ############# get host info list###########\033[0m"
        echo "ip:${ip}"
        echo www.xinyiylzc.cn "cpu_info:${cpu_info}"
        echo www.yuanyyleezc.cn "cpu_num:${cpu_num}"
        echo www.yunzeyle.cn "disk_info:${disk_info}"
        echo www.yachengyl.cn "mem_info:${mem_info}"
        echo www.moyouyul.cn"load_info:${load_info}"
}
host_info 

echo "ip地址,cpu信息, cpu个数, 硬盘信息, 内存信息 ,负载信息" >> host_info.csv
echo "${ip},${cpu_info},${cpu_num},${disk_info},${mem_info},${load_info}" >> host_info.csv

shell 命令综合实战的更多相关文章

  1. 常用shell命令实战

    #!/bin/sh ################### #### 环境变量 ### ################### #主程序目录 #APP_HOME=/apps/svr/apache-to ...

  2. Shell高级编程视频教程-跟着老男孩一步步学习Shell高级编程实战视频教程

    Shell高级编程视频教程-跟着老男孩一步步学习Shell高级编程实战视频教程 教程简介: 本教程共71节,主要介绍了shell的相关知识教程,如shell编程需要的基础知识储备.shell脚本概念介 ...

  3. 跟着老男孩一步步学习Shell高级编程实战

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://oldboy.blog.51cto.com/2561410/1264627 本sh ...

  4. (转)跟着老男孩一步步学习Shell高级编程实战

    原文:http://oldboy.blog.51cto.com/2561410/1264627/  跟着老男孩一步步学习Shell高级编程实战 原创作品,允许转载,转载时请务必以超链接形式标明文章 原 ...

  5. 4.Vim编辑器与Shell命令脚本

    第4章 Vim编辑器与Shell命令脚本 章节简述: 本章首先讲解如何使用Vim编辑器来编写.修改文档,然后通过逐个配置主机名称.系统网卡以及Yum软件仓库参数文件等实验,帮助读者加深Vim编辑器中诸 ...

  6. python 调用shell命令的方法

    在python程序中调用shell命令,是件很酷且常用的事情…… 1. os.system(command) 此函数会启动子进程,在子进程中执行command,并返回command命令执行完毕后的退出 ...

  7. 手把手教你做一个Shell命令窗口

    这是一个类似于win下面的cmd打开后的窗口,可以跨平台使用,可以在win和linux下面同时使用,主要功能如下: 首先我们需要把这些功能的目录写出来,通过写一个死循环,让其每次回车之后都可以保持同样 ...

  8. shell编程企业级实战

    如何才能学好Shell编程 为什么要学习shell编程 Shell是Linux底层核心 Linux运维工作常用工具 自动化运维必备基础课程 学好shell编程所需Linux基础 熟练使用vim编辑器 ...

  9. (转载)python调用shell命令之os 、commands、subprocess

    linux系统下进入python交互式环境: 一.os 模块 1.1.os模块的exec方法簇: python交互界面中: In [1]: import os In [2]: os.exec os.e ...

随机推荐

  1. maven手动安装ojdbc6.jar包到本地仓库

    需要jar文件 ojdbc6.jar jar下载地址1   下载地址2 本地执行: mvn install:install-file -Dfile=D:/ojdbc6.jar -DgroupId=co ...

  2. SQL分组后获取其中一个字段最大值的整条记录

    SELECT * FROM( SELECT id,name,counts,createDate,row_number() OVER(partition BY name ORDER BY createD ...

  3. 实验吧-隐写术-guess(outguess)

    给了一张图片: 看了看属性,没啥东西. 根据题目:guess guess guess不出你就out了 猜测是用outguess,于是上linux,进入outguess文件夹,执行命令:outguess ...

  4. Bean 注解(Annotation)配置(3)- 依赖注入配置

    Spring 系列教程 Spring 框架介绍 Spring 框架模块 Spring开发环境搭建(Eclipse) 创建一个简单的Spring应用 Spring 控制反转容器(Inversion of ...

  5. (排序EX)P1583 魔法照片

    题解: 需要注意的是,快排完之后并不是按照编号从小到大的顺序输出 #include<iostream>using namespace std;int r=0;void swap(int & ...

  6. 关于数据库text字段

    问题描述: maven项目中,使用MBG代码生成器自动生成的实体类对象时,当数据库中表的字段有 text 类型时,对应到java类中是String类型的,在前端页面通过ajax获取到 json 格式的 ...

  7. Eclipse反编译插件jad的安装

    Eclipse反编译插件jad的安装 JadClipse是Jad的Eclipse插件,是一款非常实用而且方便的Java反编译插件.时间久了,可能忘记在哪里进行配置了,因此记录下以备后续使用(若需要). ...

  8. java课程课后作业190606之计算最长英语单词链

    一个文本文件中有N 个不同的英语单词, 我们能否写一个程序,快速找出最长的能首尾相连的英语单词链,每个单词最多只能用一次.最长的定义是:最多单词数量,和单词中字母的数量无关. 统一输入文件名称:inp ...

  9. 201812-2 小明放学 Java

    思路: 红绿灯每种灯亮划分区间,在[0,r]区间内红灯亮,在(r,g+r]区间内绿灯亮,在(r+g,r+g+y]区间内黄灯亮,在划分好区间后只需要判断当小明到达红绿灯时是哪个灯在亮,就可以判断出通过红 ...

  10. mysql 时区问题导致的时间相差14小时

    1.mysql 字段名称 类型 begin_time TIME begin_time=08:18:39 2.java数据库连接串 jdbc:mysql://x.x.x.x:3306/y?useUnic ...