内容简介
第1章 初学UNIX
1.1起步
1.1.1有关终端和输入的一些预备知识
1.1.2与UNIX会话
1.1.3登录
1.1.4键入命令
1.1.5异常的终端行为
1.1.6键入错误
1.1.7继续键入
1.1.8中止程序
1.1.9注销
1.1.10邮件
1.1.11用户间通信
1.1.12新闻
1.1.13手册
1.1.14计算机辅助教学
1.1.15游戏
1.2文件和常用命令
1.2.1创建文件
1.2.2列出文件
1.2.3显示文件
1.2.4移动、复制和删除文件
1.2.5文件名
1.2.6有用的命令
1.2.7文件系统命令小结
1.3目录
1.4 shell
1.4.1文件名简写
1.4.2 I/O重定向
1.4.3管道
1.4.4进程
1.4.5剪裁环境
1.5 UNIX系统的其余部分
相关历史和文献
第2章 文件系统
2.1文件系统的基础
2.2文件结构
2.3目录和文件名
2.4权限
2.5 i节点
2.6目录层次
2.7设备
相关历史和文献
第3章 shell的使用
3.1命令行结构
3.2元字符
3.3创建新命令
3.4命令参数
3.5程序输出作为参数
3.6 shell变量
3.7进一步讨论I/O重定向
3.8 shell程序里的循环
3.9 bundle合并
3.10为什么说shell是可编程的
相关历史和文献
第4章 过滤程序
4.1 grep家族
4.2其他过滤程序
4.3流编辑程序sed
4.4模式扫描与处理语言awk
4.4.1字段
4.4.2打印
4.4.3模式
4.4.4 BEGIN与END模式
4.4.5算术运算与变量
4.4.6控制流
4.4.7数组
4.4.8关联数组
4.4.9字符串
4.4.10与shell的交互作用
4.4.11基于awk的日历服务
4.4.12附注
4.5好的文件与好的过滤程序
相关历史和文献
第5章 shell程序设计
5.1定制cal命令
5.2 which
5.3 while和until循环:观察情况
5.4trap:捕获中断
5.5 overwrite:改写文件
5.6 zap:使用名字终止进程
5.7 pick命令:空格和参数
5.8 news命令:社团服务信息
5.9 get和put:追踪文件变动
5.10后记
相关历史和文献
第6章 使用标准I/O编程
6.1 vis:标准I/O
6.2 vis第2版:程序参数
6.3 vis第3版:访问文件
6.4 p:一次显示一屏
6.5示例:pick
6.6错误与调试
6.7示例:zap
6.8 idiff:交互式文件比较程序
6.9获取环境变量
相关历史和文献
第7章 UNIX系统调用
7.1低级I/O
7.1.1文件描述符
7.1.2文件I/O:read和write
7.1.3创建文件:open、creat、close、unlink
7.1.4错误处理:errno
7.1.5随机访问:lseek
7.2文件系统:目录
7.3文件系统:i节点
7.4进程
7.4.1创建低进程:execlp和execvp
7.4.2控制进程:fork和wait
7.5信号和中断
相关历史和文献
第8章 程序开发
8.1第一阶段:四则运算器
8.1.1文法
8.1.2 yacc概述
8.1.3第一阶段的程序
8.1.4修改程序——增加一元减
8.1.5关于make
8.2第二阶段:变量和错误恢复
8.3第三阶段:任意变量名和内部函数
8.3.1再谈make
8.3.2关于lex
8.4第四阶段:编译到机器
8.5第五阶段:控制流和关系运算符
8.6第六阶段:函数、过程和I/O
8.7性能评价
8.8小结
相关历史和文献
第9章 文档处理
9.1宏程序包ms
9.1.1显示
9.1.2改变字体
9.1.3其他命令
9.1.4宏程序包mm
9.2 troff
9.2.1字符名
9.2.2改变字体和尺寸
9.2.3基本t roff命令
9.2.4定义宏
9.3tbl与eqn预处理器
9.3.1表格
9.3.2数学表达式
9.3.3输出
9.4排印手册
9.5其他文档处理工具
相关历史和文献
结束语
附录A 编辑器概述
附录B hoc手册
附录C hoc清单