UNIX编程环境.pdf

UNIX编程环境.pdf
 

书籍描述

内容简介
  《UNIX编程环境》是关于在UNIX环境下进行程序设计的一本经典教科书。书中引用了大量编程实例,由浅入深地讲解了如何使用UNIX及其各种工具,以及如何用C语言在UNIX环境下写出高质量的程序。
  《UNIX编程环境》共9章,第1章为系统基础入门,第2章讨论UNIX文件系统,第3章讲述怎样按要求使用shell,第4章介绍过滤程序,第5章讨论如何使用shell编写程序,第6章讲述运用标准I/O库编写程序,第7章涉及系统调用,第8章讨论有关程序开发的工具,第9章讨论文档准备工具,附录A概括了标准编辑器ed,附录B列出了一个编程实例——计算器的语言参考手册,附录C是编程实例——计算器程序的最后源代码版本。
  《UNIX编程环境》适合作为大学院校相关专业的教科书,对于想深入掌握UNIX和C语言的程序设计人员是一本很好的参考书,本书也适合想学习和掌握Linux的人员阅读。

编辑推荐
《UNIX编程环境》是 UINX编程领域的经典畅销书。作者本着“授之以渔”的态度,不仅介绍了UNIX系统编程的基本技巧及编程规范,更是将UNIX的编程哲学融入其中,以帮助你更加深刻地理解UNIX系统。
《UNIX编程环境》是两位UNIX大师的合力之作,浸透了UNIX的设计思想,启发你体会编程方法、思想以及环境的奥秘。

媒体推荐
很实在的UNIX介绍图书。书中绝无生僻的角落,对于入门来说没有什么难以理解的。但是字里行间浸透了作者设计UNIX的指导思想,这一点是别的入门书无法企及的。书中提及的点滴都是实用的方法和准则,充斥于我们在UNIX上日常工作的各项细节,即使是有经验的用户学过此书后工作效率也会提升。
——豆瓣读者“维修各类UFO”

这是两位UNIX大师合著的关于UNIX编程方法、思想以及环境的书。是最好的UNIX/Linux入门教材。这本书不但可以带你走入UNIX世界,而且向你阐述了UNIX的简约派哲学。每次在书架上看到它,总有再读一遍的冲动。
——豆瓣读者“19011901”

本书是一本经典的编程读物,有很多有启发性的例子。 这本书更注重“编程思想”的建立,仔细阅读会对UNIX的理解大有帮助。
——豆瓣读者“夜的旅者”

虽然在UNIX上工作多年,但是重读这本书仍然能体会到作者在字里行间表达出的那种UNIX的正统思想。书不厚,值得多读几遍。
——豆瓣读者“Tony Bai”

作者简介
Brian W. Kernighan 是贝尔实验室计算科学研究中心高级研究人员,著名的计算机科学家。他参加了UNIX系统、C语言、AWK语言和许多其他系统的开发,同时出版了许多在计算机领域具有影响的著作,包括《The Elements of Programming Style》、《The Practice of Programming》等。

Rob Pike,目前谷歌公司最著名的软件工程师之一,曾是贝尔实验室Unix开发团队成员,Plan9操作系统开发的主要领导人,Inferno操作系统开发的主要领导人。他是缔造Go语言和Limbo语言的核心人物。

目录
目 录

第1章 初学UNIX 1
1.1 起步 2
1.1.1 有关终端和输入的一些预备知识 2
1.1.2 与UNIX会话 2
1.1.3 登录 3
1.1.4 键入命令 4
1.1.5 异常的终端行为 5
1.1.6 键入错误 5
1.1.7 继续键入 7
1.1.8 中止程序 7
1.1.9 注销 7
1.1.10 邮件 7
1.1.11 用户间通信 8
1.1.12 新闻 9
1.1.13 手册 9
1.1.14 计算机辅助教学 10
1.1.15 游戏 10
1.2 文件和常用命令 10
1.2.1 创建文件 10
1.2.2 列出文件 11
1.2.3 显示文件 13
1.2.4 移动、复制和删除文件 15
1.2.5 文件名 16
1.2.6 有用的命令 16
1.2.7 文件系统命令小结 19
1.3 目录 20
1.4 shell 24
1.4.1 文件名简写 24
1.4.2 I/O重定向 26
1.4.3 管道 29
1.4.4 进程 30
1.4.5 剪裁环境 33
1.5 UNIX系统的其余部分 35
相关历史和文献 36

第2章 文件系统 37
2.1 文件系统的基础 37
2.2 文件结构 41
2.3 目录和文件名 43
2.4 权限 47
2.5 i节点 52
2.6 目录层次 57
2.7 设备 59
相关历史和文献 63

第3章 shell的使用 64
3.1 命令行结构 64
3.2 元字符 67
3.3 创建新命令 72
3.4 命令参数 74
3.5 程序输出作为参数 77
3.6 shell变量 79
3.7 进一步讨论I/O重定向 83
3.8 shell程序里的循环 85
3.9 bundle合并 88
3.10 为什么说shell是可编程的 89
相关历史和文献 90

第4章 过滤程序 91
4.1 grep家族 92
4.2 其他过滤程序 95
4.3 流编辑程序sed 97
4.4 模式扫描与处理语言awk 103
4.4.1 字段 104
4.4.2 打印 105
4.4.3 模式 106
4.4.4 BEGIN与END模式 107
4.4.5 算术运算与变量 107
4.4.6 控制流 109
4.4.7 数组 111
4.4.8 关联数组 112
4.4.9 字符串 113
4.4.10 与shell的交互作用 115
4.4.11 基于awk的日历服务 116
4.4.12 附注 118
4.5 好的文件与好的过滤程序 119
相关历史和文献 120

第5章 shell程序设计 121
5.1 定制cal命令 121
5.2 which 126
5.3 while和until循环:观察情况 131
5.4 trap:捕获中断 136
5.5 overwrite:改写文件 139
5.6 zap:使用名字终止进程 143
5.7 pick命令:空格和参数 145
5.8 news命令:社团服务信息 148
5.9 get和put:追踪文件变动 150
5.10 后记 155
相关历史和文献 156

第6章 使用标准I/O编程 157
6.1 vis:标准I/O 158
6.2 vis第2版:程序参数 160
6.3 vis第3版:访问文件 162
6.4 p:一次显示一屏 166
6.5 示例:pick 171
6.6 错误与调试 172
6.7 示例:zap 174
6.8 idiff:交互式文件比较程序 177
6.9 获取环境变量 182
相关历史和文献 183

第7章 UNIX系统调用 184
7.1 低级I/O 184
7.1.1 文件描述符 184
7.1.2 文件I/O:read和write 185
7.1.3 创建文件:open、creat、close、unlink 187
7.1.4 错误处理:errno 189
7.1.5 随机访问:lseek 190
7.2 文件系统:目录 191
7.3 文件系统:i节点 196
7.4 进程 201
7.4.1 创建低级进程:execlp和execvp 201
7.4.2 控制进程:fork和wait 203
7.5 信号和中断 205
相关历史和文献 210

第8章 程序开发 212
8.1 第一阶段:四则运算器 213
8.1.1 文法 213
8.1.2 yacc概述 214
8.1.3 第一阶段的程序 215
8.1.4 修改程序——增加一元减 219
8.1.5 关于make 220
8.2 第二阶段:变量和错误恢复 220
8.3 第三阶段:任意变量名和内部函数 224
8.3.1 再谈make 232
8.3.2 关于lex 233
8.4 第四阶段:编译到机器 235
8.5 第五阶段:控制流和关系运算符 242
8.6 第六阶段:函数、过程和I/O 248
8.7 性能评价 257
8.8 小结 259
相关历史和文献 260

第9章 文档处理 261
9.1 宏程序包ms 262
9.1.1 显示 264
9.1.2 改变字体 266
9.1.3 其他命令 267
9.1.4 宏程序包mm 268
9.2 troff 269
9.2.1 字符名 269
9.2.2 改变字体和尺寸 271
9.2.3 基本troff命令 272
9.2.4 定义宏 273
9.3 tbl与eqn预处理器 273
9.3.1 表格 274
9.3.2 数学表达式 275
9.3.3 输出 277
9.4 排印手册 279
9.5 其他文档处理工具 283
相关历史和文献 284

结束语 286

附录A 编辑器概述 288
附录B hoc手册 299
附录C hoc清单 304

购买书籍

当当网购书 京东购书 卓越购书

PDF电子书下载地址

相关书籍

搜索更多