linux运维对比python,Linux运维对比:Shell运维 VS Python运维 | 求索阁
一、目的所在
通过简单的例子去找出Linux运维中使用shell与使用python的一些不同,分析两者的主要特点
二、实例
2.1、需求
1.查询当前主机是否支持超线程
2. 查询当前内存使用情况
2.2、通过Shell实现
既然是在Linux,那么肯定要先使用Linux自身的工具,实现脚本内容如下:
g='\e[1;32m'
e='\e[0m'
prin(){
echo -e "$1"
}
cpu_red(){
#内核数[即线程]
cpu_processor=`grep processor /proc/cpuinfo | wc -l`
#CPU数量[即多路]
cpu_number=`cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l`
#CPU物理内核
cpu_core=`cat /proc/cpuinfo | grep "cpu cores" | sed -n '1p' | awk '{print $4}'`
#CPU型号
cpu_info=`cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c`
}
mem_red(){
#总内存[单位MB]
total=`free -m | grep -v "Swap" | awk '{print $2}' | sed -n "2p"`
used=`free -m | grep -v "Swap" | sed -n '2p' | awk '{print $3}'`
free=`free -m | grep -v "Swap" | sed -n '2p'| awk '{print $4}'`
shared=`free -m | grep -v "Swap" | sed -n '2p' | awk '{print $5}'`
cache=`free -m | grep -v "Swap" | sed -n '2p' | awk '{print $6}'`
}
print_cpu(){
cpu_red
echo -e "CPU物理数:${g}${cpu_number}${e}\nCPU内核数:${g}${cpu_core}${e}\nCPU型号:${g}${cpu_info}${e}"
if [[ ${cpu_core} == ${cpu_processor} ]];then
echo -e "超线程:${g}支持${e}"
else
echo -e "超线程:${g}不支持${e}"
fi
}
print_mem(){
mem_red
d="当前主机内存信息 总内存:${g}${total}MB${e} 当前已用:${g}${used}MB${e} 当前可用:${g}${free}MB${e} 共享占用:${g}${shared}MB${e} 缓存占用:${g}${cache}MB${e}"
for i in $d;do
prin "$i"
done
}
print_cpu
print_mem
执行结果如下:
2.3、通过Python实现
源码如下:
import psutil
def cpu():
info = psutil.cpu_times()
luoji = psutil.cpu_count()
wuli = psutil.cpu_count(logical=False)
if luoji == wuli:
print("主机CPU不支持超线程")
else:
i = int(luoji/2)
if wuli == i:
print("主机CPU支持超线程")
def mem():
mems = psutil.virtual_memory()
print('当前主机总内存:', int(mems.total/1024/1024), 'MB')
print('当前已使用:', int(mems.used/1024/1024), 'MB')
cpu()
mem()
执行结果如下:
2.4、扩展
下面附上Windows端的执行结果
Shell
Python
主要区别:
实现功能:
Shell需要通过相关命令进行特定的筛选,灵活性比较高,但是比较复杂
Python只需要调用别人写好的模块即可实现相关功能,且不需要熟悉Linux命令,但是能够实现的功能相对来说不够灵活,总体就是简单
跨平台性:
Shell可以在任意Linux平台上运行
Python可以在任意平台上运行,所以Python的跨平台性更强
linux运维对比python,Linux运维对比:Shell运维 VS Python运维 | 求索阁相关推荐
- python linux系统管理与自动化运维_《Python Linux系统管理与自动化运维》赖明星著【摘要 书评 在线阅读】-苏宁易购图书...
商品参数 作者: 赖明星著 出版社:机械工业出版社 出版时间:2017-09-01 版次:1 开本:16开 装帧:平装 ISBN:9787111578659 版权提供:机械工业出版社 基本信息 商品名 ...
- python linux运维教程 推荐_Linux运维人员成长之路学习书籍推荐
原标题:Linux运维人员成长之路学习书籍推荐 一.入门书: <鸟哥的私房菜(基础篇)> <鸟哥的私房菜(服务篇)> <Linux命令行与Shell脚本编程大全(第2版) ...
- python linux运维教程 推荐_Linux 运维入门到跑路书单推荐
一.基础入门 <鸟哥的Linux私房菜基础学习篇>:最具知名度的Linux入门书<鸟哥的Linux私房菜基础学习篇>,全面而详细地介绍了Linux操作系统.鸟哥的Linux私房 ...
- python与linux系统运维_《Python Linux系统管理与自动化运维》碎碎念
在此记录学习<Python Linux系统管理与自动化运维>的过程 感觉碎碎念全放在一篇文章里编辑时太乱,于2020年12月16日重新分开整理. 2020年12月13日,看了一下需要学习的 ...
- python bottle部署g_python bottle框架(WEB开发、运维开发)教程 | linux系统运维
教程目录 一:python基础 二:bottle基础 python bottle 框架基础教程:环境部署 三:WEB开发教程 四:运维开发教程 运维开发(1.1):框架.结构介绍 运维开发(1.2): ...
- python linux系统管理与自动化运维_Python Linux系统管理与自动化运维
Py't'hon语言与Linux系统管理 Py't'hon生态工具 打造命令行工具 文本处理 Linux系统管理 使用python监控Linux系统 文档与报告 网络 Python自动化部署 深入浅出 ...
- centos linux引导修复_【Linux 运维】 Centos7.x 系统修复模式
一.linux的运行级别: 运行级别就是来确定系统启动时到底启动那个服务. linux默认有7个运行级别: 0 关机 1 单用户模式,用于系统修复 2 不完全的命令模式,不含NFS服务 3 完全的命令 ...
- 大数据运维工作(Linux,OGG,链路监控,Hadoop运维等)
大数据运维工程师工作内容 Linux运维手册 1. 启动/关闭集群组件 1.1 负载均衡 1)Nginx 运维命令 Copy to clipboard cd /usr/nginx/sbin #进入 s ...
- 这些都是成为高薪运维必备的 Linux 技能,你具备了吗?
这篇文章来源于Quroa的一个问答<What are some time-saving tips that every Linux user should know?>-- Linux用户 ...
最新文章
- 《LeetCode力扣练习》剑指 Offer 06. 从尾到头打印链表 Java
- new Scanner(1.txt);读取不到文件中的数据
- 转换8421码的程序c语言,16进制数转换成8421BCD编码函数
- 移动 Azure 资源后如何快速修复 Dashboard
- CUDA Texture Memory
- 消息中间件的研究 (一)
- 《英雄联盟》捞月狗数据初探
- 信息学奥赛一本通习题答案(一)
- 罗技键盘连计算机,罗技键盘怎么连接电脑(罗技键盘使用教程及性能评测)
- STM32 485通信芯片引脚应用讲解
- sap scc4 客户端设置(设置生产机不可更改代码)
- 基于Pytorch实现GAT(图注意力网络)
- h5动画 php,GitHub - calcyu/wechat_html5_animate: 微信上的HTML5动画,类似易企秀效果。...
- 动画制作·边学习边做动画·从零开始的动画世界
- 心心念特斯拉电动皮卡?现在可以下单了,只要1000块
- zabbix mysql trapper_zabbix的trapper(补获器)使用
- PAUL VIOLA 鲁棒的实时人脸检测:Robust Real-Time Face Detection
- python网络爬虫学习笔记(7)动态网页抓取(二)实践
- 【算法浅析NO.00004】递归算法浅析(un-accomplished version) by arttnba3
- Autodesk所有产品的卸载、安装解决方案(3dsmax、cad等)