第一章 Linux系统概述 1
1.1 Linux的历史和发展 1
1.2 Linux的特点 4
1.3 Linux与自由软件 6
1.4 Linux软件开发模式 7
1.5 Linux版本现状 8
1.5.1 Red Hat Linux 9
1.5.2 Slack ware Linux 10
1.5.3 Debian Linux 11
1.6 Linux在中国 11
第二章 Linux的安装 13
2.1 安装准备工作 13
2.1.1 Red Hat Linux发行套件的成分 13
2.1.2 计算机的配置信息 13
2.1.3 安装方式 14
2.1.4 硬盘分区 14
2.1.5 制作启动软盘 15
2.2 安装过程 15
2.2.1 启动安装程序 16
2.2.2 选择所使用的语言 17
2.2.3 选择所用的键盘类型 17
2.2.4 选择一种安装方式 18
2.2.5 硬盘分区 19
2.2.6 文件系统配置 22
2.2.7 初始化交换空间 23
2.2.8 格式化分区 23
2.2.9 选择要安装的软件包 23
2.2.10 软件包的安装 26
2.2.11 配置鼠标和XFree86服务器 26
2.2.12 配置网络和TCP/IP协议 27
2.2.13 配置时钟 29
2.2.14 选择要启动的Services 30
2.2.15 配置打印机 30
2.2.16 设置root口令 34
2.2.17 安装过程中启动软盘的制作 34
2.2.18 安装LILO 35
2.3 加载引导程序LILO 37
2.3.1 配置LILO 38
2.3.2 设置引导参数 40
2.3.3 安装LILO 40
2.2.4 删除LILO 41
2.3.5 用LOADLIN 从DOS中引导 41
第三章 Linux使用入门 42
3.1 简单的Linux命令 42
3.1.1 注册和注销 42
3.1.2 设置和更改口令 43
3.1.3 联机求助 43
3.1.4 查询当前用户情况 44
3.1.5 不退出系统而使自己成为另一个用户 44
3.2 文件系统和文件管理 45
3.2.1 文件系统 45
3.2.2 目录管理 49
3.2.3 文件管理 50
3.3 全屏幕编辑器vi 55
3.3.1 vi的启动和退出 55
3.3.2 光标定位 56
3.3.3 建立文本 57
3.3.4 删除文本 57
3.3.5 修改文本 57
3.3.6 移动和复制文件 58
3.3.7 行编辑命令 59
3.3.8 特殊命令 60
3.4 文本处理命令 61
3.4.1 统计文件的行数、字数和字符数 61
3.4.2 文件比较命令diff 61
3.4.3 文件内容查询命令grep 63
3.4.4 查找文件命令find 64
3.5 进程控制 66
3.5.1 进程的概念 66
3.5.2 进程状态的查询 67
3.5.3 终止进程 69
3.5.4 后台进程 70
3.5.5 进程优先级 71
3.6 网络访问 72
3.6.1 远程登录命令telnet 72
3.6.2 远程文件传输ftp 73
3.6.3 r 系列的远程执行命令 76
3.7 DOS磁盘上的文件操作 77
3.7.1 在DOS盘和Linux之间复制文件 78
3.7.2 DOS盘上的文件操作 78
3.7.3 DOS盘上的目录操作 79
第四章 日常管理 80
4.1 系统的引导 80
4.1.1 引导方式 80
4.1.2 引导过程 81
4.1.3 init进程 82
4.2 关闭系统 83
4.3 Linux目录结构 84
4.3.1 根文件系统(/) 84
4.3.2 /usr文件系统 85
4.3.3 /var文件系统 86
4.3.4 /proc文件系统 86
4.4 设置系统时间 87
4.5 用户管理 87
4.5.1 增加用户 87
4.5.2 删除用户 88
4.5.3 增加用户组 89
4.5.4 删除用户组 89
4.5.5 设置用户工作环境 89
4.5.6 与用户通信 91
4.6 文件系统的维护和管理 92
4.6.1 文件系统的类型 92
4.6.2 建立文件系统 93
4.6.3 安装和拆卸文件系统 94
4.6.4 检查和修复文件系统 95
4.6.5 维护文件系统 96
4.7 存储管理 97
4.7.1 创建交换空间 98
4.7.2 使用swap空间 98
4.7.3 交换空间的分配原则 99
4.8 系统运行状态监控 100
4.8.1 查看系统统计信息 100
4.8.2 查看CPU使用信息 101
4.8.3 改变运行进程的优先级 102
4.9 软件包的安装 103
4.9.1 安装软件包 103
4.9.2 卸载软件包 104
4.9.3 更新软件包 105
4.9.4 查询软件包 105
4.9.5 验证软件包 106
4.10 系统安全性管理 106
4.10.1 文件权限 107
4.10.2 访问设备 107
4.10.3 root帐号 108
4.11 重新生成操作系统内核 109
4.12 数据备份 111
4.12.1 tar命令 111
4.12.2 cpio命令 112
4.12.3 dd命令 113
第五章 设备管理 115
5.1 增加一个新硬盘 115
5.1.1 创建Linux分区 115
5.1.2 创建及安装文件系统 117
5.2 打印机管理 118
5.2.1 打印机的设置 118
5.2.2 打印服务 120
5.2.3 打印机的监控 120
5.3 终端管理 121
5.3.1 硬件连接 122
5.3.2 建立getty 123
5.4 调制解调器 124
5.5 如何配置光驱 126
5.6 如何配置声卡 129
第六章 网络管理及使用 132
6.1 TCP/IP网络概念 132
6.1.1 TCP/IP协议 132
6.1.2 网络接口 134
6.1.3 IP地址 134
6.1.4 主机名和域名 135
6.1.5 子网 135
6.1.6 网关 136
6.1.7 路由表 136
6.2 配置TCP/IP网络 137
6.2.1 ifconfig命令 138
6.2.2 route命令 138
6.2.3 TCP/IP网络手工配置过程 140
6.2.4 TCP/IP配置文件 140
6.3 网络安全和访问控制 142
6.3.1 /etc/ftpusers文件 142
6.3.2 /etc/securetty文件 143
6.3.3 /etc/host.allow 143
6.3.4 /etc/hosts.deny文件 143
6.3.5 /etc/host.equiv文件 144
6.4 网络监控 144
6.4.1 ping命令 144
6.4.2 netstat命令 145
6.4.3 ifconfig命令 146
6.5 配置域名服务(DNS) 147
6.5.1 配置求解器 147
6.5.2 配置named守护程序 149
6.6 NFS文件系统 152
6.6.1 使用NFS前的准备工作 152
6.6.2 安装NFS 153
6.6.3 启动和停止NFS 154
6.7 PPP管理 154
6.7.1 PPP服务器方的配置 155
6.7.2 PPP客户方的配置 156
6.8 UUCP管理 157
6.8.1 UUCP原理 157
6.8.2 UUCP配置文件 158
6.8.3 UUCP拨入方的设置 160
6.8.4 UUCP的使用 161
第七章 电子邮件 164
7.1 电子邮件的概念及原理 164
7.1.1 电子邮件信息内容 164
7.1.2 电子邮件地址 165
7.1.3 电子邮件工作原理 166
7.2 Smail及配置 167
7.2.1 基于UUCP网络的配置 167
7.2.2 局域网环境的配置 168
7.2.3 config文件中的其它选项 169
7.2.4 配置文件paths 169
7.2.5 其他配置文件 170
7.3 Sendmail及配置 172
7.3.1 配置文件sendmail.m4 172
7.3.2 表 174
7.4 使用mail邮件程序 177
7.4.1 配置mail环境 177
7.7.2 读取信件 178
7.4.3 发送邮件 179
7.4.4 归档和保存文件 180
7.4.5 其他mail命令 180
7.5 使用elm 邮件程序 182
7.5.1 配置elm 182
7.5.2 启动elm 183
第八章 Web管理与使用 185
8.1 Web服务概述 185
8.1.1 Web的客户/服务器模式 186
8.1.2 HTTP协议简介 187
8.1.3 Web页与超文本置标语言HTML 191
8.1.4 统一资源定位器URL 192
8.1.5 MIME文件类型 193
8.2 Apache软件 194
8.2.1 编译Apache 194
8.2.2 服务器配置文件httpd.conf 196
8.2.3 资源配置文件srm.conf 202
8.2.4 访问配置文件access.conf 207
8.2.5 启动和退出Apache 210
8.2.6 管理和维护Apache 212
8.3 Netscape浏览器 214
8.3.1 安装Netscape 214
8.3.2 设置Netscape 215
第九章 X Windows系统 218
9.1 什么是X Windows系统 218
9.2 安装XFree86系统 219
9.2.1 XFree86系统支持的硬件 219
9.2.2 安装XFree86系统 221
9.3 配置XFree86系统 222
9.3.1 用Xconfigurator配置 222
9.3.2 用xf86config配置 224
9.3.3 配置文件XF86Config 224
9.3.4 探测硬件 232
9.4 使用和定制XFree86系统 233
9.4.1 启动X Windows系统 233
9.4.2 .xinitrc文件 233
9.4.3 窗口管理程序fvwm 234
第十章 bash程序设计 241
10.1 shell概述 241
10.2 bash命令语言 242
10.2.1 bash的命令格式 242
10.2.2 bash中的特殊字符 243
10.2.3 命令编辑与命令补全 244
10.2.4 输入输出重定向 245
10.2.5 管道 247
10.2.6 后台作业与作业控制 248
10.3 bash程序设计 249
10.3.1 运行shell程序的方法 249
10.3.2 shell程序的变量和参数 250
10.3.3 shell的内部命令 253
10.3.4 流程控制 257
10.4 bash程序的调试 266
10.4.1 未置变量退出和立即退出 267
10.4.2 shell程序的跟踪 267
10.5 定制bash 268
第十一章 软件开发工具指南 270
11.1 GNU C编译系统gcc 270
11.1.1 生成与安装gcc 270
11.1.2 使用gcc进行编译和装配 272
11.1.3 创建函数库 275
11.2 项目管理工具GNU Make 276
11.2.1 GNU Make概述 276
11.2.2 规则 279
11.2.3 命令 284
11.2.4 路径搜索 285
11.2.5 变量 286
11.2.6 函数使用 289
11.2.7 一个复杂的Makfile文件 289
11.2.8 GNU make命令选项 291
11.3 GDB调试工具 292
11.3.1 GDB的安装 292
11.3.2 启动或退出GDB 293
11.3.3 GDB命令 294
11.3.4 在GDB卜运行程序 295
11.3.5 停止和恢复程序执行 296
11.3.6 查看程序 297
11.3.7 改变程序的执行 299
11.4 源代码自动更新软件patch 299