图书介绍

Python Linux系统管理与自动化运维【2025|PDF下载-Epub版本|mobi电子书|kindle百度云盘下载】

Python Linux系统管理与自动化运维
  • 赖明星著 著
  • 出版社: 北京:机械工业出版社
  • ISBN:9787111578654
  • 出版时间:2017
  • 标注页数:414页
  • 文件大小:66MB
  • 文件页数:437页
  • 主题词:

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

Python Linux系统管理与自动化运维PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 Python语言与Linux系统管理1

1.1 Python语言有多流行1

1.2 Python语言为什么流行3

1.3 Python语言有什么缺点4

1.4 Python语言的应用场景4

1.5 为什么Python适合Linux系统管理5

1.6 使用Python 2还是Python 36

第2章 Python生态工具9

2.1 Python内置小工具9

2.1.1 1秒钟启动一个下载服务器10

2.1.2 字符串转换为JSON10

2.1.3 检查第三方库是否正确安装11

2.2 pip高级用法12

2.2.1 pip介绍12

2.2.2 pip常用命令12

2.2.3 加速pip安装的技巧14

2.3 Python编辑器15

2.3.1 编写Python的vim插件15

2.3.2 Windows下Python编辑器PyCharm介绍17

2.4 Python编程辅助工具18

2.4.1 Python交互式编程18

2.4.2 使用IPython交互式编程20

2.4.3 jupyter的使用29

2.5 Python调试器31

2.5.1 标准库的pdb32

2.5.2 开源的ipdb34

2.6 Python代码规范检查34

2.6.1 PEP 8编码规范介绍34

2.6.2 使用pycodestyle检查代码规范36

2.6.3 使用autopep8将代码格式化37

2.7 Python工作环境管理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.1 ArgumentParse解析器52

3.3.2 模仿MySQL客户端的命令行参数54

3.4 使用logging记录日志55

3.4.1 日志的作用55

3.4.2 Python的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.2 UTF-8编码96

4.3.3 从字符集的问题说起98

4.3.4 Python 2和Python 3中的Unicode99

4.4 Jinja2模板101

4.4.1 模板介绍102

4.4.2 Jinja2语法入门102

4.4.3 Jinja2实战108

4.4.4 案例:使用Jinja2生成HTML表格和XML配置文件112

4.5 本章总结116

第5章 Linux系统管理117

5.1 文件读写118

5.1.1 Python内置的open函数118

5.1.2 避免文件句柄泄露119

5.1.3 常见的文件操作函数120

5.1.4 Python的文件是一个可迭代对象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.2 MD5校验和比较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.7 Python中执行外部命令148

5.7.1 subprocess模块简介149

5.7.2 subprocess模块的便利函数149

5.7.3 subprocess模块的Popen类151

5.8 综合案例:使用Python部署MongoDB152

5.9 本章总结155

第6章 使用Python监控Linux系统156

6.1 Python编写的监控工具157

6.1.1 多功能系统资源统计工具dstat157

6.1.2 交互式监控工具glances160

6.2 使用Python打造自己的监控工具163

6.2.1 Linux系统的/proc目录介绍163

6.2.2 proc目录下常用文件介绍164

6.2.3 进程目录下常用文件介绍165

6.2.4 利用/proc目录找到被删除的文件166

6.2.5 使用shell脚本监控Linux168

6.2.6 使用Python监控Linux170

6.3 使用开源库监控Linux172

6.3.1 psutil介绍172

6.3.2 psutil提供的功能函数172

6.3.3 综合案例:使用psutil实现监控程序177

6.3.4 psutil进程管理180

6.4 使用pyinotify监控文件系统变化181

6.4.1 pyinotify模块介绍181

6.4.2 pyinotify模块API182

6.4.3 事件标志与事件处理器182

6.5 监控应用程序184

6.5.1 使用Python监控MySQL184

6.5.2 使用Python监控MongoDB185

6.6 本章总结185

第7章 文档与报告186

7.1 使用Python处理Excel文档187

7.1.1 openpyxl简介与安装187

7.1.2 使用openpyxl读取Excel文档187

7.1.3 使用openpyxl修改Excel文档192

7.1.4 案例:合并多个Excel文档到一个Excel文档195

7.2 使用Python操作PDF文档197

7.2.1 PyPDF2安装与介绍197

7.2.2 使用PdfFileReader读取PDF文件198

7.2.3 使用PdfFileWriter创建PDF文件199

7.2.4 修改PDF页面201

7.2.5 使用PdfFileMerger合并多个PDF文件203

7.3 使用Python归档图片205

7.3.1 Exif信息介绍205

7.3.2 在Python使用PIL查看图片元信息207

7.4 发送报告210

7.4.1 SMTP协议211

7.4.2 邮箱设置(以QQ邮箱为例)212

7.4.3 使用标准库的smtplib与mime发送邮件212

7.4.4 使用开源的yagmail发送邮件216

7.5 接收邮件217

7.5.1 接收邮件协议IMAP与POP3217

7.5.2 使用开源从imapclient接收邮件217

7.5.3 使用pyzmail解析邮件219

7.5.4 使用imapclient删除邮件219

7.6 综合案例:使用Python打造一个geek的邮件客户端220

7.6.1 emcli的功能设计220

7.6.2 emcli的功能实现221

7.6.3 使用setuptools打包源码223

7.6.4 使用twine上传到PyPi224

7.7 本章总结225

第8章 网络226

8.1 列出网络上所有活跃的主机226

8.1.1 使用ping命令判断主机是否活跃227

8.1.2 使用Python判断主机是否活跃228

8.1.3 使用生产者消费者模型减少线程的数量229

8.2 端口扫描231

8.2.1 使用Python编写端口扫描器232

8.2.2 使用nmap扫描端口234

8.2.3 使用python-nmap进行端口扫描237

8.3 使用IPy进行IP地址管理238

8.3.1 IPy模块介绍239

8.3.2 IPy模块的基本使用239

8.3.3 网段管理241

8.4 使用dnspython解析DNS242

8.4.1 dnspython简介与安装242

8.4.2 使用dnspython进行域名解析242

8.5 网络嗅探器Scapy244

8.5.1 Scapy简介与安装245

8.5.2 Scapy的基本使用245

8.5.3 使用Scapy发送数据报247

8.5.4 使用Scapy构造DNS查询请求248

8.5.5 使用Scapy进行网络嗅探251

8.5.6 案例:使用Scapy嗅探信用卡信息251

8.6 本章总结252

第9章 Python自动化管理253

9.1 使用SSH协议访问远程服务器254

9.1.1 SSH协议254

9.1.2 OpenSSH实现254

9.1.3 使用密钥登录远程服务器256

9.1.4 使用ssh-agent管理私钥257

9.2 使用Polysh批量管理服务器258

9.2.1 批量修改密码259

9.2.2 Polysh的使用260

9.3 SSH协议的Python实现paramiko261

9.3.1 paramiko的安装261

9.3.2 SSHClient类与SFTPClient类261

9.3.3 paramiko的基本使用262

9.3.4 使用paramiko部署监控程序264

9.4 自动化部署工具Fabric264

9.4.1 Fabric安装265

9.4.2 Fabric使用入门265

9.4.3 fab的命令行参数267

9.4.4 Fabric的env字典267

9.4.5 Fabric提供的命令269

9.4.6 Fabric提供的上下文管理器271

9.4.7 Fabric提供的装饰器273

9.4.8 其他功能函数277

9.4.9 使用Fabric源码安装redis279

9.4.10 综合案例:使用Fabric部署Flask应用280

9.5 本章总结284

第10章 深入浅出Ansible286

10.1 Ansible介绍287

10.1.1 Ansible的优点287

10.1.2 Ansible与Fabric之间比较288

10.1.3 Ansible与SaltStack之间比较289

10.2 Ansible使用入门290

10.2.1 安装Ansible290

10.2.2 Ansible的架构290

10.2.3 Ansible的运行环境291

10.2.4 Ansible的ad-hoc模式292

10.2.5 使用playbook控制服务器293

10.3 Inventory管理294

10.3.1 hosts文件位置294

10.3.2 灵活定义hosts文件内容295

10.3.3 灵活匹配hosts文件内容296

10.3.4 动态Inventory获取297

10.3.5 Inventory行为参数302

10.3.6 定义服务器变量303

10.4 YAML语法304

10.5 Ansible模块308

10.5.1 Ansible的模块工作原理308

10.5.2 模块列表与帮助信息309

10.5.3 常用的Ansible模块309

10.5.4 模块的返回值318

10.6 Playbook319

10.6.1 Playbook的定义319

10.6.2 使用ansible-playbook执行Playbook322

10.6.3 Playbook的详细语法324

10.6.4 使用Playbook部署nginx331

10.6.5 使用Playbook部署MongoDB334

10.6.6 Playbook中的高级语法335

10.7 role的定义与使用341

10.7.1 role的概念341

10.7.2 使用ansible-galaxy命令管理role342

10.7.3 如何使用role343

10.7.4 使用role改造部署MongoDB的例子344

10.8 Ansible的配置文件345

10.8.1 配置文件的查找路径345

10.8.2 Ansible中的常用配置345

10.9 Ansible的最佳实践346

10.9.1 Ansible的文件组织346

10.9.2 Ansible最佳实践348

10.9.3 使用role部署LAMP应用349

10.10 本章总结352

第11章 使用Python打造MySQL专家系统354

11.1 Python语言高级特性354

11.1.1 深入浅出Python生成器355

11.1.2 深入浅出Python装饰器360

11.1.3 Python上下文管理器368

11.2 MySQL数据库372

11.2.1 MySQL数据库介绍372

11.2.2 Python连接数据库373

11.2.3 使用MySQLdb访问MySQL数据库375

11.2.4 使用上下文管理器对数据库连接进行管理378

11.2.5 案例:从csv文件导入数据到MySQL379

11.3 Python并发编程381

11.3.1 Python中的多线程381

11.3.2 线程同步与互斥锁384

11.3.3 线程安全队列Queue386

11.3.4 案例:使用Python打造一个MySQL压测工具387

11.4 专家系统设计390

11.4.1 专家系统使用391

11.4.2 专家系统检查内容391

11.4.3 如何进行数据库检查392

11.4.4 专家系统评分体系394

11.5 MySQL专家系统整体架构396

11.5.1 专家系统架构设计396

11.5.2 专家系统文件组织398

11.6 数据库专家系统的客户端设计400

11.6.1 实现数据库连接池400

11.6.2 使用装饰器检查参数402

11.6.3 利用Python的动态语言特性执行命令403

11.6.4 利用_call_方法实现可调用对象405

11.6.5 Python的property407

11.7 数据库专家系统服务端设计408

11.7.1 将相同的操作提升到父类中408

11.7.2 在Python中实现map-reduce模型409

11.7.3 利用动态语言特性实现工厂模式411

11.8 本章总结412

热门推荐