第1章 小试牛刀 1
1.1简介 1
1.2终端打印 3
1.2.1实战演练 3
1.2.2补充内容 5
1.3玩转变量和环境变量 5
1.3.1预备知识 5
1.3.2实战演练 7
1.3.3补充内容 7
1.4通过shell进行数学运算 8
1.4.1预备知识 9
1.4.2实战演练 9
1.5玩转文件描述符和重定向 10
1.5.1预备知识 10
1.5.2实战演练 11
1.5.3补充内容 13
1.6数组和关联数组 15
1.6.1预备知识 15
1.6.2实战演练 15
1.6.3补充内容 16
1.7使用别名 17
1.7.1预备知识 17
1.7.2实战演练 17
1.7.3补充内容 18
1.8获取终端信息 18
1.8.1预备知识 18
1.8.2实战演练 18
1.9获取、设置日期和延时 19
1.9.1预备知识 19
1.9.2实战演练 19
1.9.3补充内容 21
1.10调试脚本 22
1.10.1预备知识 22
1.10.2实战演练 22
1.10.3补充内客 23
1.11函数和参数 23
1.11.1实战演练 23
1.11.2补充内容 24
1.12读取命令序列输出 25
1.12.1预备知识 26
1.12.2实战演练 26
1.12.3补充内容 26
1.13以不按回车键的方式读取字符“n” 27
1.13.1预备知识 27
1.13.2实战演练 27
1.14字段分隔符和迭代器 28
1.14.1预备知识 28
1.14.2实战演练 29
1.15比较与测试 30
1.15.1预备知识 30
1.15.2实战演练 30
第2章 命令之乐 34
2.1简介 34
2.2用cat进行拼接 34
2.2.1预备知识 34
2.2.2实战演练 35
2.2.3工作原理 35
2.2.4补充内容 35
2.3录制与回放终端会话 37
2.3.1预备知识 37
2.3.2实战演练 37
2.3.3工作原理 37
2.4文件查找与文件列表 38
2.4.1预备知识 38
2.4.2实战演练 38
2.4.3补充内容 39
2.5玩转xargs 45
2.5.1预备知识 45
2.5.2实战演练 45
2.5.3工作原理 46
2.5.4补充内容 46
2.6用tr进行转换 49
2.6.1预备知识 49
2.6.2实战演练 49
2.6.3工作原理 49
2.6.4补充内容 50
2.7校验和与核实 52
2.7.1预备知识 52
2.7.2实战演练 52
2.7.3工作原理 52
2.7.4补充内容 53
2.8排序、单一与重复 53
2.8.1预备知识 54
2.8.2实战演练 54
2.8.3工作原理 54
2.8.4补充内容 55
2.9临时文件命名与随机数 58
2.9.1实战演练 58
2.9.2工作原理 58
2.10分割文件和数据 59
2.10.1工作原理 59
2.10.2补充内容 59
2.11根据扩展名切分文件名 61
2.11.1实战演练 61
2.11.2工作原理 61
2.12批量重命名和移动 63
2.12.1预备知识 63
2.12.2实战演练 63
2.12.3工作原理 64
2.13拼写检查与词典操作 65
2.13.1实战演练 65
2.13.2工作原理 65
2.14交互输入自动化 66
2.14.1预备知识 66
2.14.2实战演练 66
2.14.3工作原理 67
2.14.4补充内容 67
第3章 以文件之名 69
3.1简介 69
3.2生成任意大小的文件 69
3.3文本文件的交集与差集 70
3.3.1预备知识 71
3.3.2实战演练 71
3.4查找并删除重复文件 73
3.4.1预备知识 73
3.4.2实战演练 73
3.4.3工作原理 74
3.4.4参考 75
3.5创建长路径目录 75
3.5.1预备知识 75
3.5.2实战演练 76
3.6文件权限、所有权和粘滞位 76
3.6.1预备知识 76
3.6.2实战演练 78
3.6.3补充内容 79
3.7创建不可修改文件 80
3.7.1预备知识 80
3.7.2实战演练 80
3.8批量生成空白文件 80
3.8.1预备知识 81
3.8.2实战演练 81
3.9查找符号链接及其指向目标 81
3.9.1预备知识 81
3.9.2实战演练 81
3.10列举文件类型统计信息 82
3.10.1预备知识 83
3.10.2实战演练 83
3.10.3工作原理 84
3.11环回文件与挂载 84
3.11.1预备知识 85
3.11.2实战演练 85
3.11.3补充内容 86
3.12生成ISO文件及混合ISO 87
3.12.1预备知识 87
3.12.2实战演练 87
3.12.3补充内容 87
3.13查找文件差异并进行修补 89
3.13.1实战演练 89
3.13.2补充内容 90
3.14 head与tail——打印文件的前10行和后10行 90
3.15 只列出目录的其他方法 92
3.15.1预备知识 93
3.15.2实战演练 93
3.16在命令行中用pushd和popd快速定位 93
3.16.1预备知识 93
3.16.2实战演练 93
3.16.3补充内容 94
3.17统计文件的行数、单词数和字符数 95
3.17.1预备知识 95
3.17.2实战演练 95
3.17.3补充知识 95
3.18打印目录树 96
3.18.1预备知识 96
3.18.2实战演练 96
3.18.3补充内容 97
第4章 让文本飞 98
4.1简介 98
4.2正则表达式入门 99
4.2.1预备知识 99
4.2.2实战演练 99
4.2.3工作原理 100
4.2.4补充内客 101
4.3用grep在文件中搜索文本 101
4.3.1预备知识 101
4.3.2实战演练 101
4.3.3补充内容 103
4.4用cut按列切分文件 107
4.4.1预备知识 107
4.4.2实战演练 107
4.4.3补充内容 108
4.5统计特定文件中的词频 109
4.5.1预备知识 109
4.5.2实战演练 109
4.5.3工作原理 110
4.5.4参考 110
4.6 sed入门 110
4.6.1实战演练 111
4.6.2补充内容 111
4.7 awk入门 113
4.7.1实战演练 113
4.7.2工作原理 113
4.7.3补充内客 114
4.8替换文本或文件中的字符串 117
4.8.1预备知识 117
4.8.2实战演练 118
4.8.3补充内容 118
4.8.4参考 118
4.9压缩或解压缩JavaScript 119
4.9.1预备知识 119
4.9.2工作原理 119
4.9.3工作原理 120
4.9.4参考 121
4.10对文件中的行、单词和字符进行迭代 121
4.10.1预备知识 121
4.10.2实战演练 121
4.10.3工作原理 122
4.10.4参考 122
4.11按列合并文件 122
4.11.1工作原理 122
4.11.2参考 123
4.12打印文件或行中的第n个单词或列 123
4.12.1预备知识 123
4.12.2实战演练 123
4.12.3参考 124
4.13打印不同行或样式之间的文本 124
4.13.1预备知识 124
4.13.2实战演练 124
4.13.3参考 125
4.14用脚本检验回文字符串 125
4.14.1预备知识 125
4.14.2工作原理 125
4.14.3工作原理 126
4.14.4补充内容 127
4.14.5参考 128
4.15以逆序形式打印行 128
4.15.1预备知识 128
4.15.2实战演练 128
4.15.3工作原理 129
4.15.4参考 129
4.16解析文本中的电子邮件地址和URL 129
4.16.1预备知识 129
4.16.2实战演练 129
4.16.3工作原理 130
4.16.4参考 130
4.17打印文件中某个样式之前或之后的n行 130
4.17.1预备知识 131
4.17.2实战演练 131
4. 17.3参考 132
4.18在文件中移除包含某个单词的句子 132
4.18.1预备知识 132
4.18.2实战演练 132
4.18.3工作原理 133
4.18.4参考 133
4.19用awk实现head、tail和tac 133
4.19.1预备知识 133
4.19.2实战演练 133
4.19.3工作原理 134
4.19.4参考 134
4.20文本切片与参数操作 134
4.20.1实战演练 134
4.20.2参考 135
第5章 一团乱麻?没这回事 136
5.1入门 136
5.2网站下载 136
5.2.1预备知识 136
5.2.2实战演练 136
5.2.3补充内容 137
5.3以格式化纯文本形式下载网页 138
5.4 cURL入门 139
5.4.1预备知识 139
5.4.2实战演练 139
5.4.3补充内容 140
5.4.4参考 142
5.5从命令行访问Gmail 142
5.5.1实战演练 142
5.5.2工作原理 143
5.5.3参考 144
5.6解析网站数据 144
5.6.1实战演练 144
5.6.2工作原理 144
5.6.3参考 145
5.7制作图片抓取器及下载工具 145
5.7.1实战演练 145
5.7.2工作原理 146
5.7.3参考 147
5.8网页相册生成器 147
5.8.1预备知识 147
5.8.2实战演练 147
5.8.3工作原理 148
5.8.4参考 149
5.9 Twitter命令行客户端 149
5.9.1预备知识 149
5.9.2实战演练 149
5.9.3工作原理 150
5.9.4参考 150
5.10基于Web后端的定义查询工具 151
5.10.1预备知识 151
5.10.2实战演练 151
5.10.3工作原理 152
5.10.4参考 152
5.11查找网站中的无效链接 152
5.11.1预备知识 152
5.11.2实战演练 153
5.11.3工作原理 153
5.11.4参考 153
5.12跟踪网站变更 154
5.12.1预备知识 154
5.12.2实战演练 154
5.12.3工作原理 155
5.12.4参考 155
5.13以POST方式发送网页并读取响应 155
5.13.1预备知识 156
5.13.2实战演练 156
5.13.3补充内客 157
5.13.4参考 157
第6章 B计划 158
6.1简介 158
6.2用tar归档 158
6.2.1预备知识 158
6.2.2实战演练 159
6.2.3补充知识 159
6.2.4参考 163
6.3用cpiO归档 163
6.4用gunzip或gzip压缩 164
6.4.1实战演练 164
6.4.2补充内容 164
6.4.3参考 166
6.5用bunzip或bzip压缩 166
6.5.1实战演练 166
6.5.2补充内容 167
6.5.3参考 168
6.6用1zma压缩 168
6.6.1实战演练 168
6.6.2补充内容 169
6.6.3参考 169
6.7用zip归档和压缩 169
6.8超高压缩率的squashfs文件系统 170
6.8.1预备知识 171
6.8.2实战演练 171
6.8.3补充内容 171
6.9加密工具与散列 172
6.10用raync备份系统快照 174
6.10.1实战演练 174
6.10.2补充内容 175
6.11用Git备份版本控制 176
6.11.1预备知识 176
6.11.2实战演练 176
6.12用dd克隆磁盘 178
6.12.1预备知识 179
6.12.2实战演练 179
6.12.3补充内容 180
6.12.4参考 180
第7章 无网不利 181
7.1简介 181
7.2联网知识入门 181
7.2.1新手上路 181
7.2.2实战演练 182
7.2.3补充内容 182
7.2.4参考 186
7.3使用ping 186
7.3.1实战演练 186
7.3.2补充内容 187
7.4列出网络上所有的活动主机 188
7.4.1新手上路 188
7.4.2实战演练 188
7.4.3工作原理 189
7.4.4补充内容 191
7.4.5参考 191
7.5传输文件 191
7.5.1新手上路 191
7.5.2实战演练 191
7.5.3补充内容 192
7.5.4参考 194
7.6用脚本设置以太网与无线LAN 194
7.6.1新手上路 194
7.6.2实战演练 194
7.6.3工作原理 196
7.6.4参考 196
7.7用SSH实现无密码自动登录 196
7.8用SSH在远程主机上运行命令 198
7.8.1新手上路 198
7.8.2实战演练 198
7.8.3补充内容 200
7.8.4参考 200
7.9在本地挂载点上挂载远程驱动器 201
7.9.1新手上路 201
7.9.2实战演练 201
7.9.3参考 201
7.10在网络上发送多播式窗口消息 201
7.10.1新手上路 201
7.10.2实战演练 201
7.10.3工作原理 202
7.10.4参考 203
7.11网络流量与端口分析 203
7.11.1新手上路 203
7.11.2实战演练 203
7.11.3补充内容 204
第8章 当个好管家 205
8.1简介 205
8.2统计磁盘的使用情况 205
8.2.1新手上路 206
8.2.2实战演练 206
8.2.3补充内容 206
8.3计算命令执行时间 210
8.4与当前登录用户、启动日志及启动故障的相关信息 212
8.4.1新手上路 212
8.4.2实战演练 212
8.5打印出10条最常使用的命令 214
8.5.1新手上路 214
8.5.2实战演练 214
8.5.3工作原理 215
8.6列出1小时内占用CPU最多的10个进程 215
8.6.1新手上路 215
8.6.2实战演练 215
8.6.3工作原理 216
8.6.4参考 217
8.7用watch监视命令输出 217
8.7.1实战演练 217
8.7.2补充内容 217
8.8对文件及目录访问进行记录 218
8.8.1新手上路 218
8.8.2实战演练 218
8.8.3工作原理 218
8.9用logrotate管理日志文件 219
8.9.1新手上路 219
8.9.2实战演练 219
8.10用syslog记录日志 220
8.10.1新手上路 220
8.10.2实战演练 221
8.10.3参考 221
8.11通过监视用户登录找出入侵者 221
8.11.1新手上路 222
8.11.2实战演练 222
8.11.3工作原理 223
8.12监视远程磁盘的健康情况 224
8.12.1新手上路 224
8.12.2实战演练 224
8.12.3工作原理 225
8.12.4参考 226
8.13找出系统中用户的活动时段 226
8.13.1新手上路 226
8.13.2实战演练 226
8.13.3工作原理 227
第9章 管理重任 228
9.1简介 228
9.2收集进程信息 228
9.2.1新手上路 228
9.2.2实战演练 229
9.2.3补充内容 231
9.2.4参考 234
9.3杀死进程以及发送或响应信号 234
9.3.1新手上路 235
9.3.2实战演练 235
9.3.3补充内容 235
9.4 which、 whereis、 file、what is与平均负载 237
9.5向用户终端发送消息 238
9.5.1新手上路 239
9.5.2实战演练 239
9.5.3工作原理 240
9.6收集系统信息 240
9.7用/proc收集信息 241
9.8用cron进行调度 242
9.8.1新手上路 242
9.8.2实战演练 242
9.8.3补充内容 243
9.9从Bash中读写 MySQL数据库 244
9.9.1新手上路 244
9.9.2实战演练 244
9.9.3工作原理 247
9.10用户管理脚本 248
9.10.1实战演练 248
9.10.2工作原理 249
9.11图像文件的批量缩放及格式转换 251
9.11.1新手上路 251
9.11.2实战演练 251
9.11.3工作原理 253
9.11.4参考 254