| 书[0名0]: | Python Linux系统管理与自动化运维|6550978 |
| 图书定价: | 89元 |
| 图书作者: | 赖明星 |
| 出版社: | 机械工业出版社 |
| 出版日期: | 2017/9/1 0:00:00 |
| ISBN号: | 9787111578659 |
| 开本: | 16开 |
| 页数: | 0 |
| 版次: | 1-1 |
| 目录 |
推荐序一 推荐序二 推荐序三 前 言 [0第0]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 3 6 [0第0]2章 Python生态工具 9 2.1 Python内置小工具 9 2.1.1 1秒钟启动一个下载服务器 10 2.1.2 字符串转换为JSON 10 2.1.3 检查[0第0]三方库是否正确安装 11 2.2 pip高级用[0法0] 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 标准库的pdb 32 2.5.2 开源的ipdb 34 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 [0第0]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 [0第0]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 正则表达式语[0法0] 86 4.2.2 利用re库处理正则表达式 87 4.2.3 常用的re方[0法0] 90 4.2.4 案例:获取HTML页面中的所有[0超0]链接 94 4.3 字符集编码 94 4.3.1 编码历[0史0] 95 4.3.2 UTF-8编码 96 4.3.3 从字符集的问题说起 98 4.3.4 Python 2和Python 3中的Unicode 99 4.4 Jinja2模板 101 4.4.1 模板介绍 102 4.4.2 Jinja2语[0法0]入门 102 4.4.3 Jinja2实战 108 4.4.4 案例:使用Jinja2生成HTML表格和XML配置文件 112 4.5 本章总结 116 [0第0]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 案例:将文件中所有单词的[0首0]字母变成[0大0]写 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 案例:找到目录下[0大0](或老)的十个文件 132 5.4 高级文件处理接口shutil 134 5.4.1 复制文件和文件夹 135 5.4.2 文件和文件夹的移动与改[0名0] 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部署MongoDB 152 5.9 本章总结 155 [0第0]6章 使用Python监控Linux系统 156 6.1 Python编写的监控工具 157 6.1.1 多功能系统资源统计工具dstat 157 6.1.2 交互式监控工具glances 160 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脚本监控Linux 168 6.2.6 使用Python监控Linux 170 6.3 使用开源库监控Linux 172 6.3.1 psutil介绍 172 6.3.2 psutil提供的功能函数 172 6.3.3 综合案例:使用psutil实现监控程序 177 6.3.4 psutil进程管理 180 6.4 使用pyi[0no0]tify监控文件系统变化 181 6.4.1 pyi[0no0]tify模块介绍 181 6.4.2 pyi[0no0]tify模块API 182 6.4.3 事件标志与事件处理器 182 6.5 监控应用程序 184 6.5.1 使用Python监控MySQL 184 6.5.2 使用Python监控MongoDB 185 6.6 本章总结 185 [0第0]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与POP3 217 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上传到PyPi 224 7.7 本章总结 225 [0第0]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解析DNS 242 8.4.1 dnspython简介与安装 242 8.4.2 使用dnspython进行域[0名0]解析 242 8.5 网络嗅探器Scapy 244 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 [0第0]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实现paramiko 261 9.3.1 paramiko的安装 261 9.3.2 SSHClient类与SFTPClient类 261 9.3.3 paramiko的基本使用 262 9.3.4 使用paramiko部署监控程序 264 9.4 自动化部署工具Fabric 264 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源码安装redis 279 9.4.10 综合案例:使用Fabric部署Flask应用 280 9.5 本章总结 284 [0第0]10章 深入浅出Ansible 286 10.1 Ansible介绍 287 10.1.1 Ansible的[0优0]点 287 10.1.2 Ansible与Fabric之间比较 288 10.1.3 Ansible与SaltStack之间比较 289 10.2 Ansible使用入门 290 10.2.1 安装Ansible 290 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语[0法0] 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 Playbook 319 10.6.1 Playbook的定义 319 10.6.2 使用ansible-playbook 执行Playbook 322 10.6.3 Playbook的详细语[0法0] 324 10.6.4 使用Playbook部署nginx 331 10.6.5 使用Playbook部署MongoDB 334 10.6.6 Playbook中的高级语[0法0] 335 10.7 role的定义与使用 341 10.7.1 role的概念 341 10.7.2 使用ansible-galaxy命令管理role 342 10.7.3 如何使用role 343 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 [0第0]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文件导入数据到MySQL 379 11.3 Python并发编程 381 11.3.1 Python中的多线程 381 11.3.2 线程同步与互斥锁 384 11.3.3 线程安全队列Queue 386 11.3.4 案例:使用Python打造一个MySQL压测工具 387 11.4 专家系统设计 390 11.4.1 专家系统使用 391 11.4.2 专家系统检查内容 391 11.4.3 如何进行数据库检查 392 11.4.4 专家系统[0评0]分体系 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 利用__c[0all0]__方[0法0]实现可调用对象 405 11.6.5 Python的property 407 11.7 数据库专家系统服务端设计 408 11.7.1 将相同的操作提升到父类中 408 11.7.2 在Python中实现map-reduce模型 409 11.7.3 利用动态语言特性实现工厂模式 411 11.8 本章总结 412 |
评价二 说实话,我对于自动化运维的热情,很大程度上是被“效率”两个字驱动的。每天面对成百上千台服务器,手动敲命令、检查日志、部署应用,简直是把人生中最宝贵的时光消耗在枯燥无味的重复劳动中。于是,我开始寻找能够改变这一切的工具和方法,而Python无疑是其中最热门的选择之一。《Python Linux系统管理与自动化运维》这本书,从名字上看就直击我的痛点。我最看重的是书中是否能提供一套清晰的、可操作的路径,让我能够从一个对Python半生不熟的Linux运维小白,成长为一个能够独立构建自动化运维体系的“魔法师”。我希望它不仅仅是罗列各种Python模块和Linux命令,更重要的是能够讲解“为什么”要这样做,“如何”才能做得更好。比如,在配置管理方面,书中是否会详细介绍Ansible、SaltStack等工具的使用,并展示如何用Python来扩展或定制这些工具的功能?在持续集成/持续部署(CI/CD)方面,是否会讲解如何利用Python脚本来编排Jenkins、GitLab CI等流水线?还有,对于日常的服务器健康检查、性能瓶颈分析,是否会提供一些实用的Python脚本模板,帮助我快速定位问题?我对这些方面的内容充满了好奇和期待,希望这本书能够给我带来惊喜。
评分评价四 在我看来,现代IT运维早已不是孤军奋战的时代,自动化和智能化才是大势所趋。而Python作为一门通用性极强、生态丰富的编程语言,在自动化运维领域扮演着越来越重要的角色。我购买《Python Linux系统管理与自动化运维》这本书,是抱着一种“武装自己”的心态。我希望能够通过这本书,全面系统地掌握利用Python进行Linux系统管理的知识和技能。我特别关注书中关于“安全”方面的自动化实践,比如如何利用Python脚本来加固Linux服务器的安全性,自动化地检查系统漏洞,或者实现安全日志的分析和审计。另外,在“高可用性”和“容灾备份”方面,我希望书中能够提供一些利用Python来构建自动化备份策略、实现服务的高可用部署的思路和方法。例如,如何编写脚本来自动化地管理NFS、rsync等备份工具,如何利用Python来 orchestrate 负载均衡器和数据库的主从切换?这些都是我工作中非常关心的问题,如果这本书能够提供相关的解决方案,那它将是极具价值的。
评分评价三 一直以来,Linux系统管理给我的感觉就是“硬核”和“复杂”。各种命令、配置文件、服务进程,仿佛一个庞大的迷宫,稍不留神就可能陷入其中。而Python,则是我一直想深入学习的编程语言,它的简洁和强大一直吸引着我。所以,当看到《Python Linux系统管理与自动化运维》这本书时,我立刻被它所描绘的“用Python驾驭Linux”的蓝图所吸引。我曾经尝试过一些零散的Linux自动化脚本,但效果都不太理想,很多时候还是得回到手动操作的怀抱。我特别希望这本书能够提供一种“循序渐进”的学习方式,从最基础的Linux命令与Python语法的结合开始,然后逐步过渡到更高级的系统管理任务。比如,书中是否会演示如何利用Python来批量创建和管理用户账号?如何编写脚本来自动化日志的收集、归档和分析?如何利用Python库来监控服务器的CPU、内存、磁盘使用情况,并在出现异常时发出告警?我期待这本书能够提供丰富的实战案例,能够让我看到Python在实际的Linux系统运维中是如何发挥作用的,并且能够学习到切实可行的方法,将这些知识应用到我自己的工作中去。
评分评价一 拿到这本《Python Linux系统管理与自动化运维》之后,我真的抱着一种既期待又有点忐忑的心情翻开了它。期待的是,终于有这样一本书,能够系统地讲解如何用Python这门强大的语言来驾驭Linux的服务器,将繁琐、重复的系统管理工作变得高效、自动化。尤其是在如今云计算、微服务盛行的时代,运维的压力和复杂性不言而喻,掌握一套行之有效的自动化工具和方法,几乎成了每个运维工程师的必修课。我之前也零散地接触过一些Python脚本,用来做些简单的文件处理或者日志分析,但总感觉不够系统,难以应对更复杂的场景。这本书的出现,正好填补了我在这方面的知识空白。书中从基础的Python语法和Linux命令入手,逐步深入到网络服务配置、用户权限管理、性能监控、故障排查等各个环节,并且将Python的强大能力贯穿其中。这对我来说,无疑是打开了一扇新世界的大门。我特别期待书中能够有针对性的案例分析,能够展示如何利用Python库(比如`paramiko`、`fabric`等)来远程管理多台服务器,如何编写脚本来实现服务的部署、更新和回滚,甚至是如何构建一套简易的监控系统。我相信,如果这本书真的能够提供这些实用的指导,那它绝对会成为我工作中的得力助手。
评分评价五 坦白讲,我是一名对新技术充满好奇心的开发者,虽然我的主要工作不是系统运维,但我深知了解和掌握Linux系统管理以及自动化运维知识,对于提升整体开发效率和保证线上服务的稳定性至关重要。《Python Linux系统管理与自动化运维》这本书,对我来说,更像是一本“跨界宝典”。我希望它能够帮助我理解,如何用Python这门我熟悉的语言,去“理解”和“控制”Linux这个我相对陌生的操作系统。我期待书中能够有关于“容器化技术”(如Docker、Kubernetes)与Python自动化运维的结合的讲解。例如,如何利用Python脚本来自动化部署和管理Docker容器?如何通过Python API与Kubernetes进行交互,实现服务的弹性伸缩和故障自愈?此外,对于“云原生”时代的运维挑战,书中是否会涉及如何利用Python来管理公有云(如AWS、Azure、GCP)上的Linux实例,实现跨平台的自动化操作?这些内容对于我来说,将是极具启发性的,能够帮助我更好地理解整个IT基础设施的运作,并将在开发中考虑更多的运维因素,从而提升项目的整体质量。
评分不错
评分不错
评分好
评分书籍破损
评分講的比較泛!
评分正在看。。。
评分不错
评分講的比較泛!
评分不错
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.coffeedeals.club All Rights Reserved. 静流书站 版权所有