资源名称:Linux Shell编程从初学到精通(第2版)

内容简介:

Shell 是用户与内核进行交互操作的一种接口,是Linux 最重要的软件之一,目前最流行的Shell 称为bash Shell。bash Shell 脚本编程以其简洁、高效而著称,多年来成为Linux 程序员和系统管理员解决实际问题的利器。

《Linux Shell编程从初学到精通(第2版)》结合大量的示例,系统、全面地介绍了bash Shell 脚本编程的语法、命令、技巧、调试等内容,在书中还有很多练习可以引导读者思考,力求使读者掌握Linux bash Shell 编程的所有特性。本书结构清晰、易教易学、实例丰富、可操作性强、学以致用,对易混淆和实用性强的内容进行了重点提示和讲解,并配有光盘,光盘中提供书中出现的所有脚本文件、各章的讲解PPT,以及各章的讲解录像。

《Linux Shell编程从初学到精通(第2版)》面向广大工程技术工作者,既可作为高等学校的教师和相关专业学生的教材,又可作为各类培训班的培训教程。

资源目录:

第1章 Shell脚本编程概述 1

1.1 Linux和Shell概述 2

1.1.1 Linux简介 2

1.1.2 Shell简介 5

1.1.3 Shell的种类和版本 7

1.2 Shell脚本编程的优势 7

1.3 第一个Shell脚本例子 8

1.3.1 Shell脚本的基本元素 8

1.3.2 执行Shell脚本 10

1.4 本章小结 11

第2章 Linux文件系统和文本编辑器 12

2.1 用户和用户组管理 13

2.1.1 用户管理常用命令 13

2.1.2 用户组管理常用命令 17

2.2 文件和目录操作 19

2.2.1 文件操作常用命令 20

2.2.2 目录操作常用命令 25

2.2.3 文件和目录权限管理 28

2.2.4 查找文件命令——find 32

2.3 文本编辑器 34

2.3.1 vim编辑器 34

2.3.2 Gedit编辑器 40

2.4 本章小结 41

2.5 上机提议 41

第3章 正则表达式 43

3.1 正则表达式基础 44

3.2 正则表达式的扩展 47

3.3 通配 48

3.4 grep命令 50

3.4.1 grep命令基本用法 51

3.4.2 grep和正则表达式结合使用的一组例子 57

3.4.3 grep命令族简介 61

3.5 本章小结 62

3.6 上机提议 63

第4章 sed命令和awk编程 64

4.1 sed命令基本用法 65

4.2 sed命令的一组示例 67

4.2.1 sed命令选项的一组例子 67

4.2.2 sed文本定位的一组例子 70

4.2.3 sed基本编辑命令的一组例子 72

4.2.4 sed高级编辑命令的一组例子 80

4.3 awk编程 83

4.3.1 awk编程模型 84

4.3.2 awk调用方法 85

4.4 awk编程的一组例子 85

4.4.1 awk模式匹配 85

4.4.2 记录和域 86

4.4.3 关系和布尔运算符 89

4.4.4 表达式 91

4.4.5 系统变量 92

4.4.6 格式化输出 94

4.4.7 内置字符串函数 95

4.4.8 向awk脚本传递参数 97

4.4.9 条件语句和循环语句 99

4.4.10 数组 99

4.5 本章小结 103

4.6 上机提议 103

第5章 文件的排序、合并和分割 105

5.1 sort命令 106

5.1.1 sort命令的基本用法 106

5.1.2 sort和awk的联合用法 110

5.2 uniq命令 112

5.3 join命令 115

5.4 cut命令 118

5.5 paste命令 119

5.6 split命令 122

5.7 tr命令 124

5.8 tar命令 127

5.9 本章小结 130

5.10 上机提议 130

第6章 变量和引用 133

6.1 变量 134

6.1.1 变量替换和赋值 134

6.1.2 无类型的Shell脚本变量 137

6.1.3 环境变量 138

6.1.4 位置参数 145

6.2 引用 147

6.2.1 全引用和部分引用 147

6.2.2 命令替换 149

6.2.3 转义 151

6.3 本章小结 155

6.4 上机提议 155

第7章 退出、测试、判断及操作符 157

7.1 退出状态 158

7.2 测试 159

7.2.1 测试结构 159

7.2.2 整数比较运算符 159

7.2.3 字符串运算符 161

7.2.4 文件操作符 162

7.2.5 逻辑运算符 164

7.3 判断 166

7.3.1 简单if结构 167

7.3.2 exit命令 168

7.3.3 if/else结构 169

7.3.4 if/else语句嵌套 171

7.3.5 if/elif/else结构 174

7.3.6 case结构 177

7.4 运算符 179

7.4.1 算术运算符 180

7.4.2 位运算符 181

7.4.3 自增自减运算符 183

7.4.4 数字常量 183

7.5 本章小结 185

7.6 上机提议 185

第8章 循环与结构化命令 187

8.1 for循环 188

8.1.1 列表for循环 188

8.1.2 不带列表for循环 192

8.1.3 类C风格的for循环 193

8.2 while循环 196

8.2.1 计数器控制的while循环 196

8.2.2 结束标记控制的while循环 198

8.2.3 标志控制的while循环 200

8.2.4 命令行控制的while循环 202

8.3 until循环 203

8.4 嵌套循环 204

8.5 循环控制符 208

8.5.1 break循环控制符 208

8.5.2 continue循环控制符 211

8.6 select结构 213

8.7 本章小结 215

8.8 上机提议 215

第9章 变量的高级用法 217

9.1 内部变量 218

9.2 字符串处理 226

9.3 有类型变量 232

9.4 间接变量引用 235

9.5 bash数学运算 237

9.5.1 expr命令 238

9.5.2 bc运算器 239

9.6 本章小结 241

9.7 上机提议 241

第10章 I/O重定向 243

10.1 管道 244

10.1.1 管道简介 244

10.1.2 cat和more命令 245

10.1.3 sed命令与管道 249

10.1.4 awk命令与管道 250

10.2 I/O重定向 253

10.2.1 文件标识符 253

10.2.2 I/O重定向符号及其用法 255

10.2.3 exec命令的用法 259

10.2.4 代码块重定向 262

10.3 命令行处理 265

10.3.1 命令行处理流程 266

10.3.2 eval命令 268

10.4 本章小结 271

10.5 上机提议 271

第11章 Linux/UNIX Shell类型与区别 273

11.1 Linux/UNIX Shell起源与分类 274

11.2 dash简介 275

11.3 tcsh简介 277

11.4 Korn Shell简介 282

11.5 本章小结 287

第12章 子Shell与进程处理 288

12.1 子Shell 289

12.1.1 内建命令 289

12.1.2 圆括号结构 292

12.2 Shell的限制模式 297

12.3 进程处理 299

12.3.1 进程和作业 301

12.3.2 作业控制 302

12.3.3 信号 307

12.3.4 trap命令 309

12.4 本章小结 312

12.5 上机提议 312

第13章 函数 314

13.1 函数的定义和基本知识 315

13.2 向函数传递参数 318

13.3 函数返回值 321

13.4 函数调用 322

13.4.1 脚本放置多个函数 322

13.4.2 函数相互调用 324

13.4.3 一个函数调用多个函数 325

13.5 局部变量和全局变量 327

13.6 函数递归 328

13.6.1 使用局部变量的递归 329

13.6.2 不使用局部变量的递归 330

13.7 本章小结 332

13.8 上机提议 333

第14章 别名、列表及数组 335

14.1 别名 336

14.2 列表 339

14.3 数组 342

14.3.1 数组的基本用法 342

14.3.2 数组的特殊用法 346

14.3.3 用数组实现简单的数据结构 350

14.4 本章小结 356

14.5 上机提议 356

第15章 一些混杂的主题 359

15.1 脚本编写风格 360

15.1.1 缩进 360

15.1.2 {}的格式 362

15.1.3 空格和空行的用法 362

15.1.4 判断和循环的编程风格 363

15.1.5 命名规范 364

15.1.6 注释风格 365

15.2 脚本优化 366

15.2.1 简化脚本 366

15.2.2 保持脚本的灵活性 368

15.2.3 给用户足够的提示 369

15.3 Linux中的特殊命令 371

15.3.1 shift命令 371

15.3.2 getopts命令 374

15.4 交互式和非交互式Shell脚本 376

15.4.1 非交互式Shell脚本 376

15.4.2 交互式Shell脚本 378

15.5 /dev文件系统 379

15.5.1 /dev文件系统基础知识 380

15.5.2 /dev/zero伪设备 381

15.5.3 /dev/null伪设备 383

15.6 /proc文件系统 384

15.6.1 使用/proc/sys优化系统参数 386

15.6.2 查看运行中的进程信息 387

15.6.3 查看文件系统信息 388

15.6.4 查看网络信息 389

15.7 Shell包装 390

15.8 带颜色的脚本 392

15.9 Linux脚本安全 398

15.9.1 使用shc工具加密Shell脚本 398

15.9.2 Linux Shell脚本编写的病毒 399

15.9.3 Linux Shell中的木马 400

15.10 本章小结 401

15.1 上机提议 401

第16章 Shell脚本调试技术 403

16.1 Shell脚本调试概述 404

16.2 Shell脚本调试技术 406

16.2.1 使用trap命令 406

16.2.2 使用tee命令 409

16.2.3 调试钩子 411

16.2.4 使用Shell选项 412

16.3 本章小结 417

16.4 上机提议 417

第17章 bash Shell编程范例 420

17.1 将文本文件转化为HTML文件 421

17.2 查找文本中n个出现频率最高的单词 425

17.3 伪随机数的产生和应用 427

17.4 crontab的设置和应用 431

17.5 使用MySQL数据库 434

17.5.1 MySQL基础 434

17.5.2 Shell脚本使用MySQL 437

17.6 Linux服务器性能监控系统 442

17.6.1 Ganglia简介及安装 443

17.6.2 提取服务器性能参数名称及数据 448

17.6.3 动态更新服务器监控数据 455

17.7 本章小结 457

17.8 上机提议 457

附录 459

附录A POSIX标准简介 460

附录B 常用ASCII码对照表 461

附录C Linux信号及其意义 466

附录D bash内建变量索引 467

附录E bash内建命令索引 469

参考文献 472

资源截图:

1.png

资源下载资源下载价格6立即支付    升级VIP后免费
本站严重申明:本站创建于香港,主要分享电脑技术以及服务于精简系统爱好者,本站遵守香港的法律法规,并且受到香港法律的保护;本站收集的资源仅供内部学习研究软件设计思想和原理使用,学习研究后请自觉删除,请勿传播,因未及时删除所造成的任何后果责任自负; 如果用于其他用途,请购买正版支持作者,谢谢!若您认为本站发布的内容若侵犯到您的权益,请联系站长QQ:304906607 进行删除处理。 本站资源大多存储在云盘,如发现链接失效,请联系我们,我们会第一时间更新。如要升级VIP会员,请联系QQ:304906607 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!资源仅供学习参考请勿商用或其它非法用途,否则一切后果用户自负!