商品详情

读者评价

书中介绍了运维开发的方方面面,技巧、常用自带模块、第三方库、项目实践等很全面了,但我自己在日常运维开发中倾向如下使用方式,分享出来:
VS Code编写Python体验媲美PyCharm,但是免费
bpython也是个非常好的交互式编程工具,个人感觉比IPython好看
Python 3自带的venv模块可以代替virtualenv
Miniconda可以说是个yum、pip、pyenv、virtualenv的综合体,一些很难安装的软件用它就能安装上
pylint不光如pycodestyle一样检测代码是否符合pep8标准,还能检测语法错误、冗余代码等
subprocess运行系统命令步骤蛮繁琐的,而delegator.py调用系统命令非常简洁
Docopt让你写着docstring顺便把命令行参数解析了
眼红Golang编译生成一个可执行文件直接扔服务器跑?PyInstaller可以打包所有依赖生成一个可执行文件
想要高并发?Python 3的concurrent.futures让编写多线程、多进程程序变得更简单
运维环境大部分是IO密集型,Python 3的asyncio模块编写异步代码同样可以高并发

老男孩出品,实战精品,终于等到老男孩老师出的书了,一边学习老师的课程,一边看书,内容结构清晰,贴近实战,语言干净利落,就像在与一个久经沙场历练高手在交流接受指导。与其他Linux类书比起来,老男孩老师的书,目标性很强,没有漫无目的的侃侃而谈,或是简单的知识点罗列,运用性强,让人学习目标很明确。希望老师再接再厉,多出好书,让更多的小伙伴学习技能的同时,领悟您的思想和魅力!最后祝老男孩教育节节攀高!!!

第一部分为第1章~第4章,此部分着重介绍新手如何学好Shell编程。涉及的内容包括Shell编程的入门介绍、基础知识、运行原理、编程语法、编程习惯、变量知识以及变量的深入实践。第二部分为第5章~第8章,着重讲解变量的多种数值运算、条件测试与比较、if条件判断语句、Shell函数等相关的知识。第三部分为第9章~第13章,着重讲解case条件语句、while循环和until型循环、for循环和select循环、条件与循环控制及程序返回值、Shell数组等知识。第四部分为第14章~第16章,着重讲解Shell脚本开发规范与编码习惯、Shell脚本的调试知识和技巧、Shell脚本开发环境的配置调整和优化等。第五部分为第17章~第20章,着重讲解Linux信号及trap命令的企业应用实践、Expect自动化交互式程序的应用实践、贯穿全书技术的面试题和企业实战案例,以及子Shell知识。

本书共分11章,每一章都可以单独成册。读者可以从头开始阅读,也可以选择自己感兴趣的章节阅读。需要强调的是,本书是一本实战类的书籍,因此,本书强调实践的重要性。很多工程师学习Python,学完就忘,忘了再学,循环往复,就是因为实践不充分导致的。本书包含了大量的实战案例,可以很好地作为Python的进阶教材,读者也可以举一反三,编写自己的管理程序。

很好的书啊,非常适合我。作者很适合去当老师,不但思路清晰,而且讲解循循善诱,读起来非常舒服。

一本很不错的书,一些技巧,在工作中很实用,能实实在在提高工作效率,不用像以前那样机械的工作,自动化时代,传统作为人员是该转型了,是该提升自己了。

明星把自己这些年来在网易运维和管理Linux系统的过程中遇到的各种难题和总结的各种经验与方法全部呈现在了这本书中,对同行应该非常有参考价值。本书最后的MySQL专家系统是一个集大成的运维开发系统,读者可以通过这个案例更地理解Python在运维中的实际应用。我将此书推荐给所有技术圈的码农们,也希望大家早日体会到Pythonic的*高奥义。
——姜承尧 腾讯技术总监

市面上有不少讲解Python编程语言的书籍, 也有不少关于Linux系统管理书籍,但是如何利用Python解决Linux系统管理问题的书籍却寥寥无几。 明星是网易的数据库专家,是数据库云服务(RDS)的核心开发人员。 RDS产品使用Python语言成功管理了成千上万个Linux主机和MySQL实例,成功支撑了考拉、网易云音乐、网易新闻等大型互联网产品, 在RDS研发运营过程中, 作者积累了大量一线工作经验和案例,通过这一本书的方式分享给大家,希望对大家有所帮助。
——余利华 网易技术总监

编辑推荐

适读人群 :本书并不是一本讲解Python编程语言的书籍,也不是教你使用Python运维工具的书籍。本书是一本讲解Python在Linux系统管理中应用的实战书籍。

腾讯技术总监姜承尧、网易技术总监余利华鼎力推荐,是作者运维和管理网易考拉、网易云音乐、网易新闻等大型互联网产品的经验总结

作者技术功底深厚,时间经验丰富,曾在网易担任资深平台开发工程师、数据库内核工程师和高级运维工程师,现就职于腾讯CDG(企业发展事业群)

来自于网易和腾讯等大型互联网公司的一线经验,从工具、方法、实战三个维度讲解了利用Python进行Linux系统管理和自动化运维的*佳实践

作者简介

赖明星

资深云平台开发工程师、数据库内核开发工程师和高级运维工程师,现就职于腾讯CDG(企业发展事业群),曾就职于网易,网易云数据库MySQL云平台、MongoDB云平台的核心开发人员,网易大规模MySQL系统运维的负责人,独立完成MySQL存储引擎的TNT自动化研发和测试。
国内知名的Python技术专家和Python技术的积极推广者,知乎专栏《Python高手之路》的所有者和维护者,在网络上撰写了大量优质的原创文章,进行了多次高质量的技术分享。

除Python外,对Linux和MySQL也有深入研究,多次在 Oracle 技术嘉年华、IMG(Inside MySQL Group)技术沙龙、全球敏捷运维峰会、PHPCon China等知名技术大会分享MySQL*佳实践。

IMG社区核心成员,IMG社区自成立以来,努力打造纯净的技术氛围,积极推动技术分享,汇集了各个企业的技术大牛,在技术社区中有着很大的影响力,扫描下方二维码加入IMG社区。

网易杭州研究院云平台开发工程师,还曾担任网易的数据库内核开发工程师和高级运维工程师。是网易云数据库MySQL云平台、MongoDB云平台的核心开发人员,网易大规模MySQL系统运维的负责人,独立完成MySQL存储引擎的TNT自动化研发和测试。精通Python、shell、linux、MySQL、java,有7年linux和Python相关经验;熟悉MySQL、redis、leveldb源码,近期关注大数据相关技术。大会分享:2016年在全球敏捷运维峰会、PHP China、IMG社区、Oracle技术嘉年华分享MySQL和Python相关技术。

内容介绍

Python是系统管理和运维领域的一把利器,本书是作者多年来在网易的云平台开发、数据库内核开发、系统管理与运维领域使用Python的经验总结。

本书以Linux系统管理为线索,以Python语言为载体,从工具、脚本、方法等多个方面讲解了如何在Linux系统管理和自动化运维中使用Python来解决各种问题,包含大量案例和*佳实践。

全书逻辑上分为5个部分:

介绍篇(第1章):介绍了Python语言的优缺点和Python在Linux系统管理领域的应用;

工具篇(第2章):讲解了多个Python生态工具,充分利用这些工具,不但可以有效地提高工作效率,而且还能形成统一的代码风格;

脚本篇(第3~7章):详细讲解了如何使用Python编写脚本管理Linux,包括如何使用Python构建命令行工具、如何处理文本、如何进行系统管理、如何监控Linux系统,以及如何处理文档与报告,包含大量的Python实战案例。

自动化篇(第8~10章):主要讲解了多个Python语言开发工具,包括网络嗅探工具Scapy、自动化运维工具Fabric、自动部署工具Ansible等,灵活使用这些工具,可以有效地提高运维工程师的工作效率。

综合案例篇(第11章):介绍了一个综合案例,即使用Python打造MySQL数据库专家系统。其中详细讲解Python中的高级语言特性和系统架构,充分理解这一章的内容,相信读者的Python水平能有一个较大的提升。

内容摘要

Preface?前言为何写作本书我第一次接触Python是在2008年的时候,当时还是一名大学生。有一位非常优秀的学长通过《黑客与画家》这本书了解到Python语言,并且认为Python将在未来几年迅猛发展,在各个应用领域都会大有可为。因此,在国内还没有广泛使用Python语言时,这位学长便推荐我学习Python。现在的Python语言,流行程度已不用我多言,这一方面证实了PaulGraham(《黑客与画家》的作者)的远见卓识,同时,也反映出这位优秀学长的聪明睿智。从这件事中,我深切地感受到要多与人交流,尤其是要与那些比自己优秀的人交流。正是出于和大家交流的想法,我将这些年的Python使用心得,以及在网易云开发与运维的经验汇集成一本书,也就是你现在看到的这本书。

如果大家身处互联网,一定能够切身地感受到Python语言的流行程度。Python语言由于其简单易学、语法优美、应用领域广泛等诸多优点,俘获了大批的粉丝。通过Google搜索指数可以看到,Python语言在最近两年出现了爆发式的增长,其在编程语言排行榜上的排名,从第8名一跃上升到第4名,并且有继续上升的趋势。越来越多的公司高薪招聘Python工程师,越来越多的世界名校开始讲授Python语言,越来越多的项目使用Python语言进行开发。因此,从各个角度来说,Python都将大有可为,学习Python将是一个正确的选择。

伴随着云计算的高速发展,Python在系统管理领域也表现不俗。著名的云计算平台OpenStack就是使用Python语言开发的,各大云计算厂商也选择使用Python开发自己的内部系统。并且,由于云计算厂商托管的都是大规模服务器,为了提高运维效率、节约人力成本、快速响应需求,各大云计算厂商都不约而同地使用Python进行大规模服务器的部署和运维。

Python在Linux系统管理中,已经担任了非常重要的角色。但是,讲解Python在Linux系统管理中应用的书籍却寥寥无几,更多都是专注于Python语言、Python爬虫和PythonWeb开发。难得的几本也仅仅是介绍Python相关工具的使用而已。由于互联网业务的复杂性和多样性,这远不能满足互联网公司的需求,公司更希望工程师能够灵活地使用Python,根据业务需求开发自己的工具和系统。因此,本书不仅会介绍Python语言编写的系统管理工具,还会讲解如何使用Python构建自己的系统管理工具。

主要内容特色本书介绍了Python语言在Linux系统管理中的应用,包括编写Python脚本管理Linux系统,使用Python编写的自动化工具管理Linux系统,以及使用Python打造专属的管理工具等。

本书以Linux系统管理为线索,以Python语言为载体,介绍了大量Python语言的应用案例。通过学习本书,不但可以使用Python语言管理Linux系统,也为Python解决其他领域问题打下了坚实的基础。书中每一章都会解决某一类问题,并且提供了问题的答案。如Python管理Linux文件和目录,使用Python监控Linux系统,使用Python编写自动化工具,使用Python进行自动化运维等。

通过学习本书,你可以:

掌握Python生态工具,提高自己的开发效率;学会如何使用Python构建自己的命令行工具;用Python编写可维护性更强的文本处理程序;全方位监控Linux系统;使用Python自动化部署应用;管理操作系统配置;使用Python打造MySQL专家系统;通过Python发送电子邮件。

本书读者对象本书不是一本讲解Python编程语言的书籍,也不是教授如何使用Python运维工具的书籍,而是一本讲解Python在Linux系统管理中应用的实战书籍。如果你还没学过Python编程语言,建议先学习Python语言以后,再来阅读本书。如果你从来没有使用过Linux,书中部分章节可能会让你感到困惑,不过依然有很多章节可以参考。因此,想要更好地学习本书内容,读者需要具备以下条件:

Python语言基础知识;Linux使用经验;了解SSH的使用。

本书虽然主要讲解Python在Linux系统管理中的应用,但是,书中很多例子都具有更加广泛的应用场景。本书的最大特色是提供了大量的实战案例,无论是刚学完Python语言,正在寻找Python实战案例的读者,还是想要学习Python在Linux系统管理中如何应用的读者,都能从中受益。

综上所述,本书适合以下几类读者:

使用Python语言的运维工程师;想要提高Python技能的开发工程师;想要了解Python在互联网应用的在校学生;所有对Python实战感兴趣的读者。

如何阅读本书本书共分11章,每一章都可以单独成册。你可以从头开始阅读,也可以选择自己感兴趣的章节阅读。

第1章介绍了Python语言的优缺点和Python在Linux系统管理领域的应用,这一章主要回答“为什么学习Python”这个问题。

第2章介绍了多个Python生态工具。充分利用这些工具,不但可以有效提高工作效率,还能形成统一的代码风格。此外,本章还会介绍如何解决Python中的环境依赖问题,包括如何在一台服务器上使用不同的Python版本,如何对不同的项目安装不同的依赖而不相互影响。相信通过学习本章介绍的工具,能够帮助你解决在学习Python过程中遇到的环境问题。

第3~7章主要讲解使用Python编写脚本管理Linux,包括如何使用Python构建命令行工具、

目录

  • 推荐序一
  • 推荐序二
  • 推荐序三
  • 前言
  • 第1章Python语言与Linux系统管理1
  • 1.1Python语言有多流行1
  • 1.2Python语言为什么流行3
  • 1.3Python语言有什么缺点4
  • 1.4Python语言的应用场景4
  • 1.5为什么Python适合Linux系统管理5
  • 1.6使用Python2还是Python36
  • 第2章Python生态工具9
  • 2.1Python内置小工具9
  • 2.1.11秒钟启动一个下载服务器10
  • 2.1.2字符串转换为JSON10
  • 2.1.3检查第三方库是否正确安装11
  • 2.2pip高级用法12
  • 2.2.1pip介绍12
  • 2.2.2pip常用命令12
  • 2.2.3加速pip安装的技巧14
  • 2.3Python编辑器15
  • 2.3.1编写Python的vim插件15
  • 2.3.2Windows下Python编辑器PyCharm介绍17
  • 2.4Python编程辅助工具18
  • 2.4.1Python交互式编程18
  • 2.4.2使用IPython交互式编程20
  • 2.4.3jupyter的使用29
  • 2.5Python调试器31
  • 2.5.1标准库的pdb32
  • 2.5.2开源的ipdb34
  • 2.6Python代码规范检查34
  • 2.6.1PEP8编码规范介绍34
  • 2.6.2使用pycodestyle检查代码规范36
  • 2.6.3使用autopep8将代码格式化37
  • 2.7Python工作环境管理39
  • 2.7.1使用pyenv管理不同的Python版本39
  • 2.7.2使用virtualenv管理不同的项目42
  • 2.8本章总结43
  • 第3章打造命令行工具44
  • 3.1与命令行相关的Python语言特性44
  • 3.1.1使用sys.argv获取命令行参数45
  • 3.1.2使用sys.stdin和fileinput读取标准输入46
  • 3.1.3使用SystemExit异常打印错误信息48
  • 3.1.4使用getpass库读取密码49
  • 3.2使用ConfigParse解析配置文件49
  • 3.3使用argparse解析命令行参数52
  • 3.3.1ArgumentParse解析器52
  • 3.3.2模仿MySQL客户端的命令行参数54
  • 3.4使用logging记录日志55
  • 3.4.1日志的作用55
  • 3.4.2Python的logging模块56
  • 3.4.3配置日志格式56
  • 3.5与命令行相关的开源项目59
  • 3.5.1使用click解析命令行参数59
  • 3.5.2使用prompt_toolkit打造交互式命令行工具61
  • 3.6本章总结64
  • 第4章文本处理65
  • 4.1字符串常量66
  • 4.1.1定义字符串66
  • 4.1.2字符串是不可变的有序集合68
  • 4.1.3字符串函数71
  • 4.1.4案例:使用Python分析Apache的访问日志79
  • 4.1.5字符串格式化83
  • 4.2正则表达式85
  • 4.2.1正则表达式语法86
  • 4.2.2利用re库处理正则表达式87
  • 4.2.3常用的re方法90
  • 4.2.4案例:获取HTML页面中的所有超链接94
  • 4.3字符集编码94
  • 4.3.1编码历史95
  • 4.3.2UTF-8编码96
  • 4.3.3从字符集的问题说起98
  • 4.3.4Python2和Python3中的Unicode99
  • 4.4Jinja2模板101
  • 4.4.1模板介绍102
  • 4.4.2Jinja2语法入门102
  • 4.4.3Jinja2实战108
  • 4.4.4案例:使用Jinja2生成HTML表格和XML配置文件112
  • 4.5本章总结116
  • 第5章Linux系统管理117
  • 5.1文件读写118
  • 5.1.1Python内置的open函数118
  • 5.1.2避免文件句柄泄露119
  • 5.1.3常见的文件操作函数120
  • 5.1.4Python的文件是一个可迭代对象121
  • 5.1.5案例:将文件中所有单词的首字母变成大写122
  • 5.2文件与文件路径管理123
  • 5.2.1使用os.path进行路径和文件管理123
  • 5.2.2使用os模块管理文件和目录126
  • 5.2.3案例:打印最常用的10条Linux命令128
  • 5.3查找文件129
  • 5.3.1使用fnmatch找到特定的文件129
  • 5.3.2使用glob找到特定的文件130
  • 5.3.3使用os.walk遍历目录树131
  • 5.3.4案例:找到目录下最大(或最老)的十个文件132
  • 5.4高级文件处理接口shutil134
  • 5.4.1复制文件和文件夹135
  • 5.4.2文件和文件夹的移动与改名135
  • 5.4.3删除目录136
  • 5.5文件内容管理136
  • 5.5.1目录和文件比较137
  • 5.5.2MD5校验和比较139
  • 5.5.3案例:找到目录下的重复文件139
  • 5.6使用Python管理压缩包141
  • 5.6.1使用tarfile库读取与创建tar包141
  • 5.6.2使用tarfile库读取与创建压缩包142
  • 5.6.3案例:备份指定文件到压缩包中142
  • 5.6.4使用zipfile库创建和读取zip压缩包143
  • 5.6.5案例:暴力破解zip压缩包的密码144
  • 5.6.6使用shutil创建和读取压缩包146
  • 5.7Python中执行外部命令148
  • 5.7.1subprocess模块简介149
  • 5.7.2subprocess模块的便利函数149
  • 5.7.3subprocess模块的Popen类151
  • 5.8综合案例:使用Python部署MongoDB152
  • 5.9本章总结155
  • 第6章使用Python监控Linux系统156
  • 6.1Python编写的监控工具157
  • 6.1.1多功能系统资源统计工具dstat157
  • 6.1.2交互式监控工具glances160
  • 6.2使用Python打造自己的监控工具163
  • 6.2.1Linux系统的/proc目录介绍163
  • 6.2.2proc目录下常用文件介绍164
  • 6.2.3进程目录下常用文件介绍165
  • 6.2.4利用/proc目录找到被删除的文件166
  • 6.2.5使用shell脚本监控Linux168
  • 6.2.6使用Python监控Linux170

 


声明

1、链接失效请联系客服人员。
2、购买后如果链接失效可联系客服人员完善资源或进行退款办理。
3、资源均来源于网友分享及网络公开发表文件,所有资料仅供学习交流。
4、所收取费用仅用来维系网站运营,性质为用户友情赞助,并非售卖文件费用。
5、如侵犯您的权益,请联系客服人员,我们将会在第一时间进行处理。

评论区

表情

共0条评论
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~
相关推荐