图书介绍
跟老男孩学Linux运维 Shell编程实战PDF|Epub|txt|kindle电子书版本下载
- 老男孩著 著
- 出版社: 北京:机械工业出版社
- ISBN:9787111556077
- 出版时间:2017
- 标注页数:402页
- 文件大小:192MB
- 文件页数:420页
- 主题词:Linux操作系统
PDF下载
下载说明
跟老男孩学Linux运维 Shell编程实战PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 如何才能学好Shell编程1
1.1 为什么要学习Shell编程1
1.2 学好Shell编程所需的基础知识1
1.3 如何才能学好Shell编程之“老鸟”经验谈3
1.4 学完本书后可以达到何种Shell编程高度5
第2章 Shell脚本初步入门6
2.1 什么是Shell6
2.2 什么是Shell脚本7
2.3 Shell脚本在Linux运维工作中的地位8
2.4 脚本语言的种类9
2.4.1 Shell脚本语言的种类9
2.4.2 其他常用的脚本语言种类10
2.4.3 Shell脚本语言的优势11
2.5 常用操作系统默认的Shell11
2.6 Shell脚本的建立和执行12
2.6.1 Shell脚本的建立12
2.6.2 Shell脚本的执行15
2.6.3 Shell脚本开发的基本规范及习惯19
第3章 Shell变量的核心基础知识与实践22
3.1 什么是Shell变量22
3.2 环境变量23
3.2.1 自定义环境变量26
3.2.2 显示与取消环境变量28
3.2.3 环境变量初始化与对应文件的生效顺序30
3.3 普通变量31
3.3.1 定义本地变量31
3.3.2 变量定义及变量输出说明35
3.4 变量定义技巧总结40
第4章 Shell变量知识进阶与实践41
4.1 Shell中特殊且重要的变量41
4.1.1 Shell中的特殊位置参数变量41
4.1.2 Shell进程中的特殊状态变量47
4.2 bash Shell内置变量命令52
4.3 Shell变量子串知识及实践55
4.3.1 Shell变量子串介绍55
4.3.2 Shell变量子串的实践56
4.3.3 变量子串的生产场景应用案例59
4.4 Shell特殊扩展变量的知识与实践60
4.4.1 Shell特殊扩展变量介绍60
4.4.2 Shell特殊扩展变量的实践61
4.4.3 Shell特殊扩展变量的生产场景应用案例63
第5章 变量的数值计算实践65
5.1 算术运算符65
5.2 双小括号“(())”数值运算命令66
5.2.1 双小括号“(())”数值运算的基础语法66
5.2.2 双小括号“(())”数值运算实践66
5.3 let运算命令的用法73
5.4 expr命令的用法75
5.4.1 expr命令的基本用法示例75
5.4.2 expr的企业级实战案例详解76
5.5 bc命令的用法81
5.6 awk实现计算83
5.7 declare(同typeset)命令的用法83
5.8 $[]符号的运算示例83
5.9 基于Shell变量输入read命令的运算实践84
5.9.1 read命令基础84
5.9.2 以read命令读入及传参的综合企业案例87
第6章 Shell脚本的条件测试与比较92
6.1 Shell脚本的条件测试92
6.1.1 条件测试方法综述92
6.1.2 test条件测试的简单语法及示例93
6.1.3 [](中括号)条件测试语法及示例94
6.1.4 [[]]条件测试语法及示例95
6.2 文件测试表达式97
6.2.1 文件测试表达式的用法97
6.2.2 文件测试表达式举例97
6.2.3 特殊条件测试表达式案例101
6.3 字符串测试表达式102
6.3.1 字符串测试操作符102
6.3.2 字符串测试生产案例104
6.4 整数二元比较操作符105
6.4.1 整数二元比较操作符介绍105
6.4.2 整数变量测试实践示例107
6.5 逻辑操作符108
6.5.1 逻辑操作符介绍108
6.5.2 逻辑操作符实践示例110
6.5.3 逻辑操作符企业案例112
6.6 测试表达式test、、[]、[[]]、(())的区别总结120
第7章 if条件语句的知识与实践121
7.1 if条件语句121
7.1.1 if条件语句的语法121
7.1.2 if条件语句多种条件表达式语法125
7.1.3 单分支if条件语句实践126
7.1.4 if条件语句的深入实践130
7.2 if条件语句企业案例精讲132
7.2.1 监控Web和数据库的企业案例132
7.2.2 比较大小的经典拓展案例142
7.2.3 判断字符串是否为数字的多种思路143
7.2.4 判断字符串长度是否为0的多种思路145
7.2.5 更多的生产场景实战案例145
第8章 Shell函数的知识与实践151
8.1 Shell函数的概念与作用介绍151
8.2 Shell函数的语法152
8.3 Shell函数的执行152
8.4 Shell函数的基础实践153
8.5 利用Shell函数开发企业级URL检测脚本155
8.6 利用She函数开发一键优化系统脚本158
8.7 利用Shell函数开发rsync服务启动脚本166
第9章 case条件语句的应用实践169
9.1 case条件语句的语法169
9.2 case条件语句实践171
9.3 实践:给输出的字符串加颜色176
9.3.1 给输出的字符串加颜色的基础知识176
9.3.2 结合case语句给输出的字符串加颜色177
9.3.3 给输出的字符串加背景颜色180
9.4 case语句企业级生产案例181
9.5 case条件语句的Linux系统脚本范例187
9.6 本章小结191
第10章 while循环和until循环的应用实践192
10.1 当型和直到型循环语法192
10.1.1 while循环语句192
10.1.2 until循环语句193
10.2 当型和直到型循环的基本范例194
10.3 让Shell脚本在后台运行的知识195
10.4 企业生产实战:while循环语句实践206
10.5 while循环按行读文件的方式总结210
10.6 企业级生产高级实战案例211
10.7 本章小结215
第11章 for和select循环语句的应用实践217
11.1 for循环语法结构217
11.2 for循环语句的基础实践219
11.3 for循环语句的企业级案例222
11.4 for循环语句的企业高级实战案例230
11.5 Linux系统产生随机数的6种方法239
11.6 select循环语句介绍及语法241
11.7 select循环语句案例242
第12章 循环控制及状态返回值的应用实践249
12.1 break、continue、exit、return的区别和对比249
12.2 break、continue、exit功能执行流程图249
12.3 break、continue、exit、return命令的基础示例251
12.4 循环控制及状态返回值的企业级案例253
第13章 Shell数组的应用实践260
13.1 Shell数组介绍260
13.1.1 为什么会产生Shell数组260
13.1.2 什么是Shell数组260
13.2 Shell数组的定义与增删改查261
13.2.1 Shell数组的定义261
13.2.2 Shell数组的打印及输出262
13.3 Shell数组脚本开发实践265
13.4 Shell数组的重要命令267
13.5 Shell数组相关面试题及高级实战案例268
13.6 合格运维人员必会的脚本列表277
第14章 Shell脚本开发规范279
14.1 Shell脚本基本规范279
14.2 Shell脚本变量命名及引用变量规范281
14.3 Shell函数的命名及函数定义规范282
14.4 Shell脚本(模块)高级命名规范283
14.5 Shell脚本的代码风格283
14.5.1 代码框架283
14.5.2 缩进规范284
14.6 Shell脚本的变量及文件检查规范285
第15章 Shell脚本的调试286
15.1 常见Shell脚本错误范例286
15.1.1 if条件语句缺少结尾关键字286
15.1.2 循环语句缺少关键字287
15.1.3 成对的符号落了单287
15.1.4 中括号两端没空格288
15.1.5 Shell语法调试小结289
15.2 Shell脚本调试技巧289
15.2.1 使用dos2unix命令处理在Windows下开发的脚本289
15.2.2 使用echo命令调试290
15.2.3 使用bash命令参数调试291
15.2.4 使用set命令调试部分脚本内容294
15.2.5 其他调试Shell脚本的工具296
15.3 本章小结296
第16章 Shell脚本开发环境的配置和优化实践297
16.1 使用vim而不是vi编辑器297
16.2 配置文件.vimrc的重要参数介绍298
16.3 让配置文件.vimrC生效304
16.4 使用vim编辑器进行编码测试304
16.4.1 代码自动缩进功能304
16.4.2 代码颜色高亮显示功能说明304
16.5 vim配置文件的自动增加版权功能305
16.6 vim配置文件的代码折叠功能305
16.7 vim编辑器批量缩进及缩进调整技巧305
16.8 其他vim配置文件功能说明307
16.9 vim编辑器常用操作技巧307
第17章 Linux信号及trap命令的企业应用实践310
17.1 信号知识310
17.1.1 信号介绍310
17.1.2 信号列表310
17.2 使用trap控制信号311
17.3 Linux信号及trap命令的生产应用案例313
第18章 Expect自动化交互式程序应用实践317
18.1 Expect介绍317
18.1.1 什么是Expect317
18.1.2 为什么要使用Expect317
18.2 安装Expect软件318
18.3 小试牛刀:实现Expect自动交互功能318
18.4 Expect程序自动交互的重要命令及实践319
18.4.1 spawn命令320
18.4.2 expect命令320
18.4.3 send命令323
18.4.4 exp_continue命令324
18.4.5 send_user命令324
18.4.6 exit命令325
18.4.7 Expect常用命令总结325
18.5 Expect程序变量326
18.5.1 普通变量326
18.5.2 特殊参数变量326
18.6 Expect程序中的if条件语句327
18.7 Expect中的关键字329
18.7.1 eof关键字329
18.7.2 timeout关键字329
18.8 企业生产场景下的Expect案例330
18.8.1 批量执行命令330
18.8.2 批量发送文件332
18.8.3 批量执行Shell脚本334
18.8.4 自动化部署SSH密钥认证+ansible的项目实战337
18.9 本章小节339
第19章 企业Shell面试题及企业运维实战案例340
19.1 企业Shell面试题案例340
19.1.1 面试题1:批量生成随机字符文件名340
19.1.2 面试题2:批量改名341
19.1.3 面试题3:批量创建特殊要求用户342
19.1.4 面试题4:扫描网络内存活主机342
19.1.5 面试题5:解决DOS攻击343
19.1.6 面试题6:MySQL数据库分库备份344
19.1.7 面试题7:MySQL数据库分库分表备份344
19.1.8 面试题8:筛选符合长度的单词344
19.1.9 面试题9:MySQL主从复制异常监控344
19.1.10 面试题10:比较整数大小344
19.1.11 面试题11:菜单自动化软件部署344
19.1.12 面试题12:Web及MySQL服务异常监测345
19.1.13 面试题13:监控Memcached缓存服务345
19.1.14 面试题14:开发脚本实现入侵检测与报警346
19.1.15 面试题15:开发Rsync服务启动脚本349
19.1.16 面试题16:开发MySQL多实例启动脚本349
19.1.17 面试题17:开发学生实践抓阄脚本351
19.1.18 面试题18:破解RANDOM随机数353
19.1.19 面试题19:批量检查多个网站地址是否正常354
19.1.20 面试题20:单词及字母去重排序355
19.1.21 面试题21:开发脚本管理服务端LVS357
19.1.22 面试题22:LVS节点健康检查及管理脚本359
19.1.23 面试题23:LVS客户端配置脚本360
19.1.24 面试题24:模拟keepalived软件高可用361
19.1.25 面试题25:编写正(或长)方形图形362
19.1.26 面试题26:编写等腰三角形图形字符363
19.1.27 面试题27:编写直角梯形图形字符364
19.1.28 面试题28:51CTO博文爬虫脚本365
19.1.29 面试题29:Nginx负载节点状态监测366
19.2 Shell经典程序案例:哄老婆和女孩的神器369
19.2.1 功能简介369
19.2.2 使用方法369
19.2.3 girlLove工具内容模板370
19.2.4 girlLove工具的Shell源码注释371
19.2.5 girlLove最终结果展示376
第20章 子Shell及Shell嵌套模式知识应用377
20.1 子Shell的知识及实践说明377
20.1.1 什么是子Shell377
20.1.2 子Shell的常见产生途径及特点378
20.2 子Shell在企业应用中的“坑”383
20.2.1 使用管道与while循环时遭遇的“坑”383
20.2.2 解决while循环遭遇的“坑”385
20.3 Shell调用脚本的模式说明386
20.3.1 fork模式调用脚本知识386
21.3.2 exec模式调用脚本386
21.3.3 source模式调用脚本387
20.4 Shell调用脚本的3种不同实践方法387
20.4.1 开发测试不同模式区别的Shell脚本387
20.4.2 对比fork模式与source模式的区别390
20.4.3 对比exec模式与source模式的区别391
20.5 Shell调用脚本3种不同模式的应用场景391
附录 Linux重要命令汇总393