Shell从入门到精通
《Shell从入门到精通》是2014年2月1日清华大学出版社出版的图书,作者是张春晓。
基本信息
- 书名
Shell从入门到精通
- 作者
张春晓
- ISBN
9787302338079
- 出版社
清华大学出版社
- 出版时间
2014年2月1日
内容简介
《Shell从入门到精通》结构清晰,易教易学,实例丰富,可操作性强,对易混淆和实用性强的内容进行了重点提示和讲解。因此,《Shell从入门到精通》非常适合Linux系统管理和开发的相关人员阅读,也可以作为高等学校教师和相关专业学生的教材,又可以作为各类培训班的培训教材。1
作者简介
张春晓,毕业于广州暨南大学,计算机软件与理论硕士。现任职于暨南大学,长期从事UNIX及Linux系统维护,已达10年之久。作者热衷于UNIX的严谨与简洁,又痴迷于Linux的自由与开放,整日与UNIX及Linux为伴,从中获益匪浅。
图书目录
第1篇 认识Shell编程第1章 Shell入门基础(教学视频:66分钟)21.1 为什么学习和使用Shell编程21.2 什么是Shell21.2.1 Shell的起源31.2.2 Shell的功能41.2.3 Shell的分类41.3 作为程序设计语言的Shell51.3.1 交互式程序51.3.2 创建脚本61.3.3 把脚本设置为可执行61.4 向脚本传递参数71.4.1 Shell脚本的参数81.4.2 参数扩展91.5 第一个Shell程序:Hello,Bash Shell!101.5.1 Shell脚本的基本元素101.5.2 指定命令解读器111.5.3 Shell脚本中的注释和风格121.5.4 如何执行Shell程序131.5.5 Shell程序的退出状态141.6 小结15第2章 Shell编程环境的搭建(教学视频:49分钟)162.1 在不同的操作系统上搭建Shell编程环境162.1.1 在Windows上搭建Shell编程环境162.1.2 在Linux上搭建Shell编程环境202.1.3 在FreeBSD上搭建Shell编程环境222.2 编辑器的选择232.2.1 图形化编辑器232.2.2 vi(vim)编辑器292.3 系统环境的搭建362.3.1 Shell配置文件362.3.2 命令别名392.4 小结39第2篇 Shell编程基础第3章 变量和引用(教学视频:62分钟)423.1 深入认识变量423.1.1 什么是变量423.1.2 变量的命名423.1.3 变量的类型433.1.4 变量的定义453.1.5 变量和引号483.1.6 变量的作用域483.1.7 系统变量513.1.8 环境变量533.2 变量赋值和清空553.2.1 变量赋值553.2.2 引用变量的值553.2.3 清除变量573.3 引用和替换573.3.1 引用583.3.2 全引用583.3.3 部分引用593.3.4 命令替换593.3.5 转义603.4 小结60第4章 条件测试和判断语句(教学视频:77分钟)614.1 条件测试614.1.1 条件测试的基本语法614.1.2 字符串测试624.1.3 整数测试654.1.4 文件测试674.1.5 逻辑操作符704.2 条件判断语句714.2.1 使用简单的if语句进行条件判断724.2.2 使用if else语句进行流程控制744.2.3 使用if elif语句进行多条件判断764.2.4 使用exit语句退出程序784.3 多条件判断语句case804.3.1 多条件判断语句case的基本语法804.3.2 利用case语句处理选项参数814.3.3 利用case语句处理用户输入824.4 运算符834.4.1 算术运算符834.4.2 位运算符874.4.3 自增/自减运算符894.4.4 数字常量的进制914.5 小结92第5章 循环结构(教学视频:61分钟)935.1 步进循环语句for935.1.1 带列表的for循环语句935.1.2 不带列表的for循环语句985.1.3 类C风格的for循环语句995.1.4 使用for循环语句处理数组1005.2 until循环语句1015.2.1 until语句的基本语法1015.2.2 利用until语句批量增加用户1025.3 while循环语句1045.3.1 while语句的基本语法1045.3.2 通过计数器控制while循环结构1045.3.3 通过结束标记控制while循环结构1055.3.4 理解while语句与until语句的区别1065.4 嵌套循环1075.5 利用break和continue语句控制循环1085.5.1 利用break语句控制循环1085.5.2 利用continue语句控制循环1105.5.3 分析break语句和continue语句的区别1115.6 小结114第6章 函数(教学视频:60分钟)1156.1 函数1156.1.1 什么是函数1156.1.2 函数的定义1166.1.3 函数的调用1176.1.4 函数链接1186.1.5 函数的返回值1196.1.6 函数和别名1216.1.7 再议全局变量和局部变量1236.2 函数参数1256.2.1 含有参数的函数的调用方法1256.2.2 获取函数参数的个数1256.2.3 通过位置变量接收参数值1266.2.4 移动位置参数1276.2.5 通过getopts接收函数参数1286.2.6 间接参数传递1296.2.7 通过全局变量传递数据1306.2.8 传递数组参数1316.3 函数库文件1326.3.1 函数库文件的定义1326.3.2 函数库文件的调用1336.4 递归函数1346.5 小结137第7章 数组(教学视频:52分钟)1387.1 定义数组1387.1.1 通过指定元素值来定义数组1387.1.2 通过declare语句定义数组1397.1.3 通过元素值集合定义数组1407.1.4 通过键值对定义数组1417.1.5 数组和普通变量1427.2 数组的赋值1437.2.1 按索引为元素赋值1437.2.2 通过集合为数组赋值1447.2.3 在数组末尾追加新元素1457.2.4 通过循环为数组元素赋值1467.3 访问数组1467.3.1 访问第1个数组元素1467.3.2 通过下标访问数组元素1477.3.3 计算数组的长度1477.3.4 通过循环遍历数组元素1497.3.5 引用所有的数组元素1507.3.6 以切片方式获取部分数组元素1507.3.7 数组元素的替换1537.4 删除数组1547.4.1 删除指定数组元素1547.4.2 删除整个数组1557.5 数组的其他操作1557.5.1 复制数组1557.5.2 连接数组1567.5.3 加载文件内容到数组1577.6 小结157第8章 正则表达式(教学视频:57分钟)1588.1 什么是正则表达式1588.1.1 为什么使用正则表达式1588.1.2 如何学习正则表达式1598.1.3 如何实践正则表达式1608.2 正则表达式基础1608.2.1 正则表达式的原理1608.2.2 基本正则表达式1618.2.3 扩展正则表达式1668.2.4 Perl正则表达式1688.2.5 正则表达式字符集1698.3 正则表达式应用1708.3.1 匹配单个字符1708.3.2 匹配多个字符1738.3.3 匹配字符串的开头或者结尾1758.3.4 运算符优先级1768.3.5 子表达式1778.3.6 通配符1808.4 grep命令1818.4.1 grep命令的基本语法1818.4.2 grep命令族简介1828.5 小结182第9章 基本文本处理(教学视频:100分钟)1839.1 使用echo命令输出文本1839.1.1 显示普通字符串1839.1.2 显示转义字符1849.1.3 显示变量1869.1.4 换行和不换行1879.1.5 显示命令执行结果1889.1.6 echo命令执行结果的重定向1889.2 文本的格式化输出1899.2.1 使用UNIX制表符1899.2.2 使用fold命令格式化行1909.2.3 使用fmt命令格式化段落1929.2.4 使用rev命令反转字符顺序1949.2.5 使用pr命令格式化文本页1959.3 使用sort命令对文本排序1989.3.1 sort命令的基本用法1989.3.2 使用单个关键字排序2009.3.3 根据指定的列排序2039.3.4 根据关键字降序排序2049.3.5 数值列的排序2059.3.6 自定义列分隔符2069.3.7 删除重复的行2079.3.8 根据多个关键字排序2089.3.9 使用sort命令合并文件2099.4 文本的统计2119.4.1 输出含有行号的文本行2119.4.2 统计行数2139.4.3 统计单词数和字符数2159.5 使用cut命令选取文本列2159.5.1 cut命令及其语法2169.5.2 选择指定的文本列2179.5.3 选择指定数量的字符2189.5.4 排除不包含列分隔符的行2199.6 使用paste命令拼接文本列2209.6.1 paste命令及其语法2209.6.2 自定义列分隔符2229.6.3 拼接指定的文本列2229.7 使用join命令联接文本列2239.7.1 join命令及其语法2249.7.2 指定联接关键字列2259.7.3 内联接文本文件2269.7.4 左联接文本文件2269.7.5 右联接文本文件2279.7.6 全联接文本文件2289.7.7 自定义输出列2299.8 使用tr命令替换文件内容2299.8.1 tr命令及其语法2299.8.2 去除重复出现的字符2309.8.3 删除空行2319.8.4 大小写转换2329.8.5 删除指定字符2329.9 小结234第10章 流编辑(教学视频:52分钟)23510.1 sed命令及其语法23510.1.1 sed命令以及语法23510.1.2 sed命令的工作方式23710.1.3 使用行号定位文本行23710.1.4 使用正则表达式定位文本行23810.2 sed命令的常用操作23910.2.1 sed编辑命令基本语法23910.2.2 选择文本24010.2.3 替换文本24210.2.4 删除文本24610.2.5 追加文本24810.2.6 插入文本24910.3 组合命令25010.3.1 使用—e选项执行多个子命令25010.3.2 使用分号执行多个子命令25110.3.3 对一个地址使用多个子命令25110.3.4 sed脚本文件25310.4 小结255第11章 文本处理利器awk命令(教学视频:78分钟)25611.1 awk入门25611.1.1 awk的功能25611.1.2 awk命令的基本语法25711.1.3 awk的工作流程25811.1.4 执行awk程序的几种方式25811.2 awk的模式匹配26011.2.1 关系表达式26011.2.2 正则表达式26111.2.3 混合模式26211.2.4 区间模式26211.2.5 BEGIN模式26311.2.6 END模式26411.3 变量26511.3.1 变量的定义和引用26511.3.2 系统内置变量26611.3.3 记录分隔符和字段分隔符26711.3.4 记录和字段的引用26911.4 运算符和表达式27011.4.1 算术运算符27011.4.2 赋值运算符27111.4.3 条件运算符27211.4.4 逻辑运算符27311.4.5 关系运算符27411.4.6 其他运算符27511.5 函数27511.5.1 字符串函数27511.5.2 算术函数27911.6 数组27911.6.1 数组的定义和赋值27911.6.2 遍历数组28111.7 流程控制28311.7.1 if语句28311.7.2 while语句28411.7.3 do...while语句28511.7.4 for语句28611.7.5 break语句28711.7.6 continue语句28811.7.7 next语句28811.7.8 exit语句28911.8 awk程序的格式化输出29011.8.1 基本print语句29011.8.2 格式化输出printf语句29011.8.3 使用sprintf()函数生成格式化字符串29111.9 awk的程序与Shell的交互29211.9.1 通过管道实现与Shell的交换29211.9.2 通过system函数实现与Shell的交互29311.10 小结293第12章 文件的操作(教学视频:74分钟)29412.1 文件29412.1.1 列出文件29412.1.2 文件类型29612.1.3 文件的权限29812.2 查找文件29912.2.1 find命令以及语法29912.2.2 find命令:路径30012.2.3 find命令:测试30112.2.4 find命令:使用!运算符对测试求反30412.2.5 find命令:处理文件权限错误信息30512.2.6 find命令:动作30512.3 比较文件30712.3.1 使用comm比较文件30712.3.2 使用diff比较文件31012.4 文件描述符31412.4.1 什么是文件描述符31412.4.2 标准输入、标准输出和标准错误31412.5 重定向31512.5.1 输出重定向(覆盖)31512.5.2 输出重定向(追加)31712.5.3 输入重定向31812.5.4 当前文档31912.5.5 重定向两个文件描述符31912.5.6 使用exec命令分配文件描述符32012.6 小结322第13章 子Shell与进程处理(教学视频:49分钟)32313.1 子Shell32313.1.1 什么是子Shell32313.1.2 内部命令、保留字和外部命令32413.1.3 在子Shell中执行命令32713.1.4 把子Shell中的变量值传回父Shell33113.2 进程处理33313.2.1 什么是进程33413.2.2 通过脚本监控进程33413.2.3 作业控制33513.2.4 信号与trap命令33813.3 小结340第3篇 Shell编程实战第14章 Shell脚本调试技术(教学视频:33分钟)34214.1 Shell脚本中的常见错误34214.1.1 常见语法错误34214.1.2 常见逻辑错误34514.2 Shell脚本调试技术34614.2.1 使用echo命令调试脚本34614.2.2 使用trap命令调试Shell脚本34714.2.3 使用tee命令调试Shell脚本34914.2.4 使用调试钩子调试Shell脚本35114.3 小结352第15章 利用Shell脚本解决实际问题(教学视频:33分钟)35315.1 编写系统服务脚本35315.1.1 系统启动过程35315.1.2 运行级别35415.1.3 服务脚本的基本语法35515.1.4 编写MySQL服务脚本35715.2 通过脚本管理Apache服务器日志36415.2.1 Apache以及日志文件简介36415.2.2 备份归档文件名生成函数36515.2.3 过期日志备份归档函数36615.2.4 过期日志删除函数36815.2.5 日志归档主程序36815.2.6 定时运行日志归档脚本36915.3 小结373
参考资料
- 1Shell从入门到精通当当(引用日期 2018-10-18)