一、目的所在

通过简单的例子去找出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运维 | 求索阁相关推荐

  1. python linux系统管理与自动化运维_《Python Linux系统管理与自动化运维》赖明星著【摘要 书评 在线阅读】-苏宁易购图书...

    商品参数 作者: 赖明星著 出版社:机械工业出版社 出版时间:2017-09-01 版次:1 开本:16开 装帧:平装 ISBN:9787111578659 版权提供:机械工业出版社 基本信息 商品名 ...

  2. python linux运维教程 推荐_Linux运维人员成长之路学习书籍推荐

    原标题:Linux运维人员成长之路学习书籍推荐 一.入门书: <鸟哥的私房菜(基础篇)> <鸟哥的私房菜(服务篇)> <Linux命令行与Shell脚本编程大全(第2版) ...

  3. python linux运维教程 推荐_Linux 运维入门到跑路书单推荐

    一.基础入门 <鸟哥的Linux私房菜基础学习篇>:最具知名度的Linux入门书<鸟哥的Linux私房菜基础学习篇>,全面而详细地介绍了Linux操作系统.鸟哥的Linux私房 ...

  4. python与linux系统运维_《Python Linux系统管理与自动化运维》碎碎念

    在此记录学习<Python Linux系统管理与自动化运维>的过程 感觉碎碎念全放在一篇文章里编辑时太乱,于2020年12月16日重新分开整理. 2020年12月13日,看了一下需要学习的 ...

  5. python bottle部署g_python bottle框架(WEB开发、运维开发)教程 | linux系统运维

    教程目录 一:python基础 二:bottle基础 python bottle 框架基础教程:环境部署 三:WEB开发教程 四:运维开发教程 运维开发(1.1):框架.结构介绍 运维开发(1.2): ...

  6. python linux系统管理与自动化运维_Python Linux系统管理与自动化运维

    Py't'hon语言与Linux系统管理 Py't'hon生态工具 打造命令行工具 文本处理 Linux系统管理 使用python监控Linux系统 文档与报告 网络 Python自动化部署 深入浅出 ...

  7. centos linux引导修复_【Linux 运维】 Centos7.x 系统修复模式

    一.linux的运行级别: 运行级别就是来确定系统启动时到底启动那个服务. linux默认有7个运行级别: 0 关机 1 单用户模式,用于系统修复 2 不完全的命令模式,不含NFS服务 3 完全的命令 ...

  8. 大数据运维工作(Linux,OGG,链路监控,Hadoop运维等)

    大数据运维工程师工作内容 Linux运维手册 1. 启动/关闭集群组件 1.1 负载均衡 1)Nginx 运维命令 Copy to clipboard cd /usr/nginx/sbin #进入 s ...

  9. 这些都是成为高薪运维必备的 Linux 技能,你具备了吗?

    这篇文章来源于Quroa的一个问答<What are some time-saving tips that every Linux user should know?>-- Linux用户 ...

最新文章

  1. 《LeetCode力扣练习》剑指 Offer 06. 从尾到头打印链表 Java
  2. new Scanner(1.txt);读取不到文件中的数据
  3. 转换8421码的程序c语言,16进制数转换成8421BCD编码函数
  4. 移动 Azure 资源后如何快速修复 Dashboard
  5. CUDA Texture Memory
  6. 消息中间件的研究 (一)
  7. 《英雄联盟》捞月狗数据初探
  8. 信息学奥赛一本通习题答案(一)
  9. 罗技键盘连计算机,罗技键盘怎么连接电脑(罗技键盘使用教程及性能评测)
  10. STM32 485通信芯片引脚应用讲解
  11. sap scc4 客户端设置(设置生产机不可更改代码)
  12. 基于Pytorch实现GAT(图注意力网络)
  13. h5动画 php,GitHub - calcyu/wechat_html5_animate: 微信上的HTML5动画,类似易企秀效果。...
  14. 动画制作·边学习边做动画·从零开始的动画世界
  15. 心心念特斯拉电动皮卡?现在可以下单了,只要1000块
  16. zabbix mysql trapper_zabbix的trapper(补获器)使用
  17. PAUL VIOLA 鲁棒的实时人脸检测:Robust Real-Time Face Detection
  18. python网络爬虫学习笔记(7)动态网页抓取(二)实践
  19. 【算法浅析NO.00004】递归算法浅析(un-accomplished version) by arttnba3
  20. Autodesk所有产品的卸载、安装解决方案(3dsmax、cad等)

热门文章

  1. ps命令的使用(linux)
  2. 哈希的应用(2)——布隆过滤器
  3. 多媒体网络计算机室活载取值,多媒体网络计算机室岗位职责
  4. 程序设计基础II-实验5-贪心算法设计 7-7 懒虫小鑫
  5. unity3d实战项目——拯救大兵2:界面设计之自定义GUI皮肤
  6. 运用python实现企业微信群机器人消息推送
  7. 张鑫旭数组方法总结收录
  8. python算法工程师招聘_经验 | 我心目中招聘深度学习算法工程师的标准
  9. 如何做出好感度高的发言
  10. 在魅族、vivo手机下Amaze UI底部导航消失问题