内容简介
Shantanu Tushar 资深GNU/Linux用户,KDE社区著名的贡献者,维护着Calligra Active(用于Tablets的KDE办公文档查看器)、Plasma Media Center以及Gluon Player。Shantanu坚信终有一天编程会变得无比轻松,每个人都会热衷于为计算机编写程序。
Sarath Lakshman 年轻的Linux天才程序员、开源软件及GNU/Linux活跃分子。他作为SLYNUX(2005)的开发者而广为人知,这是一款面向Linux新手的操作友好的GNU/Linux发布版。另外,他还为Linux For You月刊撰写文章。在Fedora、Pardus Linux、PiTiVi、Ubuntu 以及Google编程夏令营等项目中,他都作出了显著的贡献。
目录
第1章 小试牛刀 1 1.1 简介 1 1.2 终端打印 3 1.2.1 实战演练 4 1.2.2 工作原理 5 1.2.3 补充内容 5 1.3 玩转变量和环境变量 6 1.3.1 预备知识 6 1.3.2 实战演练 7 1.3.3 补充内容 9 1.4 使用函数添加环境变量 10 1.4.1 实战演练 11 1.4.2 工作原理 11 1.5 使用shell进行数学运算 11 1.5.1 预备知识 12 1.5.2 实战演练 12 1.6 玩转文件描述符及重定向 14 1.6.1 预备知识 14 1.6.2 实战演练 14 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 实战演练 24 1.10.3 工作原理 26 1.10.4 补充内容 26 1.11 调试脚本 27 1.11.1 实战演练 27 1.11.2 工作原理 28 1.11.3 补充内容 28 1.12 函数和参数 29 1.12.1 实战演练 29 1.12.2 补充内容 30 1.13 将命令序列的输出读入变量 31 1.13.1 预备知识 31 1.13.2 实战演练 32 1.13.3 补充内容 32 1.14 不使用回车键来读取n个字符 33 1.15 运行命令直至执行成功 34 1.15.1 实战演练 34 1.15.2 工作原理 35 1.15.3 补充内容 35 1.16 字段分隔符和迭代器 35 1.16.1 预备知识 36 1.16.2 实战演练 36 1.17 比较与测试 38 第2章 命令之乐 42 2.1 简介 42 2.2 用cat进行拼接 42 2.2.1 实战演练 43 2.2.2 工作原理 43 2.2.3 补充内容 43 2.3 录制并回放终端会话 45 2.3.1 预备知识 45 2.3.2 实战演练 45 2.3.3 工作原理 46 2.4 文件查找与文件列表 46 2.4.1 预备知识 46 2.4.2 实战演练 46 2.4.3 补充内容 47 2.5 玩转xargs 54 2.5.1 预备知识 54 2.5.2 实战演练 55 2.5.3 工作原理 55 2.5.4 补充内容 56 2.6 用tr进行转换 59 2.6.1 预备知识 59 2.6.2 实战演练 59 2.6.3 工作原理 60 2.6.4 补充内容 60 2.7 校验和与核实 63 2.7.1 预备知识 63 2.7.2 实战演练 63 2.7.3 工作原理 64 2.7.4 补充内容 65 2.8 加密工具与散列 65 2.9 排序、唯一与重复 68 2.9.1 预备知识 68 2.9.2 实战演练 68 2.9.3 工作原理 69 2.9.4 补充内容 69 2.10 临时文件命名与随机数 72 2.10.1 实战演练 72 2.10.2 工作原理 73 2.11 分割文件和数据 73 2.11.1 工作原理 74 2.11.2 补充内容 74 2.12 根据扩展名切分文件名 76 2.12.1 实战演练 76 2.12.2 工作原理 76 2.13 批量重命名和移动 78 2.13.1 预备知识 78 2.13.2 实战演练 78 2.13.3 工作原理 79 2.14 拼写检查与词典操作 80 2.14.1 实战演练 80 2.14.2 工作原理 81 2.15 交互输入自动化 82 2.15.1 预备知识 82 2.15.2 实战演练 82 2.15.3 工作原理 82 2.15.4 补充内容 83 2.16 利用并行进程加速命令执行 84 2.16.1 实战演练 84 2.16.2 工作原理 85 第3章 以文件之名 86 3.1 简介 86 3.2 生成任意大小的文件 86 3.3 文本文件的交集与差集 88 3.3.1 预备知识 88 3.3.2 实战演练 88 3.3.3 工作原理 90 3.4 查找并删除重复文件 90 3.4.1 预备知识 90 3.4.2 实战演练 91 3.4.3 工作原理 92 3.5 文件权限、所有权和粘滞位 93 3.5.1 实战演练 95 3.5.2 补充内容 96 3.6 创建不可修改的文件 97 3.6.1 预备知识 98 3.6.2 实战演练 98 3.7 批量生成空白文件 98 3.7.1 预备知识 98 3.7.2 实战演练 98 3.8 查找符号链接及其指向目标 99 3.8.1 实战演练 99 3.8.2 工作原理 100 3.9 列举文件类型统计信息 100 3.9.1 预备知识 100 3.9.2 实战演练 100 3.9.3 工作原理 102 3.10 使用环回文件 102 3.10.1 实战演练 103 3.10.2 工作原理 104 3.10.3 补充内容 104 3.11 生成ISO文件及混合型ISO 106 3.11.1 预备知识 106 3.11.2 实战演练 106 3.11.3 补充内容 107 3.12 查找文件差异并进行修补 108 3.12.1 实战演练 108 3.12.2 补充内容 110 3.13 使用head与tail打印文件的前10行和后10行 110 3.14 只列出目录的各种方法 113 3.14.1 预备知识 113 3.14.2 实战演练 113 3.14.3 工作原理 113 3.15 在命令行中使用pushd和popd进行快速定位 114 3.15.1 预备知识 114 3.15.2 实战演练 114 3.15.3 补充内容 115 3.16 统计文件的行数、单词数和字符数 115 3.17 打印目录树 116 3.17.1 预备知识 117 3.17.2 实战演练 117 3.17.3 补充内容 118 第4章 让文本飞 119 4.1 简介 119 4.2 使用正则表达式 119 4.2.1 实战演练 120 4.2.2 工作原理 120 4.2.3 补充内容 121 4.3 用grep在文件中搜索文本 122 4.3.1 实战演练 122 4.3.2 补充内容 125 4.4 用cut按列切分文件 128 4.4.1 实战演练 128 4.4.2 补充内容 130 4.5 使用sed进行文本替换 131 4.5.1 实战演练 131 4.5.2 补充内容 132 4.6 使用awk进行高级文本处理 135 4.6.1 预备知识 135 4.6.2 实战演练 135 4.6.3 工作原理 136 4.6.4 补充内容 137 4.7 统计特定文件中的词频 141 4.7.1 预备知识 141 4.7.2 实战演练 141 4.7.3 工作原理 142 4.7.4 参考 142 4.8 压缩或解压缩JavaScript 142 4.8.1 预备知识 142 4.8.2 实战演练 143 4.8.3 工作原理 144 4.8.4 参考 145 4.9 按列合并多个文件 145 4.9.1 实战演练 145 4.9.2 参考 146 4.10 打印文件或行中的第n个单词或列 146 4.10.1 实战演练 146 4.10.2 参考 146 4.11 打印行或样式之间的文本 146 4.11.1 预备知识 146 4.11.2 实战演练 147 4.11.3 参考 147 4.12 以逆序形式打印行 147 4.12.1 预备知识 148 4.12.2 实战演练 148 4.12.3 工作原理 148 4.13 解析文本中的电子邮件地址和URL 149 4.13.1 实战演练 149 4.13.2 工作原理 149 4.13.3 参考 150 4.14 在文件中移除包含某个单词的句子 150 4.14.1 预备知识 150 4.14.2 实战演练 150 4.14.3 工作原理 151 4.14.4 参考 151 4.15 对目录中的所有文件进行文本替换 151 4.15.1 实战演练 151 4.15.2 工作原理 151 4.15.3 补充内容 152 4.16 文本切片及参数操作 152 4.16.1 实战演练 152 4.16.2 参考 153 第5章 一团乱麻?没这回事 154 5.1 入门 154 5.2 Web页面下载 154 5.2.1 预备知识 154 5.2.2 实战演练 155 5.2.3 工作原理 155 5.2.4 补充内容 156 5.3 以纯文本形式下载网页 157 5.4 cURL入门 157 5.4.1 预备知识 158 5.4.2 实战演练 158 5.4.3 工作原理 158 5.4.4 补充内容 159 5.4.5 参考 161 5.5 从命令行访问Gmail 161 5.5.1 实战演练 162 5.5.2 工作原理 162 5.5.3 参考 163 5.6 解析网站数据 163 5.6.1 实战演练 163 5.6.2 工作原理 164 5.6.3 参考 164 5.7 图片抓取器及下载工具 164 5.7.1 实战演练 164 5.7.2 工作原理 165 5.7.3 参考 166 5.8 网页相册生成器 167 5.8.1 预备知识 167 5.8.2 实战演练 167 5.8.3 工作原理 169 5.8.4 参考 169 5.9 Twitter命令行客户端 169 5.9.1 预备知识 169 5.9.2 实战演练 171 5.9.3 工作原理 173 5.9.4 参考 173 5.10 基于Web后端的定义查询工具 173 5.10.1 预备知识 173 5.10.2 实战演练 175 5.10.3 工作原理 175 5.10.4 参考 175 5.11 查找网站中的无效链接 175 5.11.1 预备知识 176 5.11.2 实战演练 176 5.11.3 工作原理 177 5.11.4 参考 177 5.12 跟踪网站变动 177 5.12.1 预备知识 177 5.12.2 实战演练 177 5.12.3 工作原理 179 5.12.4 参考 179 5.13 以POST方式发送网页并读取响应 179 5.13.1 预备知识 179 5.13.2 实战演练 180 5.13.3 工作原理 180 5.13.4 参考 181 第6章 B计划 182 6.1 简介 182 6.2 用tar归档 182 6.2.1 预备知识 182 6.2.2 实战演练 183 6.2.3 工作原理 183 6.2.4 补充知识 184 6.2.5 参考 188 6.3 用cpio归档 188 6.3.1 实战演练 188 6.3.2 工作原理 189 6.4 使用gzip压缩数据 189 6.4.1 实战演练 189 6.4.2 补充内容 190 6.4.3 参考 193 6.5 用zip归档和压缩 193 6.5.1 实战演练 193 6.5.2 工作原理 194 6.6 更快速的归档工具pbzip2 194 6.6.1 预备知识 194 6.6.2 实战演练 194 6.6.3 工作原理 195 6.6.4 补充内容 195 6.7 创建压缩文件系统 195 6.7.1 预备知识 196 6.7.2 实战演练 196 6.7.3 补充内容 196 6.8 使用rsync备份系统快照 197 6.8.1 实战演练 197 6.8.2 工作原理 199 6.8.3 补充内容 199 6.9 用Git进行基于版本控制的备份 200 6.9.1 预备知识 200 6.9.2 实战演练 201 6.10 用fsarchiver创建全盘镜像 203 6.10.1 预备知识 203 6.10.2 实战演练 203 6.10.3 工作原理 204 第7章 无网不利 205 7.1 简介 205 7.2 网络设置 205 7.2.1 预备知识 206 7.2.2 实战演练 206 7.2.3 补充内容 207 7.2.4 参考 210 7.3 使用ping 210 7.3.1 实战演练 211 7.3.2 补充内容 212 7.4 列出网络上所有的活动主机 213 7.4.1 预备知识 214 7.4.2 实战演练 214 7.4.3 工作原理 215 7.4.4 补充内容 215 7.4.5 参考 216 7.5 使用SSH在远程主机上运行命令 216 7.5.1 预备知识 216 7.5.2 实战演练 217 7.5.3 补充内容 219 7.5.4 参考 220 7.6 通过网络传输文件 220 7.6.1 预备知识 220 7.6.2 实战演练 220 7.6.3 补充内容 221 7.6.4 参考 223 7.7 连接无线网络 223 7.7.1 预备知识 223 7.7.2 实战演练 223 7.7.3 工作原理 224 7.7.4 参考 225 7.8 用SSH实现无密码自动登录 225 7.8.1 预备知识 225 7.8.2 实战演练 225 7.9 使用SSH进行端口转发 227 7.9.1 实战演练 227 7.9.2 补充内容 227 7.10 在本地挂载点上挂载远程驱动器 228 7.10.1 预备知识 228 7.10.2 实战演练 228 7.10.3 参考 228 7.11 网络流量与端口分析 229 7.11.1 预备知识 229 7.11.2 实战演练 229 7.11.3 工作原理 230 7.11.4 补充内容 230 7.12 创建套接字 230 7.12.1 预备知识 231 7.12.2 实战演练 231 7.12.3 补充内容 231 7.13 互联网连接共享 231 7.13.1 预备知识 232 7.13.2 实战演练 232 7.14 使用iptables架设简易防火墙 233 7.14.1 实战演练 233 7.14.2 工作原理 233 7.14.3 补充内容 234 第8章 当个好管家 235 8.1 简介 235 8.2 监视磁盘使用情况 235 8.2.1 预备知识 236 8.2.2 实战演练 236 8.2.3 补充内容 237 8.3 计算命令执行时间 240 8.3.1 实战演练 240 8.3.2 工作原理 242 8.4 收集与当前登录用户、启动日志及启动故障的相关信息 243 8.4.1 预备知识 243 8.4.2 实战演练 243 8.5 列出1小时内占用CPU最多的10个进程 245 8.5.1 预备知识 245 8.5.2 实战演练 245 8.5.3 工作原理 247 8.5.4 参考 247 8.6 使用watch监视命令输出 247 8.6.1 实战演练 247 8.6.2 补充内容 248 8.7 记录文件及目录访问 248 8.7.1 预备知识 248 8.7.2 实战演练 248 8.7.3 工作原理 249 8.8 用logrotate管理日志文件 249 8.8.1 预备知识 250 8.8.2 实战演练 250 8.8.3 工作原理 250 8.9 用syslog记录日志 251 8.9.1 预备知识 251 8.9.2 实战演练 252 8.9.3 参考 252 8.10 通过监视用户登录找出入侵者 252 8.10.1 预备知识 253 8.10.2 实战演练 253 8.10.3 工作原理 254 8.11 监视远程磁盘的健康情况 255 8.11.1 预备知识 256 8.11.2 实战演练 256 8.11.3 工作原理 257 8.11.4 参考 258 8.12 找出系统中用户的活跃时段 258 8.12.1 预备知识 258 8.12.2 实战演练 258 8.12.3 工作原理 259 8.13 电源使用的测量与优化 260 8.13.1 预备知识 260 8.13.2 实战演练 260 8.14 监视磁盘活动 261 8.14.1 预备知识 261 8.14.2 实战演练 262 8.15 检查磁盘及文件系统错误 262 8.15.1 预备知识 262 8.15.2 实战演练 262 8.15.3 工作原理 263 第9章 管理重任 264 9.1 简介 264 9.2 收集进程信息 264 9.2.1 预备知识 264 9.2.2 实战演练 265 9.2.3 工作原理 266 9.2.4 补充内容 267 9.2.5 参考 273 9.3 杀死进程以及发送或响应信号 273 9.3.1 预备知识 273 9.3.2 实战演练 274 9.3.3 补充内容 274 9.4 向用户终端发送消息 276 9.4.1 预备知识 276 9.4.2 实战演练 276 9.4.3 工作原理 278 9.5 采集系统信息 278 9.6 使用proc采集信息 279 9.7 用cron进行调度 280 9.7.1 预备知识 280 9.7.2 实战演练 280 9.7.3 工作原理 281 9.7.4 补充内容 282 9.8 从Bash中读写MySQL数据库 283 9.8.1 预备知识 283 9.8.2 实战演练 283 9.8.3 工作原理 286 9.9 用户管理脚本 287 9.9.1 实战演练 287 9.9.2 工作原理 289 9.10 图像文件的缩放及格式转换 291 9.10.1 预备知识 291 9.10.2 实战演练 291 9.10.3 工作原理 294 9.10.4 参考 294 9.11 从终端截图 294 9.11.1 预备知识 295 9.11.2 实战演练 295 9.12 管理多个终端 295 9.12.1 预备知识 295 9.12.2 实战演练 295 · · · · · · (收起)文件下载