当前位置首页 > 百科> 正文

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

2019-10-16 19:45:24 百科
Linux Shell编程从初学到精通(第2版)

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

《Linux Shell编程从初学到精通(第2版)》是2015年1月电子工业出版社出版的图书,作者是华清远见嵌入式培训中心 伍之昂。

基本介绍

  • 书名:LinuxShell编程从初学到精通(第2版)
  • 作者:华清远见嵌入式培训中心 伍之昂
  • ISBN:978-7-121-24822-1
  • 页数:496页
  • 定价:79.00元 
  • 出版社:电子工业出版社
  • 出版时间:2015年1月
  • 开本:16开

内容简介

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

图书信息

华清远见系列图书
Linux Shell编程从初学到精通(第2版)
华清远见嵌入式培训中心 伍之昂 等 编着
ISBN 978-7-121-24822-1
2015年1月出版
定价:79.00元
496
16

内容提要

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

前言

随着Linux逐步成为主流的伺服器作业系统,Shell脚本编程成为一名优秀的Linux开发者和系统管理员必须掌握的技术之一。bash Shell为当前大部分Linux版本所使用,本书旨在系统地介绍bash 4.2.25版本下的Shell脚本编程。
本书共分为17章:第1章介绍Shell的概念、Shell脚本编程的优势和结构等入门知识;第2章讲述Shell脚本编程不可或缺的Linux系统的基础知识;第3章介绍正则表达式和grep命令族;第4章阐述sed命令和awk命令这两种在Shell编程中常用的工具;第5章介绍Shell编程在档案排序、合併和分割上的一些命令;第6章探讨变数和引用;第7章介绍退出、测试及操作符;第8章介绍循环与结构化命令;第9章深入讨论了变数的高级用法;第10章详述I/O重定向,包含管道、exec命令等重要内容;第11章简述了UNIX/Linux发展过程中出现的其他类型的Shell;第12章介绍子Shell、限制性Shell和进程等内容;第13章介绍函式的用法;第14章介绍别名、列表及数组;第15章罗列了无法归入其他章节的混杂主题,包含脚本编写风格、脚本最佳化、/dev和/proc档案系统等;第16章介绍了Shell脚本的调试技术;第17章给出六个Shell编程的实例,读者需要综合使用前面章节所述的Shell命令和编程技巧,涉及系统管理、文本处理和资料库等多个方面。
本书内容丰富,覆盖了Shell编程的大部分技术,并结合典型示例透彻地介绍了Shell命令、选项、结构中的重点和难点。各章最后还配有一定数量的练习题供读者学习。为了帮助读者更加直观地学习本书,我们将书中出现的所有脚本档案、各章的讲解PPT,以及各章的讲解录像都收录到本书的配套光碟中。
本书面向广大工程技术工作者,可作为高等学校的教师和相关专业学生的教材。
本书由南京财经大学江苏省电子商务重点实验室伍之昂博士和王有权组织编写。在本书编写的过程中,实验室主任曹杰教授在全书的体系结构、理论阐释和实例选取等方面提出了许多精闢的见解,研究生陈志杰同学精心润色了本书的文字。参加编写工作的还有吕平、高克臻、张云霞、张璐、许小荣、王冬、王龙、张银芳、周新国、陈可汤、陈作聪、苏静、周艳丽、祁招娣、张秀梅、张玉兰、李爽、卿前华、王文婷、肖岳平、肖斌、蔡娜等,在此,对他们表示诚挚的谢意!
限于笔者水平,本书一定有不少错误和不妥之处,希望得到计算机专家、同行和读者的批评与指正。您可以通过E-mail的方式与笔者联繫。
编 者
声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:baisebaisebaise@yeah.net