本书对UNIX操作系统的编程环境做了详细而深入的讨论,内容包括UNIX的文件系统、Shell、过滤程序、I/O编程、系统调用等,并对UNIX中的程序开发方法做了有针对性的指导。本书内容深入浅出,实例丰富,无论是UNIX系统的初学者还是专业人员都可从本书受益。本书亦可作为大学生、研究生学习UNIX的教材。
目录:
目录回到顶部↑
目 录
译者序
序言
第1章 初学UNIX 1
1.1 起步 1
1.1.1 有关终端和击键的一些
预备知识 1
1.1.2 与UNIX会话 2
1.1.3 登录 3
1.1.4 键入命令 3
1.1.5 异常的终端行为 4
1.1.6 键入错误 4
1.1.7 继续键入 5
1.1.8 中止程序 5
1.1.9 注销 6
1.1.10 邮件 6
1.1.11 用户间通信 6
1.1.12 新闻 7
1.1.13 手册 7
1.1.14 计算机辅助教学 8
.1.1.15 游戏 8
1.2 文件和常用命令 8
1.2.1 创建文件 8
1.2.2 列出文件 9
1.2.3 打印文件 11
1.2.4 移动、复制和删除文件 12
1.2.5 文件名 13
1.2.6 有用的命令 13
1.2.7 文件系统命令小结 15
1.3 目录 16
1.4 shell 19
1.4.1 文件名简写 19
1.4.2 I/O重定向 21
1.4.3 管道 23
1.4.4 进程 24
1.4.5 剪裁环境 26
1.5 UNIX系统的其余部分 28
第2章 文件系统 30
2.1 文件系统的基础 30
2.2 文件结构 33
2.3 目录和文件名 35
2.4 权限 37
2.5 I节点 41
2.6 目录层次 45
2.7 设备 47
第3章 shell的使用 51
3.1 命令行结构 51
3.2 元字符 53
3.3 创建新命令 57
3.4 命令参数 59
3.5 程序输出作为参数 62
3.6 shell变量 63
3.7 进一步讨论I/O重定向 66
3.8 shell程序里的循环 68
3.9 bundle合并 69
3.10 为什么说shell是可编程的 71
第4章 过滤程序 72
4.1 grep系列 72
4.2 其他过滤程序 75
4.3 流编辑程序sed 77
4.4 模式扫描与处理语言awk 81
4.4.1 字段 82
4.4.2 打印 83
4.4.3 模式 83
4.4.4 BEGIN与END模式 84
4.4.5 算术运算与变量 84
4.4.6 控制流 86
4.4.7 数组 87
4.4.8 关联数组 88
4.4.9 字符串 89
4.4.10 与shell的交互作用 91
4.4.11 基于awk的日历服务 91
4.4.12 附注 94
4.5 好的文件与过滤程序 94
第5章 shell编程 96
5.1 定制cal命令 96
5.2 which命令 100
5.3 while和until循环 104
5.4 trap:捕获中断 109
5.5 overwrite:改写文件 110
5.6 zap:使用名字终止进程 114
5.7 pick命令:空格和参数 116
5.8 news命令:社团服务信息 118
5.9 get和put:追踪文件变动 120
5.10 小结 124
第6章 使用标准I/O编程 126
6.1 vis:标准I/O 126
6.2 vis第2版:程序参数 128
6.3 vis第3版:访问文件 130
6.4 p:一次显示一屏 133
6.5 pick 137
6.6 错误与调试 137
6.7 zap 139
6.8 idiff:交互式文件比较程序 141
6.9 获取环境变量 145
第7章 UNIX系统调用 147
7.1 低级I/O 147
7.1.1 文件描述符 147
7.1.2 文件I/O 148
7.1.3 创建文件 149
7.1.4 错误处理 151
7.1.5 随机访问 151
7.2 文件系统:目录 152
7.3 文件系统:I节点 156
7.4 进程 160
7.4.1 创建低级进程 160
7.4.2 控制进程 161
7.5 信号和中断 164
第8章 程序开发 169
8.1 第一阶段:四功能计算器 169
8.1.1 语法 170
8.1.2 yacc概述 170
8.1.3 第一阶段的程序 171
8.1.4 在程序中增加单目减 174
8.1.5 关于make 175
8.2 第二阶段:变量和错误恢复 175
8.3 第三阶段:任意变量名和内部函数 178
8.3.1 再谈make 184
8.3.2 关于lex 185
8.4 第四阶段:编译成机器 187
8.5 第五阶段:控制流和关系运算符 193
8.6 第六阶段:函数、过程和I/O 197
8.7 性能评价 205
8.8 小结 206
第9章 文档处理 208
9.1 宏程序包ms 209
9.1.1 阵列文本 211
9.1.2 改变字体 212
9.1.3 其他命令 212
9.1.4 宏程序包mm 214
9.2 troff 214
9.2.1 字符 214
9.2.2 改变字体和尺寸 215
9.2.3 基本troff命令 216
9.2.4 定义宏 217
9.3 tbl和eqn预处理程序 217
9.3.1 表格 218
9.3.2 数学表达式 219
9.3.3 输出 220
9.4 排印手册 222
9.5 其他文档处理工具 225
第10章 结束语 228
附录A 编辑器概述 230
附录B hoc手册 239
附录C hoc清单 243