shell 命令综合实战

浪子不回头ぞ 提交于 2019-12-09 13:44:34

此篇为运维人员(开发)经常使用的查看系统状态的相关命令,主要综合了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
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!