目录
第一章 Shell基础知识 .............................................................. 8
1.1 Shell简介 ...................................................................... 8
1.2 Shell基本分两大类 .............................................................. 9
1.3 第一个Shell脚本 ................................................................ 9
1.4 Shell变量 ...................................................................... 9
1.5 变量引用 ....................................................................... 12
1.6 双引号和单引号 ................................................................. 13
1.7 注释 ........................................................................... 14
第二章 Shell字符串处理之${} ....................................................... 14
2.1 获取字符串长度 ................................................................. 14
2.2 字符串切片 ..................................................................... 14
2.3 替换字符串 ..................................................................... 15
2.4 字符串截取 ..................................................................... 15
2.5 变量状态赋值 ................................................................... 16
2.6 字符串颜色 ..................................................................... 16
第三章 Shell表达式与运算符 ........................................................ 17
3.1 条件表达式 ..................................................................... 17
3.2 整数比较符 ..................................................................... 18
3.3 字符串比较符 ................................................................... 18
3.4 文件测试 ....................................................................... 19
3.5 布尔运算符 ..................................................................... 19
3.6 逻辑判断符 ..................................................................... 20
3.7 整数运算 ....................................................................... 20
3.8 其他运算工具(let/expr/bc) .................................................... 21
3.9 Shell括号用途总结 ............................................................. 22
第四章 Shell流程控制 ............................................................. 23
4.1 if语句 ........................................................................ 23
4.2 for语句 ....................................................................... 25
4.3 while语句 ..................................................................... 26
4.4 break和continue语句 .......................................................... 28
4.5 case语句 ...................................................................... 29
4.6 select语句 .................................................................... 30
第五章 Shell函数与数组 ........................................................... 32
5.1 函数 ........................................................................... 32
5.2 数组 ........................................................................... 34
第六章 Shell正则表达式 ........................................................... 35
第七章 Shell文本处理三剑客 ........................................................ 38
7.1 grep ........................................................................... 38
7.2 sed ............................................................................ 42
7.2.1 匹配打印(p) .............................................................. 44
7.2.2 匹配删除(d) .............................................................. 46
7.2.3 替换(s///) ............................................................... 47
7.2.4 多重编辑(-e) ............................................................. 50
7.2.5 添加新内容(a、i和c) ..................................................... 50
7.2.6 读取文件并追加到匹配行后(r) .............................................. 52
7.2.7 将匹配行写到文件(w) ...................................................... 52
7.2.8 读取下一行(n和N) ........................................................ 53
7.2.9 打印和删除模式空间第一行(P和D) .......................................... 55
7.2.10 保持空间操作(h与H、g与G和x) .......................................... 55
7.2.11 标签(:、b和t) .......................................................... 57
7.2.12 忽略大小写匹配(I) ....................................................... 59
7.2.13 获取总行数(#) ........................................................... 59
8.3 awk ............................................................................ 59
8.3.1 选项 ....................................................................... 60
8.3.2 模式 ....................................................................... 60
8.3.3 内置变量 ................................................................... 65
8.3.4 操作符 ..................................................................... 70
8.3.5 流程控制 ................................................................... 74
8.3.6 数组 ....................................................................... 77
8.3.7 内置函数 ................................................................... 80
8.3.8 I/O语句 ................................................................... 84
8.3.9 printf语句 ................................................................ 87
8.3.10 自定义函数 ................................................................ 88
8.3.11 需求案例 .................................................................. 89
第八章 Shell标准输入、输出和错误 .................................................. 94
8.1 标准输入、输出和错误 ........................................................... 94
8.2 重定向符号 ..................................................................... 94
8.3 重定向输出 ..................................................................... 95
8.4 重定向输入 ..................................................................... 95
8.5 重定向标准输出和标准错误 ....................................................... 95
8.6 重定向到空设备 ................................................................. 96
8.7 read命令 ...................................................................... 97
第九章 Shell信号发送与捕捉 ........................................................ 98
9.1 Linux信号类型 ................................................................. 98
9.2 kill命令 ..................................................................... 100
9.3 trap命令 ..................................................................... 100
第十章 Shell编程时常用的系统文件 ................................................. 102
10.1 Linux系统目录结构 ........................................................... 102
10.2 环境变量文件 ................................................................. 103
10.3 系统配置文件 ................................................................. 103
10.4 /dev目录 .................................................................... 104
10.5 /proc目录 ................................................................... 104
10.5.1 /proc .................................................................... 105
10.5.2 /proc/net ................................................................ 105
10.5.3 /proc/sys ................................................................ 106
第十一章 Shell常用命令与工具 ..................................................... 108
11.1 ls ........................................................................... 108
11.2 echo ......................................................................... 109
11.3 printf ....................................................................... 109
11.4 cat .......................................................................... 110
11.5 tac .......................................................................... 111
11.6 rev .......................................................................... 111
11.7 wc ........................................................................... 111
11.8 cp ........................................................................... 111
11.9 mkdir ........................................................................ 112
11.10 mv .......................................................................... 112
11.11 rename ...................................................................... 112
11.12 dirname ..................................................................... 113
11.13 basename .................................................................... 113
11.14 du .......................................................................... 113
11.15 cut ......................................................................... 114
11.16 tr .......................................................................... 114
11.17 stat ........................................................................ 115
11.18 seq ......................................................................... 115
11.19 shuf ........................................................................ 116
11.20 sort ........................................................................ 116
11.21 uniq ........................................................................ 117
11.22 tee .....................................................