标题：Linux&Unix程序开发基础教程
基本信息
书名:Linux&Unix程序开发基础教程 
ISBN:730207404 
作者:(美)Sarwar Al-Saqabi 
出版社:清华大学出版社 
定价:32 
页数:254 
出版日期:2004-1-1 
版次: 1
开本:16开 
包装:精装
简介
本书是一本简明的编程读物，教授读者如何在LINUX和UNIX环境下编程。本书以回答问题的方式组织内容，并且假设读者以前没有编程经验。 作者一开始简要回顾了程序员日常使用的各种命令和实用工具，然后描述了任何在LINUX和UNIX环境下编程的人都可以得到的软件开发工具。这些软件开发工具包括用于管理对象文件库的实用工具、版本控制工具，以及用于调试和分析的工具。 
本书包括广泛的章节练习，以巩固和练习新学的命令和工具，并且附有问题解决手册（只有经过证实的老师才可以得到），这使得本书成为CS1/CS2的操作系统或软件工程?瓤纬痰睦硐虢滩摹? 
本书是一本简明的编程读物，教授读者如何在LINUX和UNIX环境下编程。本书以回答问题的方式组织内容，并且假设读者以前没有编程经验。 作者一开始简要回顾了程序员日常使用的各种命令和实用工具，然后描述了任何在LINUX和UNIX环境下编程的人都可以得到的软件开发工具。这些软件开发工具包括用于管理对象文件库的实用工具、版本控制工具，以及用于调试和分析的工具。 
本书包括广泛的章节练习，以巩固和练习新学的命令和工具，并且附有问题解决手册（只有经过证实的老师才可以得到），这使得本书成为CS1/CS2的操作系统或软件工程等课程的理想教材。
目录
第I部分 有效地使用LINUX和UNIX
第1章 LINUX和UNIX基础
1.1 简介
1.2 LINUX和UNIX操作系统简史
1.3 登录与退出过程
1.4 LINUX/UNIX shell
1.4.1 shell的搜索路径
1.4.2 各种shell的位置
1.4.3 选择符合需要的shell
1.4.4 改变shell的各种方式
1.4.5 shell启动文件与环境变量
1.5 一些重要的系统设置
1.6 对初学者有用的通用命令
1.6.1 显示当前时间和日期
1.6.2 显示文本文件
1.6.3 创建目录
1.6.4 显示目录
1.6.5 显示当前目录或主目录的名称
1.6.6 改变目录
1.6.7 删除目录
1.6.8 打印文件
1.6.9 获得帮助
1.6.10 更改密码
1.6.11 查看命令历史记录
1.6.12 显示日历
1.6.13 显示系统运行时间
1.7 shell元字符
1.8 Web资源
1.9 小结
1.10 问题
第2章 文件和文件处理
2.1 简介
2.2 LINUX/UNIX中的文件
2.3 文件系统结构
2.3.1 文件系统的组织
2.3.2 绝对路径名和相对路径名
2.3.3 主目录和当前工作目录
2.3.4 搜索路径
2.4 LINUX中的一些标准目录和文件
2.5 目录操作以及文件系统结构浏览
2.5.1 创建和删除目录
2.5.2 移动和复制目录
2.5.3 浏览文件系统结构并列出目录
2.6 文件处理
2.6.1 创建文件
2.6.2 显示某个文件的文件类型和数据类型
2.6.3 查看完整的文件
2.6.4 每次查看一页文件
2.6.5 查看文件的头部或尾部
2.6.6 显示NIS数据库
2.6.7 复制文件
2.6.8 文件的移动和重命名
2.6.9 移除/删除文件
2.6.10 确定文件大小
2.6.11 追加文件
2.6.12 合并文件
2.6.13 比较文件
2.6.14 压缩文件
2.6.15 搜索文件和命令
2.6.16 搜索文件
2.7 小结
2.8 问题
第3章 输入输出重定向
3.1 简介
3.2 标准文件. 文件描述符和标准文件的重定向
3.3 输入. 输出和错误重定向
3.3.1 输入重定向
3.3.2 输出重定向
3.3.3 错误重定向
3.3.4 在一个命令中进行标准输入. 标准输出和标准错误的重定向
3.3.5 给文件追加数据
3.4 LINUX/UNIX过滤器和管道
3.5 重定向与管道的组合
3.6 小结
3.7 问题
第4章 打印机控制
4.1 简介
4.2 LINUX/UNIX文件打印机制
4.3 打印机控制命令
4.4 打印文件
4.5 查找打印请求的状态
4.6 显示系统中的打印机名称
4.7 取消打印作业
4.8 打印机控制
4.9 小结
4.10 问题
第5章 文件安全
5.1 简介
5.2 基于访问权限的文件保护
5.2.1 用户类型
5.2.2 文件操作/访问权限的类型
5.2.3 默认文件访问权限
5.2.4 确定文件访问权限
5.2.5 更改文件访问权限
5.3 特别访问位
5.3.1 SUID位
5.3.2 SGID位
5.3.3 粘滞位
5.4 文件权限和类型
5.5 小结
5.6 问题
第6章 LINUX/UNIX进程
6.1 简介
6.2 进程. 作业以及守护进程
6.3 进程和作业控制
6.3.1 显示进程属性
6.3.2 前台. 后台和悬挂进程
6.3.3 显示作业
6.3.4 挂起和继续执行shell进程
6.3.5 按序运行命令和同时运行命令
6.3.6 命令和进程的非正常终止
6.4 LINUX/UNIX中的进程层次
6.5 在LINUX/UNIX中显示进程属性
6.6 小结
6.7 问题
第7章 文件系统的备份与恢复
7.1 简介
7.2 用tar归档和恢复文件
7.2.1 归档文件
7.2.2 恢复归档文件
7.2.3 复制目录层次
7.3 用tar格式发布软件
7.4 小结
7.5 问题
第II部分 LINUX/UNIX平台上的软件开发
第8章 程序开发过程
8.1 简介
8.2 计算机编程语言概述
8.3 编程语言和编程范式
8.3.1 编程语言
8.3.2 编程范式
8.4 编译过程
8.5 解释过程
8.6 C. C 和Java程序的编译
8.7 软件工程的生命周期
8.8 Web资源
8.9 小结
8.10 问题
第9章 代码生成工具
9.1 简介
9.2 生成程序源文件
9.3 源代码的缩排
9.4 编译C/C 程序
9.4.1 编译多个源文件
9.4.2 链接库
9.4.3 优化可执行代码
9.4.4 在命令行中定义宏
9.4.5 关闭编译. 汇编或链接
9.5 编译C 程序
9.6 编译Java程序
9.7 灾难性编译程序命令和典型的编译时错误
9.8 编译和解释其他编程语言的程序
9.9 Web资源
9.10 小结
9.11 问题
第10章 多模块软件的编译和链接
10.1 简介
10.2 make实用程序
10.2.1 Makefile和Make Rules
10.2.2 多模块软件. 依赖树和make
10.2.3 后缀（默认）规则
10.2.4 make实用程序对宏的支持
10.2.5 内建宏
10.2.6 虚目标
10.2.7 特殊目标
10.2.8 一般性语法错误及其纠正措施
10.2.9 命令行的使用和调试
10.3 Web资源
10.4 小结
10.5 问题
第11章 库的开发. 调试和使用
11.1 简介
11.2 库的使用
11.3 ar实用程序
11.3.1 创建和追加归档
11.3.2 显示目录
11.3.3 从归档中删除目标模块
11.3.4 从归档中提取目标模块
11.3.5 排序归档
11.3.6 库的安装
11.4 nm实用程序
11.5 Web资源
11.6 小结
11.7 问题
第12章 源代码调试
12.1 简介
12.2 源代码调试
12.2.1 使用printf或cout
12.2.2 使用调试工具
12.3 调试过程
12.4 GNU调试器gdb
12.5 调试进程
12.6 用核心文件运行崩溃程序
12.7 用gdb调试Java程序
12.8 在Emacs下使用gdb
12.9 软件测试
12.10 Web资源
12.11 小结
12.12 问题
第13章 软件剖析和度量
13.1 简介
13.2 软件度量及作用
13.3 剖析C/C 程序
13.3.1 使用gprof的步骤
13.3.2 分析gprof的输出结果
13.4 优化软件
13.5 软件度量：大小和运行时间
13.5.1 源代码和可执行程序的大小
13.5.2 程序的运行时间
13.6 Web资源
13.7 小结
13.8 问题
第14章 RCS和CVS的版本控制
14.1 简介
14.2 版本控制系统（RCS）
14.2.1 使用RCS
14.2.2 创建RCS历史文件
14.2.3 检出RCS文件
14.2.4 新建文件版本
14.2.5 检出特定版本的副本
14.2.6 放弃更改
14.2.7 不覆盖锁定文件（小心出错）
14.2.8 删除一个版本
14.2.9 在组内工作
14.2.10 显示RCS文件的历史
14.2.11 解锁
14.2.12 显示版本之间的区别
14.2.13 合并版本
14.2.14 限制对RCS的访问权限
14.2.15 RCS特殊字符序列
14.2.16 各类RCS实用程序
14.2.17 在emacs中使用RCS
14.2.18 超出RCS
14.3 并发版本系统（CVS）
14.3.1 CVS命令语法
14.3.2 显示CVS帮助
14.3.3 创建源码存储库
14.3.4 将源码引入到源码存储库
14.3.5 检出源文件
14.3.6 更改源文件并提交更改
14.3.7 在存储库中添加新文件和新目录
14.3.8 删除源码存储库中的文件和目录
14.3.9 冻结和提取版本
14.3.10 显示区别
14.3.11 显示日志历史
14.3.12 CVS特殊字符序列
14.3.13 完成报到的清理工作
14.3.14 远程存储库和通过客户端访问它们
14.3.15 在emacs中使用CVS
14.3.16 CVS的重要方面
14.3.17 获得和安装CVS
14.4 Web资源
14.5 小结
14.6 问题
第III部分 附录
附录A 使用vi和pico编辑文本文件
附录B 电子邮件
术语表