前言 1
第一部分 Linux的介绍与安装 1
第1章 Red Hat Linux和UNIX简介 1
译者序 1
1.1 Linux的优点 2
1.2 版权和保证 3
1.3 在哪里可以获取Red Hat Linux 3
1.4 系统需求 4
1.4.1 针对Intel平台的系统需求 4
1.4.2 针对SPARC平台的系统需求 4
1.4.3 针对Alpha平台的系统需求 4
1.5 小结 5
第2章 Red Hat系统的安装 6
2.1 准备,认真准备! 6
2.2.1 创建引导盘和辅助盘 7
2.2.2 不利用引导软盘进行安装 7
2.2 安装Red Hat Linux 7
2.2.3 虚拟控制台 8
2.2.4 对话框 8
2.3 一步步地安装 8
2.3.1 引导 8
2.3.2 安装程序 9
2.3.3 选择安装方法 10
2.3.4 光盘安装 10
2.5 小结 17
2.4 Red Hat软件包管理程序 17
第3章 LILO 18
3.1 安装与配置LILO 18
3.1.1 配置LILO 19
3.2 利用LOADLIN.EXE引导Linux 21
3.3 如何卸载LILO 22
3.4 小结 22
4.2 初始化过程和启动脚本 23
4.1 引导过程 23
第二部分 配置其他服务系统 23
第4章 系统的启动和关闭 23
4.2.1 init和/etc/inittab 24
4.2.2 /etc/inittab和系统状态 25
4.3 tksysv与管理服务程序 28
4.4 关闭Linux系统 29
4.4.1 shutdown 29
4.4.2 halt与reboot 30
4.5 当系统崩溃时 30
4.5.1 以root身份运行 31
4.5.2 创建引导盘 31
4.5.3 文件工具箱 32
4.5.4 当系统不能引导时,Red Hat会来救援 33
4.5.5 获取更多的信息 34
4.6 小结 35
5.1.1 获取源代码树 36
第5章 配置和创建内核 36
5.1 Linux内核简介 36
5.1.2 增补源代码树 38
5.1.3 模块 38
5.2 配置Linux内核 38
5.2.1 开始配置 39
5.2.2 逐步分析菜单 40
5.2.3 关于配置内核最后需要注意的问题 48
5.3 创建内核 48
5.4 安装内核 49
5.5 从错误的内核中恢复过来 50
5.6 小结 50
第6章 通用桌面环境 52
6.1 CDE的安装 52
6.2.1 进入CDE 53
6.2 启动CDE 53
6.2.2 桌面环境 54
6.3 定制对话环境 56
6.3.1 样式管理器 56
6.3.2 前端面板 57
6.3.3 高级的定制 58
6.3.4 创建新的动作 61
6.3.5 创建和修改子面板 63
6.3.6 当发生问题时恢复对话环境 65
6.3.7 在注册时执行应用程序和命令 65
6.3.8 在退出系统时执行命令 65
6.4 帮助浏览器 66
6.4.1 使用帮助浏览器 66
6.4.2 上下文相关的帮助 67
6.4.3 在图标上添加帮助 67
6.5 小结 68
6.4.4 帮助主题 68
第7章 SMTP和POP 69
7.1 SMTP 69
7.1.1 互联网的邮件协议 70
7.1.2 域名系统和e-mail 71
7.1.3 sendmail的工作 74
7.1.4 sendmail的辅助文件 74
7.1.5 别名文件 75
7.1.6 设置sendmail 76
7.1.7 sendmail.cf——sendmail的配置文件 79
7.18 测试sendmail和sendmail.cf 89
7.2 POP 91
7.2.1 配置POP服务器 91
7.2.2 管理公告 94
7.3 小结 95
8.1 获取和安装FTP服务程序 96
第8章 FTP 96
8.2 FTP服务器的工作方式 97
8.3 配置FTP服务器 98
8.3.1 控制访问权——/crc/ftpaccess文件 98
8.3.2 在传输时转换文件——/etc/ftpconvcrsions文件 109
8.3.3 配置主机的访问权——/etc/ftphosts文件 111
8.3.4 FTP的记录文件——/var/log/xferlog 111
8.4 FTP管理工具 112
8.4.1 frpshut 112
8.4.2 ftpwho 113
8.4.3 ftpoount 113
8.5 小结 113
第9章 Apache服务器 114
9.1 服务器的安装 114
9.2.1 编辑httpd.conf 115
9.2 服务器的设置 115
9.2.2 编辑srm.conf 117
9.2.3 编辑access.conf 117
9.3 配置inetd服务器 118
9.4 第一次运行Web服务器 120
9.4.1 启动Standalonc服务器 121
9.4.2 启动inetd服务器 121
9.5.2 停止脚本 122
9.5.1 启动脚本 122
9.5 启动和停止服务器 122
9.5.3 重新启动脚本 123
9.6 配置文件清单 123
9.7 小结 131
第10章 X Window 132
10.1 设置XFrce86系统 132
10.2 XF86Config文件 132
10.4 检查XF86Config文件 133
10.3 使用Xoonfiguratcr 133
10.4.1 文件的路径名 134
10.4.2 Keyboard节 134
10.4.3 Pointer节 135
10.4.4 服务程序的选择 136
10.4.5 设置显示模式 137
10.4.6 XFree86的国际键盘布局 139
10.5 .xinitre 139
10.6 个人的X资源 141
10.7 使用xdm 142
10.8 窗口管理器的配置 142
10.9 对使用X的程序进行编译 142
10.10 常见的一些问题 143
10.11 编译XFree的源代码 144
10.12 小结 144
第11章 文件系统、磁盘和其他设备 145
第三部分 硬件连接和设备 145
11.1 块设备 146
11.2 文件系统 146
11.3 mount命令 147
11.4 设备文件系统 149
11.4.1 Red Hat 文件系统管理器 150
11.4.2 手工编辑/etc/fsrab 150
11.5 创建新的文件系统 152
11.6 修复文件系统 154
11.7 硬件 156
11.7.1 磁盘 156
11.7.2 软盘 157
11.7.3 CD-ROM驱动器 158
11.7.4 Loopback设备 159
11.7.5 其他块设备 161
11.8 字符设备 162
11.8.2 磁带驱动器 163
11.8.1 井行端口 163
11.8.3 终端 164
11.8.4 串行通讯 166
11.8.5 公用SCSI设备 167
11.8.6 CD-ROM刻录机 167
11.8.7 测试CD映像 168
11.8.8 其他字符设备 168
11.9 小结 171
第12章 利用Linux进行打印 172
12.1 打印机设备 172
12.2 如何打印 173
12.3 RHS Linux打印系统管理器 174
12.3.1 远程和LAN打印机 174
12.3.2 本地打印机 175
12.4 Linux的打印命令 176
12.6.1 APSfilter 177
12.5 简单地编排格式 177
12.6 其他有用的打印机程序和过滤程序 177
12.6.2 BubbleTools 178
12.6.3 magicfilter 178
12.6.4 PostScript打印机 178
12.6.5 增强的打印假脱机程序 178
12.6.6 系统计帐 178
12.7 一些程序技巧 179
12.7.1 emacs 179
12.7.2 Linux的Applixware 179
12.8 其他有用的程序 181
12.8.1 xv 181
12.8.2 pbm实用程序 181
12.8.3 Ghostview 181
12.9 获取更详细的信息 181
12.10 小结 182
第13章 TCP/IP网络管理 183
13.1 网络概述 183
13.1.1 IP地址 183
13.1.2 TCP/IP基础 183
13.1.3 子网 184
13.1.4 确定广播地址 185
13.1.5 下一代的IP地址——IPv6 185
13.1.6 申请新的IP地址 186
13.2 网络配置 187
13.2.1 一般的网络配置 187
13.2.2 ifconfig命令 190
13.2.3 使用route 192
13.3 域名服务 193
13.3.1 在DNS之前需要使用的文件—/etc/hosts文件 194
13.3.2 配置DNS客户机:/ete/resolv.conf 194
13.3.3 DNS的软件 195
13.3.4 配置DNS服务器 196
13.4 网络信息服务 203
13.4.1 历史简介 203
13.4.2 了解NIS 203
13.4.3 配置主NIS服务器 204
13.4.4 配置NIS客户机 207
13.4.5 配置从NIS服务器 209
13.5 网络文件系统 212
13.5.1 安装NFS 213
13.5.2 启动和停止NFS进程 214
13.5.3 配置NFS 214
13.6 利用PPP连接网络 219
13.6.1 简单的客户机 219
13.6.2 根据需要及时拨号 223
13.7 小结 224
14.1.1 /bin和/sbin 225
14.1 文件的组织 225
第四部分 系统管理 225
第14章 Red Hat Linux初步 225
14.1.2 /etc 226
14.1.3 /home 227
14.1.4 /mnt 227
14.1.5 /tmp和/var 228
14.1.6 /usr 228
14.2 RPM 229
14.2.1 主要运行方式和常用选项 229
14.2.2 安装软件包 230
14.2.3 升级软件包 232
14.2.4 卸装软件包 232
14.2.5 查询软件包 234
14.2.6 验证软件包 235
14.2.7 glint简介 236
14.3 小结 239
第15章 基本的系统管理 240
15.1 管理全能的root帐号 240
15.2 系统的维护——对系统进行修改 241
15.2.1 规划处理过程 242
15.2.2 制定还原方案 242
15.2.3 小幅度地进行修改 242
15.2.4 研制测试方案 242
15.2.5 及时有效地与用户进行通讯 243
15.3 获取帮助 247
15.3.1 手册页 247
15.3.2 E-mail 250
15.3.3 Red Hat的邮递列表和讨论组 250
15.3.4 其他讨论组 251
15.4 问题的解决途径——记录文件 253
15.4.1 logiin.access 253
15.5 syslog 254
15.4.2 用来拒绝或允许某些用户或主机访问系统的其他文件 254
15.6 Wine——在Linux下访问Windows应用程序 255
15.6.1 Wine的最新版次 256
15.6.2 从哪里可以获取Wine的副本 256
15.6.3 Wine的安装以及运行Windows应用程序时遇到的问题 256
15.7 小结 257
第1 6章 高级的系统管理 258
16.1 基本性能分析 258
16.1.1 确定CPU的使用情况 258
16.1.2 top 260
16.2 交换空间多大才算合适? 262
16.3 改变运行进程的优先级 263
16.4 小结 263
17.1 文件实用程序 265
17.1.1 列出目录的内容 265
第17章 GNU计划的实用程序 265
17.1.2 文件操作 267
17.1.3 修改文件的属性 267
17.1.4 磁盘的使用情况 270
17.2 查找实用程序 270
17.2.1 locate 270
17.2.2 find 271
17.2.3 xargs 273
17.3 shell实用程序 274
17.3.1 查询注册到系统的用户 275
17.3.2 id命令 275
17.3.3 查看正在运行的是何种系统 276
17.3.4 环境变量和shell函数 276
17.4 文本实用程序 276
17.4.1 head和tail命令 277
17.4.2 split命令 278
17.4.3 对单词进行计数 279
17.5 小结 282
18.1 优良备份的品质 283
第18章 备份和恢复 283
18.2 选择备份介质 284
18.3 选择备份工具 284
18.4 备份策略 284
18.5 恢复文件 286
18.6 了解磁带上的内容 286
18.7 小结 287
第五部分 关于其他问题 289
第19章 用户帐号和注册 289
19.1 添加用户 289
19.1.1 编辑erc/passwd 289
19.1.2 编辑/ctc/group 292
19.1.3 创建主目录和把文件拷贝到新的主目录 293
19.1.4 改变访问权限的许可 293
19.3 暂时禁止用户 294
19.1.5 设置口令 294
19.2 改变用户属性 294
19.4 注册和怎样成为特定的用户 295
19.5 查找 295
19.5.1 Who 295
19.5.2 finger 296
19.6 小结 296
第20章 系统安全性 297
20.1 考虑安全性——审核 297
20.1.1 计划 297
20.1.2 工具 298
20.1.3 知识搜集 299
20.2 危险,威尔·罗宾,危险! 300
20.2.1 以防万一 300
20.2.2 suid和sgid 301
20.3.1 文件 302
20.3 文件和目录许可 302
20.3.2 目录 303
20.3.3 如何把suid和sgid置于许可字段 304
20.3.4 文件或目录的缺省模式 305
20.4 再论口令 305
20.5 相关的www站点 306
20.6 小结 307
第21章 Shell编程 308
21.1 创建和执行shell程序 308
21.2 变量 309
21.2.1 给变量赋值 309
21.2.2 访问变量值 310
21.3 位置参数 310
21.4 内部变量 311
21.5 特殊字符 311
21.5.2 单引号 312
21.5.1 双引号 312
21.5.3 反斜杠 313
21.5.4 反引号 313
2.16 表达式的比较 313
21.6.1 pdksh和bash 313
21.6.2 tcsh 317
21.7 重复语句 320
21.7.1 For语句 320
21.7.2 while语句 321
21.7.3 until语句 322
21.7.4 repear语句(tesh) 323
21.7.5 select语句(pdksh) 323
21.7.6 shift语句 323
21.8 条件语句 324
21.8.1 if语句 324
21.8.2 case语句 325
21.10 函数 327
21.9.2 exit语句 327
21.9 杂项语句 327
21.9.1 break语句 327
21.11 小结 328
第六部分 自动化、编程和修改源码 329
第22章 任务的自动化 329
22.1 第一个例子——自动化数据输入 329
22.1.1 问题的提出和解决方法 329
22.1.2 脚本的分析 330
22.2 提高自动化技术的方法 332
22.2.1继续学习 332
22.2.2 精心策划 332
22.3 shell脚本 333
22.3.1 chstr 333
22.3.2 WWW检索 334
22.4 cron和at作业 335
22.3.3 有关shell编程的结论 335
22.4.1 cron和find——探测磁盘的使用情况 336
22.4.2 at:调度未来的事件 337
22.5 其他的机制:Expert、Perl等等 337
22.5.1 技术比较 337
22.5.2 Expect 337
22.5.3 Perl 338
22.5.4 其他工具 339
22.5.5 内部脚本 341
22.6 自动化的意义 342
22.7 小结 342
第23章 C和C++编程 343
23.1 C的介绍 343
23.1.1 C的编程:基本概念 343
23.1.2 创建、编译和执行第一个程序 345
23.1.3 C语言概述 346
23.1.4 表达式 348
23.1.5 语句控制 350
23.1.6 函数 352
23.1.7 创建一个简单的程序 354
23.1.8 建立大型的应用程序 356
23.1.9 调试工具 356
23.2 C++的介绍 357
23.2.1 利用C++编译:基本概念 357
23.2.2 文件命名 358
23.2.3 C和C++之间的差别 358
23.2.4 C和C++中的作用域 358
23.2.5 C++的重载函数和操作符 361
23.2.6 在C++数据结构中的函数 362
23.2.7 C++的类 364
23.3 GNU C/C++编译器的命令行选项 366
23.5 小结 367
23.4 辅助资料 367
第24章 Perl编程 368
24.1 一个简单的Perl程序 368
24.2 Perl变量和数据结构 368
24.3 条件语句:if/else 369
24.4 循环 370
24.4.1 for 370
24.4.2 foreach 370
24.4.3 while 370
24.4.4 until 370
24.5 正则表达式 371
24.6 访问shell 371
24.7 命令行方式 372
24.8 利用perl执行自动化任务 372
24.8.1 移动文件 372
24.8.2 清理记录文件 374
24.8.3 向Usenet张贴信息 375
24.9 获取其他信息 376
24.10 小结 377
第25章 tel和tk编程 378
25.1 tcl基础 378
25.1.1 tcl的交互使用方式 378
25.1.2 tcl的非交互使用方式 379
25.2 tcl语言 379
25.2.1 命令的结构 379
25.2.2 注释 380
25.2.3 数据类型 380
25.2.4 变量 380
25.2.5 字符串的操作 383
25.2.6 数据的操作 384
25.2.7 引用和置换 386
25.2.8 流的控制——if和switch 388
25.2.9 循环 389
25.2.10 文件的输入输出和文件的信息 391
25.2.11 过程 392
25.3 tk工具箱 393
25.3.1 构件的介绍 393
25.3.2 创建构件 394
25.3.3 构件的选项 395
25.4 一个tcl/tk构件的编程示例 395
25.5 xsetroot的一个tcl/tk界面 398
25.6 小结 403
第26章 Motif编程 404
26.1 Motif是什么? 404
26.1.1 从哪里可以获得Motif? 405
26.1.2 应该使用什么版本的Motif? 405
26.2.4 Motif-demosrc-2.0.1-1.i386.rpm 406
26.2.3 motif-mwm-2.0.1-1.i386.rpm 406
26.2.2 motif-2.0.1-1.i386.rpm 406
26.2 Red Hat Motif的安装 406
26.2.1 motif-dcvel-2.0.1-1,i386,rpm 406
26.2.5 Motif-demos-2.0.1-1.i386.rpm 407
26.3 Motif编程的基本概念和一个简单的例子 407
26.3.1 构件和事件驱动编程 408
26.3.2 简单的Motif程序 408
26.3.3 程序的工作方式 412
26.3.4 示范程序的资源 413
26.4 共享库和静态库 414
26.5 UIL编译器 414
26.6 指导和例子 414
26.7 使用imake和xmkmf 415
26.8 LessTif——一个可选择的Motif克隆 416
26.9 其他有关的信息 416
26.10 小结 417
27.2 特性 418
第27章 gawk编程 418
27.1 应用 418
27.3 awk基础 419
27.3.1 在命令行上利用awk 419
27.3.2 模式和动作 420
27.3.3 操纵输入 423
27.3.4 编程 424
27.4 动作 425
27.4.1 变量 425
27.4.2 字符串 427
27.4.3 数组 430
27.4.4 内部数字函数 431
27.4.5 算术操作符 432
27.4.6 条件流 432
27.4.7 循环 434
27.5.1 输入 435
27.5 高级输入和输出 435
27.5.2 输出 437
27.6 函数 439
27.6.1 函数定义 439
27.6.2 函数参数 440
27.6.3 retum语句 441
27.7 书写报告 441
27.7.1 复杂的报告 441
27.7.2 析取数据 442
27.8 管道流命令 442
27.9 最后一个内部函数:system 444
27.10 小结 444
第28章 网络编程 446
28.1 网络概念 446
28.1.1 构成网络地址 447
28.1.3 套接字 449
28.1.2 网络服务 449
28.1.4 协议和套接字类型 450
28.1.5 设置连接 451
28.2 TCP客户例子 451
28.3 TCP服务器例子 452
28.4 UDP例子 454
28.5 阻塞与非阻塞描述符 456
28.6 UDP的I/O多路复用 457
28.7 TCP的I/O多路复用 459
28.8 高级论题 461
28.9 小结 462
第七部分 附录 463
A Linux文档计划 463
B 前50个最常用的Linux命令和实用程序 465
C Linux文档计划的版权许可协议 479
D 词汇表 481
E 光盘上的内容 495