Linux Shell脚本攻略

Linux Shell脚本攻略 pdf epub mobi txt 电子书 下载 2026

出版者:人民邮电出版社
作者:(印)拉克什曼
出品人:
页数:254
译者:门佳
出版时间:2011-11
价格:49.00元
装帧:平装
isbn号码:9787115264725
丛书系列:图灵程序设计丛书·Linux/UNIX系列
图书标签:
  • shell
  • linux
  • Linux
  • Shell
  • Linux/Unix
  • 计算机
  • 编程
  • Programming
  • Linux
  • Shell
  • 脚本
  • Bash
  • 自动化
  • 系统管理
  • 运维
  • 编程
  • 工具
  • 命令
  • 实用
想要找书就要到 小美书屋
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

《Linux Shell脚本攻略》通过细致剖析实际应用中的110多个案例,使许多看似复杂的Linux shell脚本任务迎刃而解。《Linux Shell脚本攻略》会帮助读者利用少量命令的组合完成诸如文本处理、文件管理、备份等复杂的数据管理工作。它将告诉你如何利用shell命令快速开发常规任务,综合应用grep、find、sed和awk等常用命令,凭借短短几个命令行从Web挖掘数据的shell脚本,利用归档工具运行并自动化各种任务,诸如自动备份和存储;帮助你理解文件系统、文件类型以及文件管理;用shell创建以及维护文件或目录归档、压缩格式和加密技术;通过srlell脚本设置以太网和无线LAN;使用登录技术监控网络上的各种动态。

作者简介

Sarath Lakshman,年轻的Linux天才程序员、开源软件及GNU/Linux活跃分子,写作本书时年仅20岁。他在印度出生并成长,目前是印度科钦科技大学模范工程学院的学生。2004年,他就开发了名为Slynux的GNU/Linux发布版。另外,他还为Linux Foryou月刊撰写文章。在Fedora、Pardus Linux、PiTiVi、Ubuntu以及Google Summerof Code等项目中,他都作出了显著的贡献。

目录信息

第1 章 小试牛刀  1
1.1 简介  1
1.2 终端打印  3
1.2.1 实战演练  3
1.2.2 补充内容  4
1.3 玩转变量和环境变量  5
1.3.1 预备知识  5
1.3.2 实战演练  6
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 用lzma 压缩  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、whatis 与平均负载  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
· · · · · · (收起)

读后感

评分

这本书给我的感觉就是作者在学习Shell编程的笔记,排了一下版,就出成书了。书里面的错误之多,命令也不太容易看,而且跳跃性巨大。当你对Shell编程比较熟悉了,拿来看一看,也许还能有些帮助。总之,不推荐浪费时间在此书上  

评分

评分

这本书不错,就是书薄了点,不过正所谓少而精么,对于初学者,绝对是一本不错的提高书。书中有很多技巧是很多脚本老手经常使用,却不会手把手教你的。不同于传统的脚本书籍,这本书没有长篇大论,都是一个接着一个的小技巧,很实用。  

评分

这本书给我的感觉就是作者在学习Shell编程的笔记,排了一下版,就出成书了。书里面的错误之多,命令也不太容易看,而且跳跃性巨大。当你对Shell编程比较熟悉了,拿来看一看,也许还能有些帮助。总之,不推荐浪费时间在此书上  

评分

看豆瓣评分还可以,就拿来当闲书看,里面的案例直接明了,可以根据个人操作习惯摘要记下一下,不能说精彩,但写得有条理,毕竟shell学习本身就是大杂烩,至少可以翻阅,记下些许笔记。  

用户评价

评分

对于那些主要使用图形界面或偏爱其他高级语言的开发者来说,Shell脚本似乎总被视为“低端”工具。这本书彻底颠覆了我的这种偏见。它通过大量的实际案例,展示了Shell脚本在自动化、系统集成和快速原型开发中的不可替代性。比如书中关于如何利用`trap`命令来确保在脚本退出时自动清理临时文件或释放锁定的场景,这在其他语言中往往需要引入额外的库或复杂的资源管理机制。而Shell脚本可以轻量、快速地完成。这本书的魅力在于,它没有把Shell视为一个孤立的语言,而是把它作为连接Linux生态系统中所有工具和服务的“胶水”。读完它,我感觉自己对整个Linux发行版的理解都加深了,因为它迫使你去了解底层进程是如何交互、文件是如何流转的。它不仅仅是本编程书,更是一本关于Linux系统工作原理的快速入门指南。

评分

这本书的编排逻辑简直是教科书级别的优秀。很多技术书籍的通病是前半部分讲得太基础,后半部分又跳跃性太大,导致读者中间断层。但《Linux Shell脚本攻略》做到了无缝衔接。它从基础语法开始,逐步引入了文件系统操作、网络通信(比如如何用脚本管理`curl`请求的复杂场景),最后深入到了系统级的监控和日志分析。这种递进式的结构,让我的学习曲线非常平滑。我个人对其中的正则表达式和文本处理部分印象尤其深刻。作者没有仅仅停留在基础的匹配上,而是展示了如何利用高级的捕获组和替换功能,轻松搞定那些以前需要我打开文本编辑器手动处理半小时的脏数据。每次我用书中学到的技巧去处理日志文件时,那种“掌控一切”的感觉真的非常棒,它让原本枯燥的系统维护工作,变成了一种充满创造性的编程体验。

评分

我是一个偏爱简洁代码风格的人,而这本书在代码规范和可读性方面也给出了非常值得称赞的指导。在很多教程里,大家为了追求功能的实现,往往会写出那种“意大利面条式”的代码,自己过两天看了都想重写。这本书里,作者花了篇幅专门强调了变量命名规范、函数模块化以及如何有效地利用注释来构建脚本的“说明书”。这对于团队协作或者维护自己的旧代码至关重要。我曾经接手一个前同事留下的上千行脚本,光是理解它的逻辑就花了我好几天时间。现在我严格按照书中的建议来组织我的新脚本,不仅编写效率提高了,而且代码的维护成本直线下降。它教会我的不仅仅是如何让脚本跑起来,更是如何写出能被“人”读懂的脚本,这体现了作者对软件工程思维的重视,这一点在很多纯粹的命令行工具书中是看不到的。

评分

说实话,我刚拿到这本书时还有点怀疑,市面上Shell脚本的书汗牛充栋,我怕这本又会是那种只罗列命令手册的“字典式”书籍。但事实证明,我的担忧完全是多余的。这本书的重点明显在于“攻略”二字,它不是在教你记住每个命令的参数,而是在教你如何用脚本去解决现实世界中的问题。我尤其欣赏它对性能优化和资源管理的探讨。在过去,我写的脚本跑起来很慢,资源占用还很高,但我不知道从何下手去改进。这本书里有一个专门的章节详细对比了不同场景下使用`awk`、`sed`还是纯Bash循环的性能差异,并且给出了实用的调优技巧,比如如何利用管道(Pipes)避免不必要的文件I/O。这种以实践驱动的教学方式,让我感觉自己像是在一个经验丰富的老系统管理员手下做学徒,每学一招都是立竿见影的效率提升。它让我意识到,好的脚本不仅仅是能跑起来,更是要跑得快、跑得稳。

评分

这本书绝对是我的年度最佳技术读物,尤其是对于那些想从“会敲命令”进阶到“能驾驭系统”的Linux爱好者来说,它简直是一盏明灯。我记得我刚接触shell脚本的时候,感觉就像在黑暗中摸索,网上零散的教程东拼西凑,语法陷阱多如牛毛。这本书的厉害之处在于它构建了一个非常扎实且实用的知识体系。它没有停留在简单的变量赋值和`if/then`结构上,而是深入到了进程管理、信号处理这些能让你的脚本真正具备“智能”和“健壮性”的核心概念。举个例子,书中关于错误处理的章节,它讲解了如何优雅地捕获和响应各种退出码,而不是简单地让脚本一出问题就崩溃,这在处理自动化部署或数据迁移任务时,简直是救命稻草。而且,作者的行文风格极其清晰,不会故作高深,即便是复杂的循环嵌套和函数递归,也能用非常直观的例子把它掰开了、揉碎了让你理解,读完之后,我感觉自己对Linux环境的理解上升到了一个新的层次,不再是被动地执行命令,而是主动地去设计和优化工作流。

评分

文字错误太多了,手上这本今年3月第六次印刷,粗略翻了一遍,就看到几处还没被提交到勘误页面的错误。只是一些基本介绍,作为参考不够全面,作为技巧手册又缺少启发意义,适合随便翻翻。另外,版权页说这本书有40万字,平均一页就是400000/250=1600字,这我是不信的。

评分

例子很多,但是感觉不是很系统和深入

评分

感觉更适合对shell有一定了解的人看看,书中讲了很多命令的更强大的参数和用法,当然,这本书基本也是写给初学者看的。

评分

有不错的点子可以应用到开发中,更适合有点基础的看吧。已经下过

评分

10%shell+90%python

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2026 book.quotespace.org All Rights Reserved. 小美书屋 版权所有