萌萌哒图书专营店
  • 扫码下单

  • 全新Python Linux系统管理与自动化运维赖明星 著9787111578659
  • 正版
    • 作者: 赖明星 著著 | 赖明星 著编 | 赖明星 著译 | 赖明星 著绘
    • 出版社: 机械工业出版社
    • 出版时间:2017-09-01
    送至
  • 由""直接销售和发货,并提供售后服务
  • 加入购物车 购买电子书
    服务

    看了又看

    商品预定流程:

    查看大图
    /
    ×

    店铺装修中

    商家:
    萌萌哒图书专营店
    联系:
    • 商品

    • 服务

    • 物流

    搜索店内商品

    萌萌哒图书专营店

  • 商品参数
    • 作者: 赖明星 著著| 赖明星 著编| 赖明星 著译| 赖明星 著绘
    • 出版社:机械工业出版社
    • 出版时间:2017-09-01
    • 版次:1
    • 印次:1
    • 页数:412
    • 开本:16开
    • ISBN:9787111578659
    • 版权提供:机械工业出版社
    • 作者:赖明星 著
    • 著:赖明星 著
    • 装帧:平装
    • 印次:1
    • 定价:89.00
    • ISBN:9787111578659
    • 出版社:机械工业出版社
    • 开本:16开
    • 印刷时间:暂无
    • 语种:暂无
    • 出版时间:2017-09-01
    • 页数:412
    • 外部编号:1201578749
    • 版次: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 字符串转换为JSON 10
    2.1.3 检查第三方库正确安装 11
    2.2 pip高级用法12
    2.2.1 pip介绍 12
    2.2.2 pip常用命令 12
    2.. 加速pip安装的技巧 14
    . Python编辑器 15
    ..1 编写Python的vim插件 15
    ..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
    第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 模仿MySL客户端的命令行参数 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.. 常用的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中的Unicode 99
    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 避免文件句柄泄&nsp;119
    5.1.3 常见的文件操作函数 120
    5.1.4 Python的文件是一个可迭代对象 121
    5.1.5 案例:将文件中所有单词的首字母变成大写 122
    5.2 文件与文件路径管理 1
    5.2.1 使用os.path进行路径和文件管理 1
    5.2.2 使用os模块管理文件和目录 126
    5.. 案例:打印常用的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 高级文件处理接口shutil 134
    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部署MongoDB 152
    5.9 本章总结 155
    第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.. 进程目录下常用文件介绍 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 使用pyinotify监控文件系统变化 181
    6.4.1 pyinotify模块介绍 181
    6.4.2 pyinotify模块API 182
    6.4.3 事件标志与事件处理器 182
    6.5 监控应用程序 184
    6.5.1 使用Python监控MySL 184
    6.5.2 使用Python监控MongoDB 185
    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操作文档 197
    7.2.1 yP2安装与介绍 197
    7.2.2 使用PdfFileReader读取文件 198
    7.. 使用PdfFileWriter创建文件 199
    7.2.4 修改页面 201
    7.2.5 使用PdfFileMerger合并多个文件 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 邮箱设置(以邮箱为例)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打包源码 2
    7.6.4 使用twine上传到PyPi 224
    7.7 本章总结 225
    第8章 网络 226
    8.1 列出网络上所有活跃的主机 226
    8.1.1 使用ping命令判断主机活跃 227
    8.1.2 使用Python判断主机活跃 228
    8.1.3 使用生产者消费者模型减少线程的数量 229
    8.2 端口扫描 1
    8.2.1 使用Python编写端口扫描器 2
    8.2.2 使用nmap扫描端口 4
    8.. 使用python—nmap进行端口扫描 
    8.3 使用IPy行I地址管理 
    8.3.1 IPy模块介绍 
    8.3.2 IPy模块的基本使用 
    8.3.3 网段管理 241
    8.4 使用dnspython解析DNS 242
    8.4.1 dnspython简介与安装 242
    8.4.2 使用dnspython进行域名解析 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
    第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章 深入浅出Ansible 286
    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 安装Ansible 290
    10.2.2 Ansible的架构 290
    10.. 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 Playbook 319
    10.6.1 Playbook的定义 319
    10.6.2 使用ansible—playbook执行Playbook 322
    10.6.3 Playbook的详细语法324
    10.6.4 使用Playbook部署nginx 331
    10.6.5 使用Playbook部署MongoDB 334
    10.6.6 Playbook中的高级语法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
    1章 使用Python打造MySL专家系统 354
    11.1 Python语言高级特 354
    11.1.1 深入浅出Python生成器 355
    11.1.2 深入浅出Python装饰器 360
    11.1.3 Python上下文管理器 368
    11.2 MySL数据库 372
    11.2.1 MySL数据库介绍 372
    11.2.2 Python连接数据库 373
    11.. 使用MySLdb访问MySL数据库 375
    11.2.4 使用上下文管理器对数据库连接进行管理 378
    11.2.5 案例:从csv文件导入数据到MySL 379
    11.3 Python并发编程 381
    11.3.1 Python中的多线程 381
    11.3.2 线程同步与互斥锁 384
    11.3.3 线程安全队列eue 386
    11.3.4 案例:使用Python打造一个MySL压测工具 387
    11.4 专家系统设计 390
    11.4.1 专家系统使用 391
    11.4.2 专家系统检查内容 391
    11.4.3 如何进行数据库检查 392
    11.4.4 专家系统评分体系 394
    11.5 MySL专家系统整体架构 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 利用方法实现可调用对象 405
    11.6.5 Python的prory&bsp;407
    11.7 数据库专家系统服务端设计 408
    11.7.1 将相同的操作提升到父类中 408
    11.7.2 在Python中实现map—reduce模型 409
    11.7.3 利用动态语言特实现工厂模式 411
    11.8 本章总结 412

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

    Preface?前    言为何写作本书我次接触Python是在2008年的时候,当时还是一名大学生。有一位的学长通过《黑客与画家》这本书了解到Python语言,并且认为Python将在未来几年迅猛发展,在各个应用领域都会大有可为。因此,在国内还没有广泛使用Python语言时,这位学长便我学习Python。现在的Python语言,流行程度已不用我多言,这一方面实了Paul Graham(《黑客与画家》的作者)的远见卓识,同时,也反映出这位学长的聪明睿智。从这件事中,我深切地感受到要多与人交流,尤其是要与那些比自己的人交流。正是出于和大家交流的想法,我将这些年的Python使用心得,以及在网易云开发与运维的经验汇集成一本书,也就是你现在看到的这本书。    如果大家身处互联网,一定能够切身地感受到Python语言的流行程度。Python语言由于其简单易学、语法优美、应用领域广泛等诸多优点,俘获了大批的粉丝。通过Google搜索指数可以看到,Python语言在近两年出现了爆发式的增长,其在编程语言排行榜上的,从8名跃上升到第4名,并且有继续上升的趋势。越来越多的公司高薪招聘Python,越来越多的世界名校开始讲授Python语言,越来越多的项目使用Python语言进行开发。因此,从各个角度来说,Python都将大有可为,学习Python将是一个正确的选择。    伴随着云计算的高展,Python在系统管理领域也表现不俗。著名的云计算平台OpenStack就是使用Python语言开发的,各大云计算厂商也选择使用Python开发自己的内部系统。并且,由于云计算厂商托管的都是大规模服务器,为了提高运维效率、节约人力成本、快速响应需求,各大云计算厂商都不约而同地使用Python进行大规模服务器的部署和运维。    Python在Linux系统管理中,已经担任了重要的角色。但是,讲解Python在Linux系统管理中应用的书籍却寥寥无几,更多都是专注于Python语言、Python爬虫和Python Web开发。难得的几本也仅仅是介绍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打造MySL专家系统;通过Python发送邮件。    本书读者对象本书不是一本讲解Python编程语言的书籍,也不是教授如何使用Python运维工具的书籍,而是一本讲解Python在Linux系统管理中应用的实战书籍。如果你还没学过Python编程语言,建议先学习Python语言以后,再来阅读本书。如果你从来没有使用过Linux,书中部分章节可能会让你感到困惑,不过依然有很多章节可以参考。因此,想要更好地学习本书内容,读者需要具备以下条件:    Python语言基础知识;Linux使用经验;了解SSH的使用。    本书虽然主要讲解Python在Linux系统管理中的应用,但是,书中很多例子都具有更加广泛的应用场景。本书的特色是提供了大量的实战案例,无论是刚学完Python语言,正在寻找Python实战案例的读者,还是想要学习Python在Linux系统管理中如何应用的读者,都能从中受益。    综上所述,本书适合以下几类读者:    使用Python语言的运维;想要提高Python技能的开发;想要了解Python在互联网应用的在校学生;所有对Python实战感兴趣的读者。    如何阅读本书本书共分11章,每一章都可以单独成册。你可以从头开始阅读,也可以选择自己感兴趣的章节阅读。    章介绍了Python语言的优缺点和Python在Linux系统管理领域的应用,这一章主要回答“为什么学习Python”这个问题。    第2章介绍了多个Python生态工具。充分利用这些工具,不但可以有效提高工作效率,还能形成统一的代码风格。此外,本章还会介绍如何解决Python中的环境依赖问题,包括如何在一台服务器上使用不同的Python版本,如何对不同的项目安装不同的依赖而不相互影响。相信通过学习本章介绍的工具,能够帮你解决在学习Python过程中遇到的环境问题。    第3~7章主要讲解使用Python编写脚本管理Linux,包括如何使用Python构建命令行工具、

    售后保障

    最近浏览

    猜你喜欢

    该商品在当前城市正在进行 促销

    注:参加抢购将不再享受其他优惠活动

    x
    您已成功将商品加入收藏夹

    查看我的收藏夹

    确定

    非常抱歉,您前期未参加预订活动,
    无法支付尾款哦!

    关闭

    抱歉,您暂无任性付资格

    此时为正式期SUPER会员专享抢购期,普通会员暂不可抢购