产品特色
编辑推荐
Linux/GNU是一款非凡的操作系统,拥有稳定可靠且极其强大的开发环境。作为与操作系统进行沟通的原生界面,shell能够控制整个操作系统的运作,是与Linux进行交互灵活的手段。
本书向读者展现了如何有效地利用shell完成复杂的任务。作者从shell的基础知识开始,介绍简单命令的用法、对各类文件进行操作,随后讲解文本处理、Web交互、备份、监视以及其他系统管理任务,涵盖初中高三级主题,传授脚本老手经常使用的诸多技巧。书中所有示例均基于具体任务,透彻清晰,通俗易懂。
第3版进行了全面修订,囊括Linux新发行版新特性,增加了仓储管理、网络分组、动态调用、系统调优、容器、云等100余页篇幅的新内容,* 具实用价值,让看似复杂的Linux shell脚本任务迎刃而解。
·通过脚本与Web站点交互
·编写脚本,挖掘并处理Web数据
·使用crontab实现系统备份及其他重复性任务的自动化
·创建、压缩、加密重要数据
·配置并监视以太网和无线网络
·监视并记录网络和系统的活动日志
·系统调优,实现性能优化,提高系统安全性
·鉴别资源占用大户以及网络瓶颈
·使用git或fossil实现版本控制,处理自由开源软件项目
·创建并维护Linux容器和虚拟机
内容简介
本书结合丰富的实际案例介绍了如何利用shell命令实现与Linux操作系统的高效沟通,具体内容包括:各类日常任务以及如何利用shell命令更快速地解决问题;编写脚本从Web中挖掘数据并进行处理;在脚本中与简单的Web API进行交互;任务的执行及自动化;创建及维护文件和文件夹归档,利用shell进行压缩和加密。第3版讲解了* 新的Linux发行版中加入的令人激动的新特性,帮助你完成从未想到过的功能。
本书适合Linux系统管理员和程序员阅读,是编写shell脚本的参考资料。
作者简介
Clif Flynt,Tcl/Tk及Linux用户社区活跃分子,经常在技术会议和用户小组中发表演说。Noumena公司创始人,负责开发定制软件和举办培训课程。另著有Tcl/Tk:A Developer's Guide一书。
Sarath Lakshman,Linux天才程序员、开源软件及GNU/Linux活跃分子。SLYNUX(2005)的开 发 者而,Linux For You专栏作家。在Fedora、Pardus Linux、PiTiVi、Ubuntu 以及Google编程夏令营等项目中均做出了不可估量的贡献。
Shantanu Tushar,GNU/Linux用户,KDE社区重要贡献者,维护着Calligra Active(用于Tablets的KDE办公文档查看器)、Plasma Media Center以及Gluon Player。Shantanu坚信终有一 天编程会变得无比轻松,每个人都会热衷于为计算机编写程序。
【译者简介】
门佳, GNU/Linux深度用户,喜欢溯本求源,挖掘技术背后的来龙去脉,对程序语言设计理论、编译技术、操作系统设计与实现、Web开发等领域均有涉猎,译著包括《TCP Sockets编程》《精通JavaScript(* 2版)》《Linux命令行与shell脚本编程大全(第3版)》以及本书前两版等。
目录
第1章 小试牛刀 1
1.1 简介 1
1.2 在终端中显示输出 2
1.2.1 预备知识 2
1.2.2 实战演练 4
1.2.3 工作原理 6
1.2.4 补充内容 6
1.3 使用变量与环境变量 7
1.3.1 预备知识 7
1.3.2 实战演练 8
1.3.3 补充内容 9
1.4 使用函数添加环境变量 11
1.4.1 实战演练 11
1.4.2 工作原理 12
1.5 使用shell进行数学运算 12
1.6 玩转文件描述符与重定向 14
1.6.1 预备知识 14
1.6.2 实战演练 15
1.6.3 工作原理 17
1.6.4 补充内容 17
1.7 数组与关联数组 19
1.7.1 预备知识 19
1.7.2 实战演练 20
1.7.3 补充内容 20
1.8 别名 21
1.8.1 实战演练 21
1.8.2 补充内容 22
1.9 采集终端信息 23
1.9.1 预备知识 23
1.9.2 实战演练 23
1.10 获取并设置日期及延时 24
1.10.1 预备知识 24
1.10.2 实战演练 25
1.10.3 工作原理 26
1.10.4 补充内容 27
1.11 调试脚本 27
1.11.1 实战演练 28
1.11.2 工作原理 29
1.11.3 补充内容 29
1.12 函数和参数 29
1.12.1 实战演练 30
1.12.2 补充内容 31
1.13 将一个命令的输出发送给另一个命令 33
1.13.1 预备知识 33
1.13.2 实战演练 34
1.13.3 补充内容 34
1.14 在不按下回车键的情况下读入n个字符 35
1.15 持续运行命令直* 执行成功 36
1.15.1 实战演练 36
1.15.2 工作原理 37
1.15.3 补充内容 37
1.16 字段分隔符与迭代器 37
1.16.1 预备知识 38
1.16.2 实战演练 38
1.17 比较与测试 40
1.18 使用配置文件定制bash 43
* 2 章 命令之乐 46
2.1 简介 46
2.2 用cat进行拼接 46
2.2.1 实战演练 46
2.2.2 补充内容 47
2.3 录制并回放终端会话 49
2.3.1 预备知识 49
2.3.2 实战演练 49
2.3.3 工作原理 50
2.4 查找并列出文件 50
2.4.1 预备知识 50
2.4.2 实战演练 50
2.4.3 补充内容 51
2.5 玩转xargs 58
2.5.1 预备知识 59
2.5.2 实战演练 59
2.5.3 工作原理 60
2.5.4 补充内容 60
2.6 用tr进行转换 63
2.6.1 预备知识 63
2.6.2 实战演练 64
2.6.3 工作原理 64
2.6.4 补充内容 65
2.7 校验和与核实 67
2.7.1 预备知识 68
2.7.2 实战演练 68
2.7.3 工作原理 68
2.7.4 补充内容 69
2.8 加密工具与散列 71
2.9 行排序 72
2.9.1 预备知识 72
2.9.2 实战演练 72
2.9.3 工作原理 73
2.9.4 补充内容 73
2.10 临时文件命名与随机数 76
2.10.1 实战演练 77
2.10.2 工作原理 77
2.11 分割文件与数据 77
2.11.1 工作原理 78
2.11.2 补充内容 78
2.12 根据扩展名切分文件名 80
2.12.1 实战演练 80
2.12.2 工作原理 80
2.13 多个文件的重命名与移动 82
2.13.1 预备知识 82
2.13.2 实战演练 82
2.13.3 工作原理 83
2.14 拼写检查与词典操作 84
2.14.1 实战演练 84
2.14.2 工作原理 84
2.15 交互输入自动化 85
2.15.1 预备知识 86
2.15.2 实战演练 86
2.15.3 工作原理 86
2.15.4 补充内容 87
2.16 利用并行进程加速命令执行 88
2.16.1 实战演练 88
2.16.2 工作原理 89
2.16.3 补充内容 89
2.17 检查目录以及其中的文件与子目录 89
2.17.1 预备知识 90
2.17.2 实战演练 90
第3 章 以文件之名 92
3.1 简介 92
3.2 生成任意大小的文件 92
3.3 文本文件的交集与差集 94
3.3.1 预备知识 94
3.3.2 实战演练 94
3.3.3 工作原理 96
3.4 查找并删除重复文件 97
3.4.1 预备知识 97
3.4.2 实战演练 97
3.4.3 工作原理 98
3.5 文件权限、所有权与粘滞位 99
3.5.1 实战演练 101
3.5.2 补充内容 102
3.6 将文件设置为不可修改 104
3.6.1 预备知识 104
3.6.2 实战演练 104
3.7 批量生成空白文件 105
3.7.1 预备知识 105
3.7.2 实战演练 105
3.8 查找符号链接及其指向目标 106
3.8.1 实战演练 106
3.8.2 工作原理 107
3.9 枚举文件类型统计信息 107
3.9.1 预备知识 107
3.9.2 实战演练 107
3.9.3 工作原理 108
3.10 使用环回文件 109
3.10.1 实战演练 110
3.10.2 工作原理 111
3.10.3 补充内容 111
3.11 生成ISO及混合型ISO文件 113
3.11.1 预备知识 113
3.11.2 实战演练 113
3.11.3 补充内容 114
3.12 查找并修补文件差异 115
3.12.1 实战演练 115
3.12.2 补充内容 117
3.13 使用head与tail打印文件的前10行和后10行 117
3.14 只列出目录的各种方法 120
3.14.1 预备知识 120
3.14.2 实战演练 120
3.14.3 工作原理 120
3.15 在命令行中使用pushd和popd实现快速定位 121
3.15.1 预备知识 121
3.15.2 实战演练 121
3.15.3 补充内容 122
3.16 统计文件的行数、单词数和字符数 122
3.17 打印目录树 123
3.17.1 预备知识 123
3.17.2 实战演练 123
3.17.3 补充内容 124
3.18 处理视频与图像文件 125
3.18.1 预备知识 125
3.18.2 实战演练 126
第4 章 让文本飞 128
4.1 简介 128
4.2 使用正则表达式 128
4.2.1 实战演练 129
4.2.2 工作原理 131
4.2.3 补充内容 131
4.3 使用grep在文件中搜索文本 132
4.3.1 实战演练 132
4.3.2 补充内容 134
4.4 使用cut按列切分文件 138
4.4.1 实战演练 138
4.4.2 补充内容 139
4.5 使用sed替换文本 140
4.5.1 实战演练 140
4.5.2 补充内容 141
4.6 使用awk进行高 级文本处理 144
4.6.1 预备知识 144
4.6.2 实战演练 144
4.6.3 工作原理 144
4.6.4 补充内容 146
4.7 统计特定文件中的词频 149
4.7.1 预备知识 149
4.7.2 实战演练 150
4.7.3 工作原理 150
4.7.4 参考 151
4.8 压缩或解压缩JavaScript 151
4.8.1 预备知识 151
4.8.2 实战演练 152
4.8.3 工作原理 152
4.8.4 参考 153
4.9 按列合并多个文件 153
4.9.1 实战演练 154
4.9.2 参考 154
4.10 打印文件或行中的第n个单词或列 154
4.10.1 实战演练 154
4.10.2 参考 155
4.11 打印指 定行或模式之间的文本 155
4.11.1 预备知识 155
4.11.2 实战演练 155
4.11.3 参考 156
4.12 以逆序形式打印行 156
4.12.1 预备知识 156
4.12.2 实战演练 156
4.12.3 工作原理 157
4.13 解析文本中的电子邮件地址和URL 157
4.13.1 实战演练 157
4.13.2 工作原理 158
4.13.3 参考 158
4.14 删除文件中包含特定单词的句子 158
4.14.1 预备知识 158
4.14.2 实战演练 159
4.14.3 工作原理 159
4.14.4 参考 159
4.15 对目录中的所有文件进行文本替换 159
4.15.1 实战演练 160
4.15.2 工作原理 160
4.15.3 补充内容 160
4.16 文本切片与参数操作 160
4.16.1 实战演练 160
4.16.2 参考 161
第5 章 一团乱麻?没这回事! 162
5.1 简介 162
5.2 Web 页面下载 162
5.2.1 预备知识 162
5.2.2 实战演练 163
5.2.3 工作原理 163
5.2.4 补充内容 164
5.3 以纯文本形式下载页面 165
5.3.1 预备知识 165
5.3.2 实战演练 165
5.4 cURL入门 166
5.4.1 预备知识 166
5.4.2 实战演练 166
5.4.3 工作原理 167
5.4.4 补充内容 167
5.4.5 参考 169
5.5 从命令行访问未读的Gmail邮件 170
5.5.1 实战演练 170
5.5.2 工作原理 170
5.5.3 参考 171
5.6 解析网站数据 171
5.6.1 实战演练 171
5.6.2 工作原理 172
5.6.3 参考 172
5.7 图片爬取器及下载工具 172
5.7.1 实战演练 172
5.7.2 工作原理 173
5.7.3 参考 174
5.8 网页相册生成器 174
5.8.1 预备知识 175
5.8.2 实战演练 175
5.8.3 工作原理 176
5.8.4 参考 176
5.9 Twitter命令行客户端 176
5.9.1 预备知识 177
5.9.2 实战演练 177
5.9.3 工作原理 178
5.9.4 参考 179
5.10 通过Web服务器查询单词含义 179
5.10.1 预备知识 179
5.10.2 实战演练 180
Linux Shell脚本攻略 第3版 电子书 下载 mobi epub pdf txt