《Linux Shell编程从初学到精通(第2版)》pdf



下载地址:网盘下载



内容简介

编辑
shell是用户与内核进行交互操作的一种接口,是linux最重要的 软件之一。目前最流行的shell称为bash shell,bash shell脚本编程以其简洁、高效而著称,多年来成为linux程序员和系统管理员解决实际问题的利器。
《linux shell编程从初学到精通》结合大量的示例,系统、全面地介绍了bash shell脚本编程的语法、命令、技巧、调试等内容,在书中还有很多练习可以引导读者思考,力求使读者掌握linux bash shell编程的所有特性。本书结构清晰、易教易学、实例丰富、可操作性强、学以致用,对易混淆和实用性强的内容进行了重点提示和讲解,并配有 光盘,光盘中提供书中出现的所有 脚本文件、各章的讲解ppt,以及各章的讲解录像。
《linux shell编程从初学到精通》面向广大工程技术工作者,既可作为高等学校教师和相关专业学生的教材,又可作为各类培训班的培训教程。

目录

编辑
《linux shell编程从初学到精通》
第1章 shell 脚本编程概述 1
1.1 linux和shell概述 2
1.1.1 linux简介 2
1.1.2 shell简介 3
1.2 shell脚本编程的优势 5
1.3 第一个shell脚本例子 6
1.3.1 shell脚本的基本元素 6
1.3.2 执行shell脚本 7
1.4 本章小结 8
第2章 linux文件系统和 文本编辑器 9
2.1 用户和用户组管理 10
2.1.1 用户管理常用命令 10
2.1.2 用户组管理常用命令 14
2.2 文件和目录操作 16
2.2.1 文件操作常用命令 17
2.2.2 目录操作常用命令 21
2.2.3 文件和目录权限管理 25
2.2.4 查找文件命令——find 28
2.3 文本 编辑器 31
.2.3.1 vi编辑器 31
2.3.2 gedit编辑器 35
2.4 本章小结 36
2.5 上机提议 37
第3章 正则表达式 39
3.1 正则表达式基础 40
3.2 正则表达式的扩展 43
3.3 通配 44
3.4 grep命令 46
3.4.1 grep命令基本用法 47
3.4.2 grep和正则表达式结合使用的一组例子 53
3.4.3 grep命令族简介 57
3.5 本章小结 58
3.6 上机提议 58
第4章 sed命令和awk编程 60
4.1 sed命令基本用法 61
4.2 sed编程的一组例子 63
4.2.1 sed命令选项的一组例子 63
4.2.2 sed文本定位的一组例子 66
4.2.3 sed基本编辑命令的一组例子 68
4.2.4 sed高级编辑命令的一组例子 76
4.3 awk编程 79
4.3.1 awk编程模型 80
4.3.2 awk调用方法 80
4.4 awk编程的一组例子 81
4.4.1 awk模式匹配 81
4.4.2 记录和域 82
4.4.3 关系和 布尔运算符 84
4.4.4 表达式 86
4.4.5  系统变量 88
4.4.6 格式化输出 89
4.4.7 内置字符串函数 91
4.4.8 向awk脚本传递参数 93
4.4.9 条件语句和循环语句 94
4.4.10  数组 95
4.5 本章小结 99
4.6 上机提议 99
第5章 文件的排序、合并和分割 101
5.1 sort命令 102
5.1.1 sort命令的基本用法 102
5.1.2 sort和awk的联合用法 106
5.2 uniq命令 108
5.3 join命令 111
5.4 cut命令 114
5.5 paste命令 115
5.6 split命令 117
5.7 tr命令 119
5.8 tar命令 122
5.9 本章小结 125
5.10 上机提议 126
第6章 变量和引用 128
6.1 变量 129
6.1.1 变量替换和赋值 129
6.1.2 无类型的shell脚本
变量 132
6.1.3 环境变量 133
6.1.4 位置参数 140
6.2 引用 141
6.2.1 全引用和部分引用 142
6.2.2 命令替换 143
6.2.3 转义 146
6.3 本章小结 149
6.4 上机提议 150
第7章 退出、测试、判断及操作符 152
7.1 退出状态 153
7.2 测试 154
7.2.1 测试结构 154
7.2.2 整数比较运算符 154
7.2.3 字符串运算符 156
7.2.4 文件操作符 157
7.2.5 逻辑运算符 159
7.3 判断 161
7.3.1 简单if结构 162
7.3.2 exit命令 163
7.3.3 if/else结构 164
7.3.4 if/else语句嵌套 166
7.3.5 if/elif/else结构 169
7.3.6 case结构 172
7.4 运算符 174
7.4.1 算术运算符 175
7.4.2 位运算符 176
7.4.3 自增自减运算符 178
7.4.4 数字常量 178
7.5 本章小结 180
7.6 上机提议 180
第8章 循环与结构化命令 182
8.1 for循环 183
8.1.1 列表for循环 183
8.1.2 不带列表for循环 187
8.1.3 类c风格的for循环 188
8.2 while循环 191
8.2.1 计数器控制的while循环 191
8.2.2 结束标记控制的while循环 193
8.2.3 标志控制的while循环 195
8.2.4 命令行控制的while循环 196
8.3 until循环 198
8.4 嵌套循环 199
8.5 循环控制符 203
8.5.1 break循环控制符 203
8.5.2 continue循环控制符 206
8.6 select结构 208
8.7 本章小结 210
8.8 上机提议 210
第9章 变量的高级用法 212
9.1 内部变量 213
9.2 字符串处理 221
9.3 有类型变量 227
9.4 间接变量引用 230
9.5 bash数学运算 232
9.5.1 expr命令 232
9.5.2 bc运算器 234
9.6 本章小结 235
9.7 上机提议 236
第10章 i/o重定向 238
10.1 管道 239
10.1.1 管道简介 239
10.1.2 cat和more命令 240
10.1.3 sed命令与管道 242
10.1.4 awk命令与管道 244
10.2 i/o重定向 246
10.2.1 文件 标识符 246
10.2.2 i/o重定向符号及其用法 248
10.2.3 exec命令的用法 252
10.2.4 代码块重定向 255
10.3 命令行处理 258
10.3.1 命令行处理流程 258
10.3.2 eval命令 261
10.4 本章小结 264
10.5 上机提议 264
第11章 linux/unix shell类型与区别 266
11.1 linux/unix shell起源与分类 267
11.2 dash简介 268
11.3 tcsh简介 270
11.4 korn shell简介 275
11.5 本章小结 280
第12章 子shell与进程处理 281
12.1 子shell 282
12.1.1 内建命令 282
12.1.2 圆括号结构 285
12.2 shell的限制模式 290
12.3 进程处理 292
12.3.1 进程和作业 294
12.3.2 作业控制 295
12.3.3 信号 299
12.3.4 trap命令 302
12.4 本章小结 305
12.5 上机提议 305
第13章 函数 307
13.1 函数的定义和基本知识 308
13.2 向函数传递参数 311
13.3 函数返回值 314
13.4 函数调用 315
13.4.1 脚本放置多个函数 316
13.4.2 函数相互调用 317
13.4.3 一个函数调用多个函数 319
13.5  局部变量和全局变量 320
13.6 函数递归 321
13.6.1 使用局部变量的递归 322
13.6.2 不使用局部变量的递归 323
13.7 本章小结 325
13.8 上机提议 326
第14章 别名、列表及数组 328
14.1 别名 329
14.2 列表 332
14.3 数组 334
14.3.1 数组的基本用法 335
14.3.2 数组的特殊用法 339
14.3.3 用数组实现简单的 数据结构 343
14.4 本章小结 349
14.5 上机提议 349
第15章 一些混杂的主题 352
15.1 脚本编写风格 353
15.1.1 缩进 353
15.1.2 {}的格式 355
15.1.3 空格和空行的用法 355
15.1.4 判断和循环的编程风格 356
15.1.5 命名规范 357
15.1.6 注释风格 358
15.2 脚本优化 359
15.2.1 简化脚本 359
15.2.2 保持脚本的灵活性 361
15.2.3 给用户足够的提示 362
15.3 linux中的特殊命令 364
15.3.1 shift命令 364
15.3.2 getopts命令 367
15.4 交互式和非交互式shell脚本 369
15.4.1 非交互式shell脚本 369
15.4.2 交互式shell脚本 371
15.5 /dev文件系统 372
15.5.1 /dev文件系统基础知识 372
15.5.2 /dev/zero伪设备 374
15.5.3 /dev/null伪设备 375
15.6 /proc文件系统 376
15.6.1 使用/proc/sys优化 系统参数 378
15.6.2 查看运行中的进程信息 379
15.6.3 查看文件系统信息 380
15.6.4 查看网络信息 380
15.7 shell包装 381
15.8 带颜色的脚本 383
15.9 linux脚本安全 389
15.9.1 使用shc工具加密shell脚本 390
15.9.2 linux shell脚本编写的病毒 391
15.9.3 linux shell中的 木马 392
15.10 本章小结 392
15.11 上机提议 393
第16章 shell 脚本调试技术 395
16.1 shell脚本调试概述 396
16.2 shell脚本调试技术 398
16.2.1 使用trap命令 398
16.2.2 使用tee命令 401
16.2.3 调试钩子 403
16.2.4 使用shell选项 404
16.3 本章小结 409
16.4 上机提议 409
第17章 bash shell编程范例 412
17.1 将文本文件转化为html
文件 413
17.2 查找文本中n个出现频率最高的单词 417
17.3 伪随机数的产生和应用 419
17.4 crontab的设置和应用 423
17.5 使用mysql数据库 426
17.5.1 mysql基础 426
17.5.2 shell脚本使用mysql 427
17.6 linux服务器性能监控系统 432
17.6.1 ganglia简介及安装 432
17.6.2 提取服务器性能参数名称及数据 435
17.6.3 动态更新服务器监控数据 441
17.7 本章小结 443
17.8 上机提议 443
附录 445
附录a posix标准简介 446
附录b 常用 ascii码对照表 447
附录c linux信号及其意义 452
附录d bash内建变量索引 453
附录e bash内建命令索引 455
参考文献 458



下载地址:网盘下载

转载于:https://www.cnblogs.com/long12365/p/9732037.html

1. 前言 这是一本awk学习指引, 其重点着重于 :  awk 适于解决哪些问题 ?  awk 常见的解题模式为何 ? 为使读者快速掌握awk解题的模式及特性, 本手册系由一些较具代表性的范例及其题解所构成; 各范例由浅入深, 彼此间相互连贯,范例中并对所使用的awk语法及指令辅以必要的说明. 有关 awk的指令, 函数,...等条列式的说明则收录于附录中, 以利读者往后撰写程序时查阅. 如此编排, 可让读者在短时间内顺畅地学会使用awk来解决问题. 建议读者循着范例上机实习, 以加深学 习效果. 读者宜先具备下列背景 : [a.] UNIX 环境下的简单操作及基本概念. 例如 : 文件编辑, 文件复制 及 管道, 输入/输出重定向 等概念 [b.] C 语言的基本语法及流程控制指令. (awk 指令并不多, 且其中之大部分与 C语言中之用法一致, 本手册中对该类指令之语法及特性 不再加以繁冗的说明, 读者若欲深究,可自行翻阅相关的 C 语言书籍) 2. awk概述 为什么使用awk awk 是一种程序语言. 它具有一般程序语言常见的功能. 因awk语言具有某些特点, 如 : 使用直译器(Interpreter)不需先行编译; 变量无类型之分 (Typeless), 可使用文字当数组的下标(Associative Array)...等特色. 因此, 使用awk撰写程序比起 使用其它语言更简洁便利且节省时间. awk还具有一些内建功能, 使得awk擅于处理具数据行 (Record), 字段(Field)型态的资料; 此外, awk内建有pipe的功能, 可将处理中的数据传送给外部 的 Shell命令加以处理, 再将Shell命令处理后的数据传回awk程序, 这个特点也使得awk程序很 容易使用系统资源. 由于awk具有上述特色, 在问题处理的过程中, 可轻易使用awk来撰写一些小工具; 这些小工具 并非用来解决整个大问题,它们只扮演解决个别问题过程的某些角色, 可藉由Shell所提供的pipe 将数据按需要传送给不同的小工具进行处理, 以解决整个大问题. 这种解题方式, 使得这些小工 具可因不同需求而被重复组合及重用(reuse); 也可藉此方式来先行测试大程序原型的可行性与 正确性, 将来若需要较高的执行速度时再用C语言来改写.这是awk最常被应用之处. 若能常常 如此处理问题, 读者可以以更高的角度来思考抽象的问题, 而不会被拘泥于细节的部份. 本手册为awk入门的学习指引, 其内容将先强调如何撰写awk程序,未列入进一步解题方式的应 用实例, 这部分将留待UNIX进阶手册中再行讨论.
Linux Shell编程从入门到精通》是一本非常经典的Shell编程教材,适合那些希望深入学习Linux Shell编程的人使用。这本书涵盖了从基础知识到高级技术的各个方面。 在入门部分,读者将学习到Shell脚本的语法结构、命令、变量、运算符等基础知识。通过实例和练习,读者可以逐步掌握Shell脚本编程的基本技能,并能够独立编写一些简单的脚本。 随后,书籍介绍了Shell脚本编程的进阶内容,包括函数、流程控制、循环、字符串处理、数组等等。通过学习这些内容,读者可以编写更复杂和功能丰富的脚本程序。 在进入高级阶段,书中还介绍了一些Shell编程的高级技巧和工具。比如,如何使用正则表达式、文件操作、进程控制、错误处理等。这一部分内容对于提高Shell编程的效率和可靠性非常有帮助。 此外,《Linux Shell编程从入门到精通》还提供了大量的实例和项目练习,帮助读者将理论知识应用到实际问题中。通过参与这些实践,读者可以更好地理解Shell编程的各个概念和技巧,并提升自己的编程能力。 总的来说,这本书内容全面、深入浅出,适合各个层次的读者学习。不仅能够让初学者系统学习Shell编程,还可以帮助有一定经验的读者提高编程水平。无论是对于学习Linux系统还是提高自己的Shell编程技能,这本书都是一个不错的选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值