注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络操作系统LinuxUNIX 和Linux权威教程:第三版

UNIX 和Linux权威教程:第三版

UNIX 和Linux权威教程:第三版

定 价:¥96.00

作 者: (美)John Muster著;王玉馨,郑建超等译
出版社: 清华大学出版社
丛编项: 国外计算机科学经典教材
标 签: UNIX

ISBN: 9787302060932 出版时间: 2003-01-01 包装: 平装
开本: 26cm 页数: 735 字数:  

内容简介

  本书是一本介绍UNIX/Linux和shell编程的指导书,全书分为两个部分,第一部分介绍了UNIX/Linux基础知识,第二部分则讲述了shell编程的知识。本书适合学习UNIX/Linux的新手,对于能够熟练使用UNIX/Linux,但是对于某个工具或者某种功能不太熟悉的UNIX/Linux用户,也有很大的参考价值。通过阅读这本书,您就会清楚为什么会有成千上万的人通过JohnMuster的这本条理清晰、循序渐进的指南来UNIX和Linux,目前本书已升级到第三版。书中提供的信息和有益的指导展示了如何像一个专业人员一样使用UNIX和Linux。全书从创建和编辑文件、连接Internet的基本知识开始介绍,逐步深入阐述了定制用户环境、使用高级工具及shell编程的知识。初学者都非常喜欢这种易于理解的学习方式和用于实践的示例;中、高级用户则可以从其对复杂的实用程序和特征中受益。为了尽量提高学习效率而在书中设计的专家提示、概念说明图、方便的参考表以及其他一些特征都表明了本书是第一位UNIX用户最佳的教学指南。

作者简介

  John Muster很热爱教育事业。他工作的中心是帮助学生们学习的,他促进学生们学习——在课堂上、在教师教育讨论会上、在他编写的著作和开发的媒体中、在他支持的程序中。他的科学工作始于天文学,现在他着重于研究怎样促进人们学习复杂的技能和内容,怎样开发一些指导学生们学习的资料、练习、事件、问题和方法来帮助他们成长和成功。John Muster在硅谷教育中心和加州大学伯克利分校授课并指导教育发展,他还在该分校获得了荣誉教师称号。除了教学和开发多媒体外,他还为全世界的工业、政府和大学客户提供咨询。他分别在俄亥俄州立大学奥特比因学院和加州大学伯克利分析完成了本科和研究生学业。

图书目录

第I部分 掌握UNIX/Linux精华
第1章 使用图形桌面访问系统
1.1 与UNIX/Linux建立通信
1.1.1 准备登录
1.1.2 登录系统
1.1.3 开始一个新的会话
1.1.4 启动多个Linux终端会话
1.2 图形桌面环境
1.2.1 任务栏
1.2.2 自定义桌面
1.2.3 使用图标启动程序
1.3 小结
第2章 UNIX/Linux特征简介
2.1 在UNIX中运行程序
2.1.1 认识shell
2.1.2 启动终端窗口
2.1.3 向shell发出命令
2.1.4 确定系统上的用户
2.1.5 获得日历和系统信息
2.1.6 列出文件和清空屏幕
2.1.7 与系统交互
2.1.8 输入命令行时纠正输入错误
2.1.9 向实用程序传送信息
2.2 UNIX工作原理
2.2.1 shell命令的构成
2.2.2 列出进程
2.2.3 列出所有的进程
2.2.4 识别当前目录
2.3 向shell发出指令
2.3.1 将实用程序的输出重定向到文件
2.3.2 查看文件内容
2.3.3 在当前目录中创建文件并列出文件列表
2.3.4 将输出追加到文件末尾
2.3.5 将输出重定向到其他实用程序
2.3.6 确定命令行中元素的角色
2.3.7 重复命令
2.3.8 使用命令的别名
2.4 使用实用程序查看和管理文件
2.4.1 使用more快速浏览文件
2.4.2 显示文件中指定的行
2.4.3 显示文件的所有内容
2.4.4 复制文件
2.4.5 将文件复制到已经存在的文件
2.4.6 文件重命名
2.4.7 删除文件
2.4.8 解读实用程序的错误信息
2.5 使用UNIX实用程序工具箱
2.5.1 列出目录的内容
2.5.2 统计文件中元素的个数
2.5.3 获得实用程序信息
2.5.4 对文件中的行排序
2.5.5 回显
2.5.6 创建组合文件
2.5.7 在文件中定位特定的行
2.5.8 打印文件
2.6 输入输出管理
2.6.1 指定文件作为输入
2.6.2 确定实用程序读取输入的来源
2.6.3 使用重定向管理输入输出
2.6.4 与其他用户通信
2.7 在命令行中使用特殊字符
2.7.1 访问shell变量
2.7.2 使用一个目录中的所有文件名来替换通配符
2.7.3 指示shell不解释特殊字符
2.7.4 创建多标记参数
2.7.5 进程通信
2.7.6 将进程放入后台
2.7.7 使用实用程序编程
2.8 修改用户环境
2.8.1 指示shell不覆盖文件
2.8.2 防止意外退出系统
2.8.3 改变密码
2.8.4 改变提示符
2.9 文件系统
2.9.1 确定您在文件系统中的位置
2.9.2 从顶层观察文件系统
2.9.3 改变目录
2.9.4 返回主目录
2.9.5 创建目录
2.9.6 将文件复制到子目录
2.10 运行系统的构成
2.10.1 包含实用程序的工具箱
2.10.2 确定实用程序的位置
2.10.3 查看密码文件的组成
2.10.4 修改文件的权限
2.10.5 使用UNIX工具编程
2.10.6 创建shell脚本
2.11 小结
第3章 使用可视化编辑器进行编辑
3.1 vi编辑器简介
3.2 使用vi编辑已有文件
3.3 可视化编辑器简介
3.3.1 在文件中移动光标
3.3.2 退出vi编辑器
3.3.3 命令模式的vi编辑器图解
3.3.4 在命令模式中删除文本
3.3.5 撤销文本修改
3.3.6 向文件中添加文本
3.3.7 结束编辑会话
3.4 在文件中快速移动光标
3.4.1 扩充方向键
3.4.2 定位字符串
3.4.3 在两个方向搜索
3.4.4 以单词为增量移动光标
3.4.5 将光标移到当前行上的指定位置
3.4.6 使用行号定位行
3.4.7 将光标移到当前屏幕上的指定位置
3.4.8 将光标返回到的原来位置
3.4.9 调整屏幕的显示文本
3.4.10 改变显示和移动光标
3.5 从文件中删除文本
3.5.1 删除多行文本
3.5.2 删除多个字符
3.5.3 删除一个或多个单词
3.5.4 删除部分行
3.5.5 在一行中删除当前光标到指定字符之间的所有文本
3.5.6 使用行号删除文本行
3.6 向文件中添加文本
3.6.1 在光标的左侧插入文本
3.6.2 比较a和i命令
3.6.3 在光标的上面打开新行
3.6.4 追加命令小结
3.6.5 在行首插入文本
3.6.6 在行未追加文本
3.7 撤销和重复编辑命令
3.7.1 撤销最后一条命令
3.7.2 使用vim进行多次撤销
3.7.3 撤销一行上所有的修改
3.7.4 重复最后一次文本修改命令
3.8 避免混淆shell和编辑器
3.8.1 向shell发出指令
3.8.2 在vi编辑器的命令模式中发出相同的命令
3.8.3 在vi编辑器的追加模式中做相同的指示
3.8.4 比较命令解释器
3.9 使用可视化编辑器创建新文件
3.9.1 调用vi编辑器并添加文本
3.9.2 向行中添加文本
3.9.3 执行脚本
3.9.4 进入命令模式失败
3.10 修改文本
3.10.1 替换字符
3.10.2 逐字符覆盖文本
3.10.3 用多个字符替换单个字符
3.10.4 用多个单词替换一个单词
3.10.5 行替换
3.10.6 修改行的剩余部分
3.10.7 修改当前行光标到指定宇符间的所有文本
3.11 全局修改
3.11.1 搜索单词的第1个实例
3.11.2 搜索所有行上单词的第1个实例
3.11.3 在指定的行上搜索
3.12 搜索行目标
3.13 移动和复制文本
3.13.1 复制和粘贴文本
3.13.2 剪切和粘贴行
3.13.3 复制、移动单词和字符
3.13.4 复制和移动行的部分文本
3.13.5 对象与操作符
3.13.6 复制文本块
3.13.7 使用行号
3.13.8 移动文本块
3.14 保存文件和退出vi编辑器
3.14.1 不存盘退出vi编辑器
3.14.2 保存原文件及其修改副本
3.14.3 另存文本块
3.14.4 覆盖已有文件
3.14.5 向文件中追加文本
3.15 在vi编辑器中与shell交互
3.15.1 读入文本文件
3.15.2 在vi中运行子shell
3.15.3 读入shell命令行的输出
3.15.4 纠正拼错的文件名
3.16 编辑多个文件
3.17 自定义vi编辑器
3.17.1 使用行号
3.17.2 设置自动字符缩进
3.17.3 显示编辑器模式
3.17.4 忽略大小写的搜索
3.17.5 列出特殊字符
3.17.6 编程语言中特殊字符的匹配
3.17.7 自动换行
3.17.8 查看选项的当前值
3.17.9 查看所有选项的当前值
3.17.10 使用初始化文件自定义vi编辑器
3.18 用单键来完成复杂的任务
3.18.1 在文本中输入控制字符
3.18.2 命令模式中的映射键
3.18.3 追加模式中的缩写
3.19 vi编辑器的集成特征
3.19.1 创建练习文件
3.19.2 使用可视化编辑器完成复杂的编辑任务
3.20小结
第4章 使用基本的UNIX实用程序
4.1 扩展工具
4.1.1 创建必需的文件
4.1.2 统计文件的各种元素
4.1.3 协同使用WC与其他实用程序
4.1.4 合并文件工具cat
4.1.5 统计输出的行数
4.1.6 查看文件工具more
4.2 用cut选取文件的部分内容
4.2.1 创建实例数据库文件
4.2.2 从文件中选取字段
4.2.3 使用cut选项
4.3 按多列格式输出
4.3.1 按多列格式输出
4.3.2 先显示列,后显示行
4.4 用paste进行多行粘贴
4.4.1 合并多个文件
4.4.2 改变输出的字段分界符
4.4.3 合并文件的行
4.5 用grep查找文件中的字符串
4.5.1 创建文件
4.5.2 查找并输出
4.5.3 在多个文件中查找
4.5.4 查找多个单词
4.5.5 查找时忽略字母的大小写
4.5.6 搜索中仅输出文件名
4.5.7 使用正则表达式
4.6 用bc工具进行数学计算
4.7 用sort对文件中的行排序
4.7.1 创建文件
4.7.2 按字典顺序排序
4.7.3 不区分大小写进行排序
4.7.4 按数值排序
4.7.5 反向排序
4.7.6 根据字段排序
4.7.7 创建数据文件
4.7.8 通过字段对数据文件进行排序
4.7.9 按字段排序
4.7.10 限定排序
4.7.11 带次关键字的排序
4.7.12 次排序字段反向
4.7.13 在不同的字段定界符下使用sort
4.7.14 将sort输出重定向到文件
4.7.15 文件排序后重写
4.7.16 查看手册页
4.8 识别和删除重复的行
4.8.1 删除所有重复行
4.8.2 识别无重复的行
4.8.3 识别重复行
4.9 用comm比较两个文件内容
4.9.1 创建示例文件
4.9.2 分组惟一行与公共行
4.9.3 识别惟一行与公共行
4.9.4 选取惟一行或公共行
4.10 用diff查看文件之间的不同之处
4.11 替换字符工具tr
4.11.1 替换指定字符
4.11.2 按范围替换
4.11.3 删除指定字符
4.11.4 使用实用程序tr
4.12 列出文件名和目录名
4.13 用join连接选取行
4.13.1 基于连接字段值的记录连接
4.13.2 输入文件需要预先排序
4.14 用sed编辑命令行
4.14.1 创建示例文件
4.14.2 修改目标单词
4.14.3 修改所有目标
4.14.4 选中行然后进行替换
4.14.5 查找行并进行替换
4.14.6 删除行
4.14.7 在sed中使用正则表达式
4.15 数据操作工具awk
4.15.1 选择行然后输出字段
4.15.2 修改字段定界符
4.15.3 选择指定数据
4.16 将输出重定向到文件或其他实用程序
4.17 查看文件类型
4.17.1 查看文件的类型
4.17.2 传递多个参数给文件
4.18 触摸文件
4.19 组合使用多个实用程序实现更多目标
4.19.1 统计目录
4.19.2 查看系统中的用户
4.19.3 列出文件中所有单词
4.20 小结
第5章 在脚本中使用多种实用程序
5.1 使用实用程序获取信息
5.2 分别列出文件和目录
5.2.1 识别目录
5.2.2 选择目录或文件
5.2.3 创建脚本
5.3 识别目录下文件的修改
5.3.1 在目标目录下创建文件
5.3.2 收集目录下文件的信息
5.3.3 修改目录内容
5.3.4 比较当前文件和原文件的信息
5.4 创建复杂的字分析脚本
5.4.1 确定文件中惟一单词的个数
5.4.2 删除标点符号
5.4.3 将字母改成小写
5.4.4 每行放置一个单词
5.4.5 删除空行
5.4.6 排序行
5.4.7 删除重复行
5.4.8 首先列出使用最多的单词
5.4.9 写入文件并传送给下一个实用程序
5.4.10 复习完整的脚本
5.5 获取相关数据
5.5.1 创建数据文件
5.5.2 创建基本的连接脚本
5.5.3 修改join的输出
5.5.4 按捐赠者对输出排序
5.6 小结
第6章 创建和改变UNIX目录
6.1 使用目录管理文件
6.1.1 再次查看主目录
6.1.2 在目录中列出文件
6.1.3 创建目录
6.1.4 改变目录
6.1.5 查看当前目录的路径
6.1.6 列出当前目录的内容
6.1.7 在子目录下创建文件
6.1.8 返回主目录
6.1.9 区分文件和目录
6.1.10 列出子目录内容
6.1.11 获得目录及其内容
6.1.12 依次列出目录内容
6.2 管理目录下的文件
6.2.1 将文件移动到子目录
6.2.2 将文件复制到子目录
6.2.3 访问子目录文件
6.2.4 移动文件到目录时应该避免的错误
6.2.5 移动文件并改变文件名
6.2.6 从子目录下删除文件
6.2.7 在子目录下创建子目录
6.2.8 在文件系统中移动
6.3 在目录中使用路径管理文件
6.3.1 访问子目录
6.3.2 在实用程序中使用路径名
6.3.3 使用路径将文件复制到其他目录
6.3.4 使用子目录的路径列出其内容
6.3.5 用路径名创建子目录
6.3.6 使用父目录名
6.3.7 进入root的父目录
6.3.8 复制多个文件到子目录
6.3.9 移动多个文件
6.3.10 移动文件到父目录
6.3.11 查看目录的完全路径
6.3.12 简单调用主目录
6.3.13 在目录路径中包含其他用户的登录路径
6.4 访问远程目录下的文件
6.4.1 访问目录方法的总结
6.4.2 从当前目录开始指定路径
6.4.3 指定目录的绝对路径
6.4.4 使用主目录指定路径
6.4.5 返回上次访问的目录
6.4.6 访问目录所使用方法
6.5 查看文件的长列表
6.6 管理来自多个目录的文件
6.6.1 在另一个目录下列出文件
6.6.2 删除链接文件
6.6.3 使用原文件名将文件链接到其他目录
6.6.4 链接多个文件
6.6.5 用符号链接来链接文件
6.6.6 删除符号链接
6.6.7 删除有符号链接的文件
6.6.8 链接目录
6.6.9 查看符号链接的原因
6.7 移动和删除目录及目录的内容
6.7.1 改变目录名
6.7.2 移动目录
6.8 删除目录和文件
6.8.1 删除空目录
6.8.2 删除目录和目录下的文件
6.9 小结
第7章 访问和改变前面的命令
7.1 shell及其特征综述
7.1.1 确定现有的shell
7.1.2 检查所需的文件
7.2 使用csh、tcsh、bash以及ksh的命令记录特征
7.2.1 在csh、tcsh和bash中再次运行命令
7.2.2 通过事件编号运行命令
7.2.3 在提示符后添加历史事件编号
7.2.4 选择前面命令中的参数
7.2.5 修改前面已输入的C shell命令
7.2.6 修改命令行
7.2.7 在Korn shell中访问命令记录
7.3 使用编辑命令修改命令记录
7.3.1 要求使用命令编辑特征
7.3.2 重复命令
7.3.3 修改前面的命令行
7.3.4 各种shell提供的编辑特征
7.4 shell特征总结
7.5 小结
第8章 shell详解
8.1 运行shell命令行
8.1.1 与shell交互
8.1.2 shell通信
8.1.3 识别要运行的实用程序
8.1.4 启动进程来运行实用程序
8.1.5 重定向输入输出
8.1.6 重定向错误消息
8.1.7 给进程传递参数
8.1.8 命令行的扩展符号标记
8.1.9 指定要运行的代码
8.1.10 开始运行代码
8.1.11 识别命令行符号标记的功能
8.1.12 使用模型解释命令行
8.1.13 改变shell运行命令的方式
8.2 shell命令行的扩展
8.2.1 使用shell字符扩展文件名
8.2.2 创建和使用局部变量
8.2.3 将环境变量传递给子进程
8.2.4 确定变量的命令行功能
8.3 定制shell功能
8.3.1 使用和改变搜索路径
8.3.2 创建个性化shell提示符
8.4 使用高级用户特征
8.4.1 使用两个系列的shell
8.4.2 使用shell的选项定制和shell的交互
8.4.3 请求shell补全文件名
8.4.4 tcsh shell下的文件名补全功能
8.4.5 Korn shell下的文件名补全
8.4.6 bash shell下的文件名补全
8.4.7 csh shell下的文件名补全
8.4.8 设置定位目录的搜索路径
8.4.9 求shell变量的值
8.4.10 定制shell的启动文件
8.5 小结
第9章 设置文件和目录权限
9.1 文件权限简介
9.1.1 权限字段
9.1.2 使用读和写权限
9.1.3 将文件的权限改为只读
9.1.4 将文件的权限改为只写
9.1.5 增加文件的读取权限
9.2 使用文件的运行权限
9.2.1 建立一个shell命令文件
9.2.2 让shell读取脚本
9.2.3 通过名称来运行脚本
9.2.4 确定谁能修改权限
9.3 使用助记符修改文件权限
9.3.1 赋予特定权限
9.3.2 增加和删除权限
9.4 使用数字修改文件权限
9.4.1 使用数字设置读写和运行权限
9.4.2 赋予组合的权限
9.4.3 确定所有可能的权限组合
9.4.4 打开和关闭开关
9.5 改变所属组和其他用户的权限
9.6 赋予不同权限的效果
9.6.1 研究结果
9.6.2 删除文件
9.7 修改目录权限
9.7.1 使用权限控制目录访问
9.7.2 列出目录中的文件
9.7.3 取消目录的写权限
9.7.4 对运行权限的需求
9.7.5 目录权限的作用
9.7.6 600和700的目录权限
9.7.7 分析结果
9.7.8 在路径中限制运行权限
9.7.9 仅赋予运行权限
9.7.10 为所属组和其他用户建立目录权限
9.8 修改所有子目录中文件的权限
9.9 确定其他权限
9.9.1 以root身份运行程序
9.9.2 设置组ID
9.9.3 获得所有者身份来删除文件
9.10 建立文件或目录时设置权限
9.10.1 默认权限
9.10.2 指定目录权限
9.10.3 没有屏蔽时确定文件权限
9.10.4 预测文件和目录的权限
9.11 复制文件时的权限继承
9.12 小结
第10章 从在线资源中获得帮助
10.1 访问程序员手册
10.1.1 显示和搜索手册页条目
10.1.2 搜索一条手册页条目
10.1.3 使用关键字搜索手册页条目
10.2 把手册页输出到文件或打印机
10.3 使用info查找信息
10.3.1 访问info程序
10.3.2 获得关于info的帮助
10.3.3 使用菜单选项选择信息
10.3.4 查看数据库文件
10.3.5 在info中导航小结
10.4 访问Internet资源
10.4.1 查看有用的Internet站点
10.4.2 查找当前互联网站点清单
10.5 小结
第11章 控制用户进程
11.1 处理进程
11.1.1 获得系统进程的详细信息
11.1.2 识别与终端连接的进程
11.1.3 获得用户进程的详细数据
11.1.4 确认进程间从属关系
11.1.5 结束前台进程
11.1.6 结束非前台进程
11.2 管理作业
11.2.1 挂起作业
11.2.2 确认作业是在运行还是被挂起
11.2.3 查看多项作业列表
11.2.4 改变作业的状态
11.2.5 调用最新的作业
11.2.6 从作业列表中调用作业
11.2.7 把指定的挂起作业移到后台
11.2.8 终止特定作业
11.3 作业停止时退出
11.4 小结
第12章 管理、打印与归档大文件
12.1 使用vi安全地查看长文件
12.1.1 建立长文件
12.1.2 高效安全地查看文件
12.2 分割大文件
12.3 分页长文件
12.3.1 文件的分页及打印
12.3.2 多份文件的分页及打印
12.3.3 修改页面布局
12.4 根据需要打印
12.4.1 打印文件
12.4.2 打印管道的输出
12.4.3 把打印作业发送到不同的打印机
12.4.4 打印多个副本
12.4.5 在标志页增加标题行
12.4.6 检查打印作业状态
12.4.7 取消打印请求
12.5 使用find定位文件
12.5.1 通过文件名定位文件
12.5.2 通过所有者定位文件
12.5.3 把find的输出另存为文件
12.5.4 重定向find的错误消息
12.5.5 通过所有者定位井删除文件
12.6 长文件归档
12.6.1 向/从软盘复制文件
12.6.2 建立档案文件
12.7 备份和归档实用程序
12.7.1 从/向介质传送文件
12.7.2 无压缩地归档和恢复文件
12.7.3 压缩和解压缩文件及文件包
12.7.4 文件压缩及归档
12.8 小结
第II部分 使用实用程序进行shell编程
第13章 特殊字符与编程结构
13.1 特殊字符的shell解释
13.1.1 解释或不解释特殊字符
13.1.2 开启和关闭解释
13.1.3 检查引用特殊字符的作用
13.1.4 解释控制字符小结
13.1.5 向实用程序传递特殊字符
13.2 shell的编程特征
13.2.1 向脚本传递参数
13.2.2 根据用户的输入信息创建变量
13.2.3 使用let进行数学运算
13.2.4 在shell中作决定
13.2.5 if…then…else
13.2.6 根据结束值作出判断
13.2.7 for…do
13.2.8 while…do…
13.2.9 分支
13.3 创建shell脚本
13.3.1 建立一个使用参数的简单脚本
13.3.2 建立一个能询问和回应用户要求的脚本
13.4 小结
第14章 使用别名和函数
14.1 使用临时别名
14.1.1 建立命令别名
14.1.2 建立包含命令选项的别名
14.1.3 列出已定义的别名
14.1.4 研究别名如何工作
14.1.5 为别名添加命令行标记
14.1.6 使用原命令而非其别名
14.1.7 删除临时别名
14.1.8 覆盖别名
14.1.9 取消临时别名
14.2 建立永久别名
14.2.1 保存别名
14.2.2 建立永久别名
14.3 使用复杂别名
14.4 防止别名循环
14.4.1 定义一个别名循环
14.4.2 在Korn shell中的别名循环
14.5 在C shell中向别名传递参数
14.5.1 在C Shel中向别名传递一个参数
14.5.2 在C shell中向别名传递多个参数
14.6 在bash shell和ksh shell中使用函数
14.6.1 在命令行定义和使用函数
14.6.2 使用函数定义文件
14.6.3 在命令行定义复杂函数
14.7 小结
第15章 用grep选择行和正则表达式
15.1 创建一个示例文件
15.2 改变grep搜索行的方式和位置
15.2.1 查找模式而非单词
15.2.2 搜索目录下的多个文件
15.2.3 显示匹配行的行号
15.2.4 在目录树下搜索所有的文件
15.2.5 只列出目录下包含了匹配文件的文件名
15.2.6 对匹配数计数
15.2.7 整行匹配
15.2.8 搜索不匹配的行
15.2.9 定位包含了减号的目标
15.3 使用基本的元字符搜索行
15.3.1 选择开始部分有某种模式的行
15.3.2 定位在末尾有某种模式的行
15.3.3 定位特定内容的行
15.3.4 搜索可选择字符
15.3.5 搜索时忽略字母的大小写
15.3.6 匹配任意字符
15.3.7 搜索单一字符
15.3.8 指示grep将无字符作为普通字符
15.3.9 指示grep不解释元字符
15.3.10 定位确定的单词
15.4 定位集合中的字符
15.4.1 定位字符范围
15.4.2 指定目标集合
15.4.3 同时使用范围和列表搜索行
15.4.4 搜索指定的目标
15.4.5 搜索不在集合中的字符
15.4.6 使用方括号按照元字符的字面意思搜索
15.4.7 搜索重复字符
15.4.8 匹配任意数量的任意字符
15.4.9 使用复杂的正则表达式
15.5 grep、egrep和fgrep的比较
15.5.1 选择同时匹配两个准则的行
15.5.2 选择匹配多个目标之一的行
15.5.3 搜索在命令文件中列出的目标
15.5.4 在egrep中使用扩展表达式
15.5.5 指定目标确切的匹配次数
15.5.6 grep实用程序家族小结
15.5.7 grep小结
15.6 小结
第16章 使用sed编辑数据流
16.1 建立示例文件
16.2 找到匹配的指定文本或行号后退出sed
16.2.1 找到指定行号的行后退出
16.2.2 在找到包含匹配模式的第一行后退出
16.2.3 使用正则表达式退出
16.3 从文件副本中删除行
16.3.1 通过行号删除行
16.3.2 通过指定范围删除行
16.3.3 通过匹配内容删除行
16.3.4 通过正则表达式删除行
16.4 对指定文本进行基本替换
16.4.1 替换所有行中的第一个模式实例
16.4.2 替换模式的多个实例
16.5 显示选定的行
16.5.1 sed基本操作步骤小结
16.5.2 显示行号
16.5.3 通过行号显示行
16.5.4 显示不匹配的行
16.5.5 显示替换行
16.5.6 隔行显示
16.5.7 显示通过内容选定的行
16.6 执行复杂替换和显示
16.6.1 仅显示进行了替换的行
16.6.2 在一定范围内进行替换
16.6.3 在替换中使用上下文地址
16.6.4 使用数字/上下文组合地址
16.7 从sed读写文件
16.7.1 在文件中指定地址读取文本
16.7.2 把行写入其他文件
16.8 向sed传递多个指令
16.8.1 在命令行输入多个指令
16.8.2 将多个指令写入命令文件
16.8.3 使用sed在命令文件中添加文本
16.9 sed的工作方式
16.9.1 执行多重命令
16.9.2 研究流程
16.10 小结
第17章 使用awk操作数据
17.1 使用awk选择记录
17.1.1 运行awk命令的示例
17.1.2 awk命令的语法
17.2 使用awk操作数据库
17.2.1 组织数据库中的各元素
17.2.2 输出数据库中的一个字段元素
17.2.3 使用awk的预定义变量
17.2.4 显示多个字段
17.2.5 在awk输出的结果中插入空格
17.2.6 选择所有字段
17.2.7 识别变量和字符串
17.2.8 使用数字
17.2.9 识别字段定界符和记录定界符
17.2.10 使用选项改变宇段定界符
17.3 使用正则表达式选择记录
17.4 使用指定的数据库元素选择记录
17.4.1 使用字段值选择行
17.4.2 使用逻辑“与”进行匹配
17.4.3 使用逻辑“或”进行匹配
17.4.4 谨慎使用数字
17.4.5 运用表达式限定作为搜索字段选择记录
17.4.6 使用逻辑“非”运算符
17.5 创建和使用awk命令文件
17.5.1 创建一个最简单的命令文件
17.5.2 指示awk读取一个命令文件
17.5.3 使用记录序号选择记录
17.5.4 在命令文件中指定输入字段定界符
17.5.5 使用不同的输出字段定界符
17.5.6 识别输出记录的定界符
17.5.7 使用不同的输入记录定界符
17.6 增强awk程序的可读性
17.6.1 格式化awk命令文件
17.6.2 使用变量增强程序的可读性
17.6.3 使用Print命令输出更多的文本信息
17.6.4 利用双引号把变量名变成普通字符串
17.7 在awk中运行数学运算
17.7.1 减法运算
17.7.2 加法运算
17.7.3 乘法运算
17.7.4 在print命令之外进行除法运算
17.7.5 求和运算
17.7.6 组合运算符+= 
17.8 用printf命令格式化输出数据
17.8.1 输出字符串
17.8.2 左对齐和右对齐
17.8.3 对齐小数点及限制数字输出的位数
17.9 使用BIGIN模式和END模式
17.9.1 在命令文件中使用BEGIN命令
17.9.2 在命令文件中使用END命令
17.10 小结
第18章 shell编程
18.1 在菜单中交互选择选项
18.1.1 在屏幕上显示行
18.1.2 调试脚本
18.1.3 使用case语句处理多个选择
18.1.4 使用while建立循环脚本
18.1.5 清屏
18.1.6 暂停脚本
18.1.7 等待用户响应
18.1.8 选择无效项的处理
18.1.9 增加一个条件来显示文件
18.1.10 使用if语句避免错误
18.1.11 对多个对象重复一个动作
18.1.12 在菜单脚本中使用for循环
18.1.13 从echo语句中删除新行
18.1.14 使用其他退出方式
18.1.15 使完成的代码更容易阅读
18.1.16 显式调用shell来解释脚本
18.2 建立备份脚本
18.2.1 备份文件到目录
18.2.2 确认文件可读
18.2.3 判断目标目录是否存在
18.3 在脚本中使用选项
18.3.1 运行脚本中的全部语句
18.3.2 通过命令行选项选择代码
18.3.3 在选项中包括参数
18.3.4 通过参数进行计算
18.3.5 使用getopts选择功能项
18.4 在bash shell或ksh shell中使用函数
18.5 小结
第19章 使用多个实用程序进行shell编程
19.1 建立一个电话查找脚本
19.1.1 查找电话数据库
19.1.2 建立搜索脚本
19.1.3 解释多个单词参数
19.1.4 不解释空格
19.1.5 执行多重搜索
19.1.6 传递单独参数
19.1.7 删除重复输出的行
19.2 建立一个复杂的组成员脚本
19.2.1 搜索文件中的登录名字符串
19.2.2 在指定字段搜索匹配项
19.2.3 定位组ID
19.2.4 引用特殊字符
19.2.5 获得运行脚本的用户的组ID
19.2.6 将用户定义数据传递到脚本中
19.2.7 确定组成员
19.2.8 提取全部组成员的登录名
19.2.9 使用命令替换获得组ID
19.2.10 确定所有已登录的组成员
19.2.11 建立已登录组成员文件
19.2.12 定位已登录的组成员
19.2.13 使用标准输入
19.2.14 开发可处理错误的脚本
19.2.15 检查无效登录名
19.2.16 groupon的主要部分
19.3 建立一个项目管理的复杂脚本
19.3.1 管理团队丁作
19.3.2 向文件中添加数据
19.3.3 通过规划和递增式开发建立脚本
19.4 总结
第20章 修改用户环境
20.1 使用shell控制文件
20.1.1 获得最新启动文件
20.1.2 定制Bourne Shell
20.1.3 修改ksh的工作方式
20.1.4 定制bash shel
20.1.5 定制csh
20.1.6 定制tsch shell 
20.2 合理使用控制文件
20.2.1 确定控制文件在何时使用
20.2.2 读取别名文件
20.2.3 确定启动时读取的其他文件
20.3 定制系统与您交互
20.4 为快捷方式建立变量
20.5 使用stty设置终端的输入输出选项
20.6 小结

本目录推荐