第1章 Linux操作系统简介 1
1.1 Linux的起源 2
1.2 Linux的特点 3
1.3 Linux的版本 5
1.3.1 Linux的内核版本 5
1.3.2 Linux的发行版本 5
本章小结 6
习题 6
2.1 安装前的准备 7
第2章 Linux操作系统的安装 7
2.2 安装的基本概念 8
2.2.1 安装方式 8
2.2.2 硬盘分区 8
2.3 安装Red Hat Linux 9.0 8
2.4 Linux的引导过程 24
2.4.1 计算机的启动顺序 24
2.4.2 Linux的启动方式 25
2.5 引导工具LILO和GRUB 25
2.5.2 LILO的设置 26
2.5.1 LILO和GRUB简介 26
2.5.3 GRUB的设置 29
本章小结 35
习题 35
第3章 Linux的用户接口 37
3.1 Shell的基础知识 37
3.1.1 Shell简介 38
3.1.3 命令和文件名的自动补齐功能 39
3.2 X Window简介 39
3.1.2 Shell的命令行 39
3.3 KDE与GNOME 40
3.3.1 KDE桌面的组成 40
3.3.2 熟悉KDE桌面环境 43
3.3.3 GNOME桌面的组成 54
3.3.4 熟悉GNOME桌面环境 55
本章小结 62
习题 62
4.1 磁盘管理 64
第4章 磁盘与文件管理 64
4.2 文件与目录管理 72
4.3 文件的压缩与解压缩 92
本章小结 98
习题 98
第5章 系统管理 100
5.1 用户管理 100
5.2 权限管理 109
5.3 进程管理 113
5.4 其他系统管理 116
本章小结 126
习题 127
第6章 使用RPM进行软件管理 129
6.1 RPM简介 129
6.2 使用RPM 131
6.2.1 使用RPM安装软件 131
6.2.2 使用RPM删除软件 135
6.2.3 使用RPM升级软件 137
6.2.4 使用RPM查询软件 138
6.2.5 使用RPM检验软件 141
本章小结 142
习题 143
第7章 Linux中的文本编辑器 144
7.1 Linux中的文本编辑器简介 144
7.1.1 KDE文本编辑器 144
7.1.2 GNOME文本编辑器 147
7.1.3 Vi、Vim与Emacs文本编辑器 148
7.2.1 用Vim编辑一个文件 153
7.2 Vim与Emacs文本编辑器的使用 153
7.2.2 用Emacs编辑一个文件 159
本章小结 161
习题 161
第8章 组建Linux局域网与网络互连 163
8.1 Samba服务器的设置 163
8.1.1 Samba概述 163
8.1.2 组建Linux局域网与配置Samba服务器 166
8.2 NAT与代理服务器的设置 173
8.2.2 NAT的设置 174
8.2.1 NAT概述 174
8.2.3 代理服务器Squid简介 176
8.2.4 局域网使用Squid共享上网 177
8.3 路由服务 181
8.3.1 路由概述 181
8.3.2 静态路由设置 182
8.3.3 动态路由设置 185
本章小结 187
习题 187
第9章 提供Internet服务 189
9.1 DHCP服务及配置 189
9.1.1 DHCP概述 190
9.1.2 DHCP服务器的设置 191
9.1.3 DHCP客户端的设置 195
9.2.1 DNS概述 199
9.2.2 DNS域名空间的分层结构 199
9.2 DNS服务及配置 199
9.2.3 域名解析过程 200
9.2.4 DNS服务器的设置 201
9.2.5 DNS客户端的设置 214
9.3 WWW服务器的设置 215
9.3.1 Apache概述 215
9.3.2 配置Apache服务器 218
9.4 FTP服务器的设置 237
9.4.1 FTP服务概述 237
9.4.2 配置FTP服务器 238
9.5 邮件服务器的设置 243
9.5.1 邮件服务器概述 243
9.5.2 配置sendmail服务器 245
9.6 模拟Internet 256
本章小结 259
习题 259
第10章 Linux中的Shell编程 261
10.1 Shell操作 261
10.1.1 通配符与文件名变量 262
10.1.2 输入/输出重定向 264
10.1.3 管道 266
10.2 Shell编程基础 266
10.2.1 Shell脚本的建立 266
10.2.2 Shell脚本的执行 267
10.2.3 命令行操作 269
10.2.4 Shell变量 269
10.2.5 测试命令 273
10.2.6 算术与逻辑运算 276
10.2.7 内部命令 277
10.3 Shell程序设计的流程控制 278
10.3.1 复合结构 278
10.3.2 条件判断 279
10.3.3 循环控制 281
10.3.4 无条件控制 285
10.4 Shell脚本中的函数 287
10.5 Shell脚本的调试 288
习题 290
本章小结 290
第11章 Linux编程初步 292
11.1 Linux系统调用简介 292
11.2 进程编程 293
11.2.1 进程简介 293
11.2.2 进程管理 295
11.2.3 进程间通信 297
11.3 网络编程初步 299
11.3.1 TCP套接字简介 299
11.3.2 简单C/S应用程序的设计 304
11.3.3 简单聊天室应用程序的设计 307
本章小结 315
习题 315
附录1 lilo.conf文件中的配置参数和grub可用命令及其说明 317
附录2 ps命令的各选项及其功能 323
附录3 配置文件smb.conf的说明 325
附录4 配置文件httpd.conf的说明 329
附录5 Linux的网络资源 335
参考文献 336