Unix Shell 编程(第三版)
本书是UnixShell编程方面的经典书籍。第3版以Unix Shell的最新POSIX标准Shell为主线,同时,在必要的情况下,及时指出与其他流行Shell的区别,因此,本书对其他版本Shell的编程也具有重要的借鉴意义。 本书的特点: 前后衔接:循序渐进 本书的特点之一是:虽然是按主题组织介绍。但各主题之间并非彼此独立。后面的主题经常使用到前面讲到过的知识。因此给人以非常深刻的渐进和整体的感觉。 简易明了的举例说明 本书最大的特点是举例说明。书中没有长篇的概念描述,而是在简单介绍后举出适当的例子,简易明了。例子的后面,经常有一些针对要点的说明,比如,为什么用某一条命令,输出结果为什么是这样,或者解释程序的结构或执行顺序等,可以帮助读者加深理解。 ·本书以POSIX标准Shell为讲解对象,介绍了用Unix Shell编写程序所涉及到的方方面面。包括Unix基本命令、Shell编程要用到的主要工具、Shell程序的基本内容以及子Shell编程中的高级特性。 ·一个程序有多种实现方法,本书分别采用不同的编程方法实现同一功能,读者通过研究不断改进的程序范例,不但可以学到相关的编程技巧,更可以学到编写Shell程序的思想和方法 。 ·本书译者袁科萍老师曾在美国纽约大学作为客座教授,从事计算机科学的教学和研究工作多年,樊庆红是计算机专业开发人员,有多年从事大型软件项目的开发和管理经验。 ·本书除了对有一定Unix实践经验,并希望进一步提高的人有很大帮助以外;对Unix初学者和打算学习Unix的人而言也是不错的选择。 编辑本段目录 第1章 概述 第2章 基础知识快速回顾 2-1 一些基本命令 2-1-1 显示时间和日期:date命令 2-1-2 查看登录系统的用户:who命令 2-1-3 显示字符:echo命令 2-2 文件操作 2-2-1 列出文件清单:ls命令 2-2-2 显示文件内容:cat命令 2-2-3 统计文件中的单词数:WC命令 2-2-4 命令选项 2-2-5 复制文件:cp命令 2-2-6 文件重命名:mv命令 2-2-7 删除文件:rm命令 2-3 目录操作 2-3-1 宿主目录和路径名 2-3-2 显示工作目录:pwd命令 2-3-3 改变当前工作目录:cd命令 2-3-4 进一步讨论ls命令 2-3-5 创建目录:mkdir命令 2-3-6 在目录之间复制文件 2-3-7 在目录之间移动文件 2-3-8 链接文件:ln命令 2-3-9 删除目录:rmdir命令 2-4 文件名替换 2-4-1 星号 2-4-2 单字符匹配 2-5 标准输入/输出以及输入/输出重定向 2-5-1 标准输入和标准输出 2-5-2 输出重定向 2-5-3 输入重定向 2-6 管道 2-7 标准错误 2-8 有关命令的深入讨论 2-8-1 一行键入多条命令 2-8-2 命令发送到后台 2-8-3 ps命令 2-9 命令小结 2-10 练习 第3章 什么是Shell 3-1 内核和实用程序 3-2 登录Shell 3-3 向Shell键入命令 3-4 Shell的职责 3-4-1 执行程序 3-4-2 变量和文件名的替换 3-4-3 I/O重定向 3-4-4 管道线连接 3-4-5 环境控制 3-4-6 解释型程序设计语言 第4章 工具 4-1 正规表达式 4-1-1 匹配任何字符:句点 . 4-1-2 匹配行首:^符号 4-1-3 匹配文件尾:美元符号 $ 4-1-4 匹配字符组之一:[…]结构 4-1-5 匹配零或若干个字符:星号 * 4-1-6 匹配精确数目的字符串:\ …\ 4-1-7 保存匹配的字符串:\ …\ 4-2 cut 4-3 paste 4-3-1 -d选项 4-3-2 -s选项 4-4 sed 4-4-1 -n选项 4-4-2 删除行 4-5 tr 4-5-1 -s选项 4-5-2 -d选项 4-6 grep 4-6-1 grep与正规表达式 4-6-2 -v选项 4-6-3 -1选项 4-6-4 -n选项 4-7 sort 4-7-1 -u选项 4-7-2 -r选项 4-7-3 -o选项 4-7-4 -n选项 4-7-5 跳过字段 4-7-6 -t选项 4-7-7 其他选项 4-8 uniq 4-8-1 -d选项 4-8-2 其他选项 4-9 练习 第5章 Shell编程初步 5-1 命令文件 5-2 变量 5-2-1 示变量的值 5-2-2 空值 5-2-3 文件名替换和变量 5-2-4 $ variable 结构 5-3 内部的整数算术运算 5-4 练习 第6章 引用 6-1 单引号 6-2 双引号 6-3 反斜杠 6-3-1 用反斜杠续行 6-3-2 双引号中的反斜杠 6-4 命令替换 6-4-1 反引号 6-4-2 $ … 结构 6-4-3 expr命令 6-5 练习 第7章 参数传递 7-1 $#变量 7-2 铲变量 7-3 在电话簿中查找某个人的程序 7-4 向电话簿中增加某人的程序 7-5 从电话簿中去掉某个人的程序 7-6 $ n 7-7 shift命令 7-8 练习 第8章 判断 8-1 退出状态 8-1-1 $ 变量 8-2 test命令 8-2-1 字符串操作符 8-2-2 test的另一种格式 8-2-3 整数操作符 8-2-4 文件操作符 8-2-5 逻辑非操作符1 8-2-6 逻辑与操作符-a 8-2-7 小括号 8-2-8 逻辑或操作符-o 8-3 else结构 8-4 exit命令 8-5 elif结构 8-6 case命令 8-6-1 特殊模式匹配字符 8-6-2 调试程序用的-x选项 8-6-3 再回到case 8-7 空命令 8-8 &&和‖结构 8-9 练习 第9章 循环 9-1 for命令 9-1-1 $@变量 9-1-2 不带列表的for命令 9-2 while命令 9-3 until命令 9-4 进一步讨论循环 9-4-1 中断循环 9-4-2 跳过循环中的后续命令 9-4-3 在后台执行循环 9-4-4 循环中的输入/输出重定向 9-4-5 通过管道向循环输入数据或接受循环的输出数据 9-4-6 在单行中键入循环命令 9-5 Getopts命令 9-6 练习 第10章 数据的读入和显示 10-1 read命令 10-1-1 复制文件的程序 10-1-2 echo中的特殊转义符 10-1-3 mycp的改进版本 10-1-4 mycp的最终版本 10-1-5 菜单驱动的电话簿程序 10-1-6 $$变量和临时文件 10-1-7 read的退出状态 10-2 printf命令 10-3 练习 第11章 环境 11-1 局部变量 11-2 导出变量 11-3 PS1和PS2 11-4 HOME, James 11-5 PATH 11-6 当前目录 11-7 再谈子shell 11-7-1 命令 11-7-2 exec命令 11-7-3 … 和 …, 结构 11-7-4 给子shell传递变量的另一种方法 11-8 . profile文件 11-9 TERM变量 11-10 TZ变量 11-11 练习 第12章 深入参数 12-1 参数替换 12-1-1 $ Farameter 12-1-2 S parameter:-value 12-1-3 S parameter:=value 12-1-4 S parameter: value 12-1-5 S parameter: value 12-2 模式匹配结构 12-3 $0变量 12-4 set命令 12-4-1 -x选项 12-4-2 没有参数的set命令 12-4-3 用set命令重新设置位置参数 12-4-4 -选项 12-4-5 set的其他选项 12-5 IFS变量 12-6 readonly命令 12-7 unset命令 12-8 练习 第13章 杂项 13-1 eval命令 13-2 wait命令 13-3 trap命令 13-3-1 无参数trap 13-3-2 忽略信号 13-3-3 复位陷阱 13-4 深入I/0 13-4-1 &- 13-4-2 内联输入重定向 13-4-3 shell档案文件 13-5 函数 13-5-1 去除函数定义 13-5-2 retum命令 13-6 type命令 13-7 练习 第14章 再谈Rolo程序 14-1 设计思想 14-1-1 rolo 14-1-2 add 14-1-3 lu 14-1-4 display 14-1-5 rem 14-1-6 change 14-1-7 listall 14-2 示例输出 14-3 练习 第15章 shell的交互和非标准特性 15-1 得到合适的shell 15-2 ENV文件 15-3 命令行编辑 15-4 命令历史记录 15-5 Vi行编辑模式 15-6 emacs行编辑模式 15-7 访问历史记录的其他方式 15-7-1 history命令 15-7-2 fc命令 15-7-3 r命令 15-8 函数 15-8-1 局部变量 15-8-2 自动装载函数 15-9 整数算术操作 15-9-1 整型类型 15-9-2 不同进制的数字 15-10 alias命令 15-11 数组 15-12 作业控制 15-13 受限shellrsh 15-14 其他杂项特性 15-14-1 cd命令的其他特性 15-14-2 代字符替换 15-14-3 搜索顺序 15-15 兼容性总结 15-16 练习 附录A shell总结 A-1 启动 A-2 命令 A-3 注释 A-4 参数和变量 A-4-1 shell变量 A-4-2 位置参数 A-4-3 特殊参数 A-4-4 参数替换 A-5 命令重返 A-5-1 fc命令 A-5-2 vi行编辑模式 A-6 引用 A-6-1 代字符替换 A-6-2 算术表达式 A-7 文件名替换 A-8 输入/输出重定向 A-9 导出变量和子shell执行 A-9-1 … 结构 A-9-2 …, 结构 A-9-3 深入shell变量 A-10 函数 A-11 作业控制 A-11-1 shell作业 A-11-2 停止作业 A-12 命令总结 A-12-1 :命令 A-12-2 . 命令 A-12-3 alias命令 A-12-4 bg命令 A-12-5 break命令 A-12-6 case命令 A-12-7 cd命令 A-12-8 continue命令 A-12-9 echo命令 A-12-10 eval命令 A-12-11 exec命令 A-12-12 exit命令 A-12-13 export命令 A-12-14 false命令 A-12-15 fc命令 A-12-16 f2命令 A-12-17 for命令 A-12-18 getopts命令 A-12-19 hash命令 A-12-20 if命令 A-12-21 iobs命令 A-12-22 kill命令 A-12-23 newgrp命令 A-12-24 pwd命令 A-12-25 read命令 A-12-26 readonly命令 A-12-27 return命令 A-12-28 set命令 A-12-29 shift命令 A-12-30 test命令 A-12-31 times命令 A-12-32 trap命令 A-12-33 true命令 A-12-34 type命令 A-12-35 umask命令 A-12-36 unalias命令 A-12-37 unset命令 A-12-38 until命令 A-12-39 wait命令 A-12-40 while命令 附录B 补充信息 B-1 联机文档 B-2 Web上的文档 B-3 书籍 B-3-1 O''Reillv&Associates B-3-2 Sams and Que B-3-3 其他出版物
用户评论
非常基础,而且内容挺全,适合入门。
很好。good
很不错的工具书,入门很有用。