请登录后探索更多精彩知识!
Linux/GNU是一款非凡的操作系统,拥有稳定可靠且极其强大的开发环境。作为与操作系统进行沟通的原生界面,shell能够控制整个操作系统的运作,是与Linux进行交互最灵活的手段。 本书向读者展现了如何有效地利用shell完成复杂的任务。作者从shell的基础知识开始,介绍简单命令的用法、对各类文件进行操作,随后讲解文本处理、Web交互、备份、监视以及其他系统管理任务,涵盖初中高三级主题,传授脚本老手经常使用的诸多技巧。书中所有示例均基于具体任务,透彻清晰,通俗易懂。 第3版进行了全面修订,囊括Linux最新发行版新特性,增加了仓储管理、网络分组、动态调用、系统调优、容器、云等100余页篇幅的新内容,极具实用价值,让看似复杂的Linux shell脚本任务迎刃而解。 •通过脚本与Web站点交互 •编写脚本,挖掘并处理Web数据 •使用crontab实现系统备份及其他重复性任务的自动化 •创建、压缩、加密重要数据 •配置并监视以太网和无线网络 •监视并记录网络和系统的活动日志 •系统调优,实现性能优化,提高系统安全性 •鉴别资源占用大户以及网络瓶颈 •使用git或fossil实现版本控制,处理自由开源软件项目 •创建并维护Linux容器和虚拟机
作者简介: 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版)》以及本书前两版等。
ivan lin: 这本书起名不对吧?里面到没有介绍基础的shell脚本语法,更多的是讲述各个方面的shell命令的最佳实践。文本处理、网络分析、磁盘分析等都涉及了,这本书应该叫linux命令大全更合理点。。建议读过《the linux command line》再读这本书进阶 jencce: 老鸟就别看了,没啥意思。新手也不推荐,基本功讲的少。推荐这书的人估计是收钱了,这书明显是专业堆手册卖书的,还这么贵。 伍师傅32: 有点Linux命令行指南的意味,三天时间,粗略地把它翻完了,好多命令的用法不熟,以后可以按场景作为工具书查阅一下 注销倒计时: 不可错过!第三版和第二版相比,简直就是无人深空的感觉!
第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.2Web页面下载 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.4cURL入门 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.9Twitter命令行客户端 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 5.10.3工作原理 180 5.10.4参考 180 5.11查找网站中的无效链接 181 5.11.1预备知识 181 5.11.2实战演练 181 5.11.3工作原理 182 5.11.4参考 182 5.12跟踪网站变动 182 5.12.1预备知识 182 5.12.2实战演练 182 5.12.3工作原理 184 5.12.4参考 184 5.13发送Web页面并读取响应 184 5.13.1预备知识 184 5.13.2实战演练 185 5.13.3参考 186 5.14从Internet下载视频 186 5.14.1预备知识 186 5.14.2实战演练 186 5.14.3工作原理 186 5.15使用OTS汇总文本 187 5.15.1预备知识 187 5.15.2实战演练 187 5.15.3工作原理 187 5.16在命令行中翻译文本 187 5.16.1预备知识 188 5.16.2实战演练 188 5.16.3工作原理 188 第6章仓储管理 189 6.1简介 189 6.2创建新的git仓库 190 6.2.1预备知识 190 6.2.2实战演练 190 6.2.3工作原理 190 6.3克隆远程git仓库 191 6.4使用git添加与提交变更 191 6.5使用git创建与合并分支 192 6.5.1预备知识 193 6.5.2实战演练 193 6.5.3工作原理 193 6.5.4补充内容 193 6.6分享工作成果 194 6.7推送分支 196 6.8检查git仓库状态 197 6.8.1实战演练 197 6.8.2工作原理 198 6.9查看git历史记录 198 6.10查找bug 198 6.10.1实战演练 199 6.10.2补充内容 199 6.11快照标签 200 6.12提交信息规范 201 6.13使用fossil 202 6.13.1预备知识 202 6.13.2实战演练 202 6.14创建新的fossil仓库 202 6.14.1实战演练 203 6.14.2工作原理 203 6.14.3补充内容 203 6.15克隆远程fossil仓库 204 6.15.1实战演练 204 6.15.2工作原理 204 6.16打开fossil项目 204 6.16.1实战演练 204 6.16.2工作原理 205 6.16.3补充内容 205 6.17使用fossil添加与提交变更 205 6.17.1实战演练 205 6.17.2补充内容 206 6.18使用fossil分支与fork 206 6.18.1实战演练 207 6.18.2工作原理 207 6.18.3补充内容 208 6.19使用fossil分享工作成果 208 6.19.1实战演练 208 6.19.2工作原理 209 6.20更新本地fossil仓库 209 6.21检查fossil仓库状态 209 6.22查看fossil历史记录 210 第7章B计划 215 7.1简介 215 7.2使用tar归档 215 7.2.1预备知识 215 7.2.2实战演练 216 7.2.3工作原理 216 7.2.4补充内容 216 7.2.5参考 220 7.3使用cpio归档 221 7.3.1实战演练 221 7.3.2工作原理 221 7.4使用gzip压缩数据 222 7.4.1实战演练 222 7.4.2补充内容 223 7.4.3参考 225 7.5使用zip归档及压缩 225 7.5.1实战演练 225 7.5.2工作原理 226 7.6更快的归档工具pbzip2 226 7.6.1预备知识 226 7.6.2实战演练 226 7.6.3工作原理 227 7.6.4补充内容 227 7.7创建压缩文件系统 228 7.7.1预备知识 228 7.7.2实战演练 228 7.7.3补充内容 229 7.8使用rsync备份系统快照 229 7.8.1实战演练 229 7.8.2工作原理 230 7.8.3补充内容 231 7.9差异化归档 232 7.9.1实战演练 232 7.9.2工作原理 232 7.10使用fsarchiver创建全盘镜像 233 7.10.1预备知识 233 7.10.2实战演练 233 7.10.3工作原理 234 第8章无网不利 235 8.1简介 235 8.2网络设置 236 8.2.1预备知识 236 8.2.2实战演练 236 8.2.3补充内容 237 8.2.4参考 241 8.3ping! 241 8.3.1实战演练 241 8.3.2补充内容 242 8.4跟踪IP路由 244 8.5列出网络中所有的活动主机 245 8.5.1预备知识 245 8.5.2实战演练 245 8.5.3工作原理 245 8.5.4补充内容 246 8.5.5参考 247 8.6使用SSH在远程主机上执行命令 247 8.6.1预备知识 247 8.6.2实战演练 248 8.6.3补充内容 249 8.7在远程主机上执行图形化命令 250 8.7.1实战演练 250 8.7.2参考 251 8.8通过网络传输文件 251 8.8.1预备知识 251 8.8.2实战演练 251 8.8.3补充内容 252 8.8.4参考 254 8.9连接无线网络 254 8.9.1预备知识 254 8.9.2实战演练 254 8.9.3工作原理 255 8.9.4参考 256 8.10实现SSH的无密码自动登录 256 8.10.1预备知识 256 8.10.2实战演练 256 8.11使用SSH实现端口转发 257 8.11.1实战演练 257 8.11.2补充内容 258 8.12在本地挂载点上挂载远程驱动器 259 8.12.1预备知识 259 8.12.2实战演练 259 8.12.3参考 259 8.13分析网络流量与端口 259 8.13.1预备知识 259 8.13.2实战演练 260 8.13.3工作原理 260 8.13.4补充内容 261 8.14测量网络带宽 261 8.15创建套接字 262 8.15.1预备知识 262 8.15.2实战演练 262 8.15.3补充内容 263 8.15.4工作原理 263 8.16搭建网桥 264 8.16.1预备知识 264 8.16.2实战演练 264 8.17Internet连接共享 265 8.17.1预备知识 265 8.17.2实战演练 265 8.17.3工作原理 266 8.18使用iptables架设简易防火墙 266 8.18.1实战演练 267 8.18.2工作原理 267 8.18.3补充内容 268 8.19创建虚拟私有网络 268 8.19.1预备知识 268 8.19.2实战演练 269 第9章明察秋毫 274 9.1简介 274 9.2监视磁盘使用情况 274 9.2.1预备知识 275 9.2.2实战演练 275 9.2.3补充内容 275 9.3计算命令执行时间 279 9.3.1实战演练 279 9.3.2工作原理 281 9.4收集登录用户、启动日志及启动故障的相关信息 281 9.4.1预备知识 282 9.4.2实战演练 282 9.5列出1小时内占用CPU最多的10个进程 284 9.5.1预备知识 284 9.5.2实战演练 284 9.5.3工作原理 285 9.5.4参考 286 9.6使用watch监视命令输出 286 9.6.1实战演练 286 9.6.2补充内容 286 9.7记录文件及目录访问情况 287 9.7.1预备知识 287 9.7.2实战演练 287 9.7.3工作原理 287 9.8使用syslog记录日志 288 9.8.1预备知识 288 9.8.2实战演练 289 9.8.3参考 289 9.9使用logrotate管理日志文件 290 9.9.1预备知识 290 9.9.2实战演练 290 9.9.3工作原理 290 9.10通过监视用户登录找出入侵者 291 9.10.1预备知识 291 9.10.2实战演练 291 9.10.3工作原理 293 9.11监视远程磁盘的健康情况 293 9.11.1预备知识 293 9.11.2实战演练 294 9.11.3工作原理 295 9.11.4参考 295 9.12确定系统中用户的活跃时段 295 9.12.1预备知识 296 9.12.2实战演练 296 9.12.3工作原理 297 9.13电源使用情况的测量与优化 297 9.13.1预备知识 298 9.13.2实战演练 298 9.14监视磁盘活动 298 9.14.1预备知识 298 9.14.2实战演练 299 9.15检查磁盘及文件系统错误 299 9.15.1预备知识 299 9.15.2实战演练 299 9.15.3工作原理 300 9.16检查磁盘健康情况 300 9.16.1预备知识 301 9.16.2实战演练 301 9.16.3工作原理 303 9.17获取磁盘统计数据 303 9.17.1预备知识 303 9.17.2实战演练 303 9.17.3工作原理 304 9.17.4补充内容 304 第10章管理重任 305 10.1简介 305 10.2收集进程信息 305 10.2.1预备知识 305 10.2.2实战演练 306 10.2.3工作原理 307 10.2.4补充内容 307 10.2.5参考 312 10.3which、whereis、whatis与file 312 10.4杀死进程以及发送和响应信号 313 10.4.1预备知识 313 10.4.2实战演练 313 10.4.3补充内容 314 10.5向用户终端发送消息 316 10.5.1预备知识 316 10.5.2实战演练 317 10.6/proc文件系统 318 10.7收集系统信息 319 10.8使用cron进行调度 321 10.8.1预备知识 321 10.8.2实战演练 321 10.8.3工作原理 322 10.8.4补充内容 323 10.9数据库的形式及用法 324 10.9.1预备知识 324 10.9.2实战演练 325 10.9.3补充内容 325 10.10读写SQLite数据库 326 10.10.1预备知识 326 10.10.2实战演练 327 10.10.3工作原理 327 10.10.4补充内容 327 10.11读写MySQL数据库 328 10.11.1预备知识 329 10.11.2实战演练 329 10.11.3工作原理 332 10.12用户管理脚本 333 10.12.1实战演练 333 10.12.2工作原理 335 10.13图像文件的批量缩放及格式转换 336 10.13.1预备知识 336 10.13.2实战演练 336 10.13.3工作原理 338 10.13.4参考 339 10.14终端截图 339 10.14.1预备知识 339 10.14.2实战演练 340 10.15集中管理多个终端 340 10.15.1预备知识 340 10.15.2实战演练 341 第11章觅迹寻踪 342 11.1简介 342 11.2使用tcpdump跟踪分组 342 11.2.1预备知识 342 11.2.2实战演练 343 11.2.3工作原理 345 11.3使用ngrep查找分组 346 11.3.1预备知识 346 11.3.2实战演练 346 11.3.3工作原理 347 11.3.4补充内容 347 11.4使用ip跟踪网络路由 347 11.4.1预备知识 347 11.4.2实战演练 348 11.4.3工作原理 349 11.5使用strace跟踪系统调用 349 11.5.1预备知识 350 11.5.2实战演练 350 11.5.3工作原理 351 11.6使用ltrace跟踪动态库函数 352 11.6.1预备知识 352 11.6.2实战演练 352 11.6.3工作原理 353 11.6.4补充内容 353 第12章系统调优 355 12.1简介 355 12.2识别服务 356 12.2.1预备知识 356 12.2.2实战演练 357 12.2.3补充内容 359 12.3使用ss收集套接字数据 360 12.3.1预备知识 360 12.3.2实战演练 360 12.3.3工作原理 361 12.4使用dstat收集系统I/O使用情况 362 12.4.1预备知识 362 12.4.2实战演练 362 12.4.3工作原理 363 12.4.4补充内容 363 12.5使用pidstat找出资源占用大户 364 12.5.1预备知识 364 12.5.2实战演练 364 12.5.3工作原理 364 12.6使用sysctl调优Linux内核 365 12.6.1预备知识 365 12.6.2实战演练 365 12.6.3工作原理 366 12.6.4补充内容 366 12.7使用配置文件调优Linux系统 366 12.7.1预备知识 367 12.7.2实战演练 367 12.7.3工作原理 367 12.8使用nice命令更改调度器优先级 367 12.8.1实战演练 367 12.8.2工作原理 368 12.8.3补充内容 368 第13章在云端 369 13.1简介 369 13.2使用Linux容器 370 13.2.1预备知识 370 13.2.2实战演练 371 13.2.3工作原理 377 13.3使用Docker 377 13.3.1预备知识 377 13.3.2实战演练 378 13.3.3工作原理 381 13.4在Linux中使用虚拟机 381 13.4.1预备知识 381 13.4.2实战演练 382 13.5云端的Linux 382 13.5.1预备知识 382 13.5.2实战演练 384 13.5.3补充内容 384
版权说明
1、本站不保存、不存储任何实质资源,以上二维码指向为网盘资源链接,其内容归对应版权方所有2、如有侵犯版权的情况,请点击下面举报/反馈按钮反馈或发送邮件[email protected]投诉说明情况3、我们核实后将第一时间删除相关页面内容,谢谢理解和配合
暂无评论
请先登录后发表评论!
暂无评论