shell 命令综合实战
此篇为运维人员(开发)经常使用的查看系统状态的相关命令,主要综合了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 命令综合实战的更多相关文章
- 常用shell命令实战
#!/bin/sh ################### #### 环境变量 ### ################### #主程序目录 #APP_HOME=/apps/svr/apache-to ...
- Shell高级编程视频教程-跟着老男孩一步步学习Shell高级编程实战视频教程
Shell高级编程视频教程-跟着老男孩一步步学习Shell高级编程实战视频教程 教程简介: 本教程共71节,主要介绍了shell的相关知识教程,如shell编程需要的基础知识储备.shell脚本概念介 ...
- 跟着老男孩一步步学习Shell高级编程实战
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://oldboy.blog.51cto.com/2561410/1264627 本sh ...
- (转)跟着老男孩一步步学习Shell高级编程实战
原文:http://oldboy.blog.51cto.com/2561410/1264627/ 跟着老男孩一步步学习Shell高级编程实战 原创作品,允许转载,转载时请务必以超链接形式标明文章 原 ...
- 4.Vim编辑器与Shell命令脚本
第4章 Vim编辑器与Shell命令脚本 章节简述: 本章首先讲解如何使用Vim编辑器来编写.修改文档,然后通过逐个配置主机名称.系统网卡以及Yum软件仓库参数文件等实验,帮助读者加深Vim编辑器中诸 ...
- python 调用shell命令的方法
在python程序中调用shell命令,是件很酷且常用的事情…… 1. os.system(command) 此函数会启动子进程,在子进程中执行command,并返回command命令执行完毕后的退出 ...
- 手把手教你做一个Shell命令窗口
这是一个类似于win下面的cmd打开后的窗口,可以跨平台使用,可以在win和linux下面同时使用,主要功能如下: 首先我们需要把这些功能的目录写出来,通过写一个死循环,让其每次回车之后都可以保持同样 ...
- shell编程企业级实战
如何才能学好Shell编程 为什么要学习shell编程 Shell是Linux底层核心 Linux运维工作常用工具 自动化运维必备基础课程 学好shell编程所需Linux基础 熟练使用vim编辑器 ...
- (转载)python调用shell命令之os 、commands、subprocess
linux系统下进入python交互式环境: 一.os 模块 1.1.os模块的exec方法簇: python交互界面中: In [1]: import os In [2]: os.exec os.e ...
随机推荐
- 如何将本地项目推送到Github
如何将本地项目推送到Github Tip:在本地要安装好Git,官网:https://git-scm.com/ 一个学习Git的好地方:https://try.github.io/ 在线闯关实战,边练 ...
- Flink on yarn以及实现jobManager 高可用(HA)
on yarn https://ci.apache.org/projects/flink/flink-docs-release-1.8/ops/deployment/yarn_setup.html f ...
- 【OJ2216】小奇的数列
题目大意 : 给定一个长度为 \(n\) 的数列,以及 \(m\) 次询问,每次给出三个数 \(l\),\(r\) 和 \(P\),询问 \((\sum_{i=l_1}^{r_1}a_i)\;mod\ ...
- SPOJ RENT 01背包的活用+二分
这个题目给定N航班的发出时间和结束时间以及价值,要求不冲突时间的最大价值 第一时间想到经典的N方DP,即对航班按发出时间排一下序之后每个i对前面的都扫一遍 时间过不了N有10万,只能想优化了,一开始想 ...
- Spring 控制反转容器(Inversion of Control – IOC)
系列教程 Spring 框架介绍 Spring 框架模块 Spring开发环境搭建(Eclipse) 创建一个简单的Spring应用 Spring 控制反转容器(Inversion of Contro ...
- TX2--安装跑一python3.5
sudo add-apt-repository ppa:webupd8team/javasudo apt-get updatesudo apt-get install oracle-java8-ins ...
- PHP的变量作用域-常亮-全局变量-表单提交变量
一.变量的作用域 作用域是指在一个脚本中某个变量在哪些地方可以使用或可见. 内置超级全局变量可以在脚本的任何地方使用和可见. 常量,一旦被声明,将可以在全局可见.也就是说,他们可以在函数内外使用. 在 ...
- cf 766#
天呢,太垃圾了我.. AB懵逼了半天题意,C最后搞了个DP还不对...DP太垃圾了,, #include<bits/stdc++.h> #define INF 0x7fffffff #de ...
- Python属性和内建属性
属性property 1. 私有属性添加getter和setter方法 class Money(object): def __init__(self): self.__money = 0 def ge ...
- spring boot 接口返回值封装
Spring Boot 集成教程 Spring Boot 介绍 Spring Boot 开发环境搭建(Eclipse) Spring Boot Hello World (restful接口)例子 sp ...