第1章Red Hat Linux和UNIX简介 1
第一部分 Red Hat Linux的介绍与安装 1
1.1 Linux的优点 2
1.2 版权和保证 3
1.3 在哪里可以获取Red Hat Linux 3
1.4 系统需求 3
1.5 小结 4
第2章 Red Hat系统的安装 5
2.1 准备,认真准备 5
2.2 安装Red Hat Linux 6
2.2.1 创建引导盘和辅助盘 6
2.3 一步步地安装 7
2.3.1 开始安装 7
2.2.3 虚拟控制台 7
2.2.4 对话框 7
2.2.2 不利用引导软盘进行安装 7
2.3.2 内核参数选项 8
2.3.3 安装程序 9
2.3.4 选择一种安装方法 9
2.3.5 光盘安装 10
2.4 硬件配置 14
2.4.1 选择鼠标 14
2.4.2 配置X Window系统 14
2.4.3 配置网络 14
2.4.7 超级用户口令 15
2.4.6 配置打印机 15
2.4.5 选择服务自动启动 15
2.4.4 设置时区 15
2.5 Red Hat软件包管理程序 16
2.6 小结 16
第3章 LILO 17
3.1 安装与配置LILO 18
3.1.1 安装或重新配置LILO 18
3.1.2 配置LILO 18
3.2 使用LOADLIN.EXE引导Linux 20
3.3 如何卸载LILO 21
3.4 LILO疑难解答 21
3.5 小结 22
4.1 X Window系统 23
第4章 配置X Window系统,版本11 23
4.2 建立XFree86系统 24
4.3 配置XFree86系统 25
4.3.1 XF86Config文件 27
4.3.2 使用XConfigurator 28
4.4 检查XF86Config文件 32
4.4.1 XF86Config Files部分 32
4.4.2 XF86Config ServerFlags部分 34
4.4.3 XF86Config Keyboard部分 35
4.4.4 XF86Config Pointer部分 36
4.4.5 XF86Config Monitor部分 37
4.4.6 XF86Config Graphics Device部分 39
4.4.7 XF86Config Screen部分 40
4.5 使用xf86config 42
4.6 使用XF86Setup进行配置 49
4.7 .xinitrc文件 52
4.8 使用Red Hat的wmconfig命令 54
4.9 个人化的X资源文件 54
4.10 使用xdm 55
4.11 XFree86疑难解答 57
4.12 小结 57
第5章 窗口管理器 58
5.1 GNOME X环境 59
5.1.1 什么是GNOME 59
5.1.2 GNOME安装组件 59
5.1.3 使用GNOME或者其他显示管理器配置X11 60
5.1.4 使用GNOME客户程序和工具 63
5.1.5 使用GNOME Control Center配置桌面 64
5.1.6 GNOME面板配置 65
5.2 Enlightenment窗口管理器特性 67
5.3 K桌面环境特性 68
5.3.1 安装组件 68
5.3.2 使用kdm登录 68
5.3.3 KDE桌面特性 69
5.3.4 执行基本的桌面动作 70
5.3.5 使用桌面面板 70
5.3.6 编辑KDE面板菜单 71
5.3.7 使用kfm文件管理器 71
5.4 使用KDE Control Center配置KDE 71
5.4.1 使用显示管理器选项 72
5.4.2 更改桌面墙纸 73
5.4.3 更改屏幕保护程序 74
5.4.5 更改键盘和鼠标设置 75
5.4.4 安装系统声音 75
5.4.6 更改窗口按钮 76
5.4.7 控制光标在桌面上的移动 78
5.5 fvwm2的AnotherLevel配置特性 79
5.5.1 重要的文件 79
5.5.2 配置AnotherLevel 79
5.5.3 键盘控制 80
5.6 AfterStep窗口管理器特性 81
5.6.1 重要的文件 81
5.6.2 配置AfterStep 81
5.7.1 重要的文件 82
5.7.2 配置Window Maker 82
5.7 GNU Window Maker窗口管理器特性 82
5.8 fvwm2窗口管理器 83
5.9 fvwm窗口管理器 83
5.10 twm窗口管理器 84
5.11 公共桌面环境特性 86
5.12 使用RPM安装Red Hat Linux的CDE和库 86
5.13 小结 87
第二部分 服务配置 89
第6章 系统的启动和关闭 89
6.1 引导进程 89
6.2 初始化进程和启动脚本 90
6.2.1 init和/etc/inittab 90
6.2.2 /etc/inittab和系统状态 92
6.3 linuxconf与管理服务 96
6.4.1 shutdown 98
6.4 关闭Linux系统 98
6.4.2 halt与reboot 99
6.5 当系统崩溃时 100
6.5.1 以root身份运行 100
6.5.2 创建引导盘 100
6.5.3 误删除文档 101
6.5.4 文件工具箱 101
6.5.5 当系统不能引导时,Red Hat会来救援 102
6.5.6 获取更多的信息 103
6.6 小结 104
7.1.1 sendmail介绍 105
7.1.2 邮局协议 105
7.1 Internet电子邮件标准的历史简述 105
第7章 SMTP和协议 105
7.1.3 Internet邮件访问协议 106
7.2 SMTP和sendmail 106
7.2.1 Internet邮件协议 106
7.2.2 域名系统和电子邮件 107
7.2.3 sendmail的工作 110
7.2.4 sendmail的辅助文件 111
7.2.5 别名文件 111
7.2.6 设置sendmail 112
7.2.7 sendmail.cf:配置文件 114
7.2.8 自动生成sendmail.cf文件 124
7.2.9 测试sendmail和sendmail.cf 126
7.3.2 配置ipop3d 128
7.3.1 配置POP服务器 128
7.3 POP 128
7.2.10 普通的sendmail配置错误 128
7.3.3 APOP如何工作 129
7.3.4 设置APOP验证 130
7.3.5 POP3协议 130
7.4 IMAP 130
7.5 邮件获取 131
7.5.1 配置Netscape POP3或者IMAP邮件获取 131
7.5.2 fetchmail 132
7.5.3 为POP3或者IMAP邮件获取配置fetchmail 133
7.6 小结 133
第8章 FTP 135
8.1 获取和安装FTP服务程序 135
8.2 FTP服务器的工作方式 137
8.3 配置FTP服务器 138
8.3.1 控制访问权——/etc/ftpaccess文件 138
8.3.2 在传输时转换文件——/etc/ftpconversions文件 147
8.3.3 配置主机的访问权——/etc/ftphosts文件 148
8.3.4 FTP的日志文件——/var/log/xferlog 149
8.4 FTP管理工具 149
8.4.1 ftpshut 149
8.4.2 ftpwho 150
8.4.3 ftpcount 150
8.5 使用FTP客户程序 150
8.5.1 autoexpect 152
8.5.2 ncftp 152
8.5.4 xtp 153
8.5.5 gftp 153
8.5.3 tftp 153
8.6 小结 154
第9章 Apache服务器 155
9.1 服务器安装 155
9.1.1 从RPM安装 156
9.1.2 自己构造源代码 156
9.2 服务器运行配置的设置 157
9.2.1 编辑httpd.conf文件 158
9.2.2 .htaccess文件和访问限制 160
9.3 虚拟主机 161
9.3.1 基于地址的虚拟主机 161
9.3.2 基于名字的虚拟主机 162
9.4 日志记录 163
9.5 CGI和SSI 164
9.5.1 CGI 164
9.5.2 SSI 164
9.5.3 基本SSI指令 165
9.5.4 流控制 167
9.6 启动和停止服务器 167
9.6.1 手动启动服务器 167
9.6.2 /etc/rc.d httpd脚本 168
9.7 配置文件清单 170
9.8 小结 185
第10章 Internet新闻 186
10.1 Linux与新闻组 186
10.1.2 推/拉新闻 187
10.1.3 下载新闻组的可选方法 187
10.1.1 新闻供给点如何工作 187
10.2 INN硬件与软件要求 188
10.3 INN介绍 188
10.3.1 安装INN 188
10.3.2 INN启动文件 189
10.3.3 配置INN 193
10.4 NNTPCache介绍 194
10.4.1 NNTPCache如何工作 194
10.4.2 下载和配置NNTPCache 195
10.5 trn介绍 196
10.6 小结 197
第11章 域名服务 198
11.1 Internet历史简述 198
11.1.2 /etc/hosts文件 199
11.1.1 hosts.txt文件 199
11.2 BIND 8 200
11.3 本章例子说明 200
11.4 创建一个普通的缓冲DNS 201
11.4.1 真正的解决方案 201
11.4.2 测试缓冲DNS 204
11.4.3 缓冲服务器小结 206
11.5 重要的DNS事实和概念 206
11.5.1 DNS客户和服务器截然不同 206
11.5.2 DNS术语 206
11.5.3 DNS将名字映射到IP地址及反序操作 207
11.5.4 前区和反区必须保持同步 207
11.5.5 HUP信号和重启 207
11.5.6 IN-ADDR.ARPA域 207
11.5.9 DNS软件 208
11.5.8 配置DNS客户:/etc/resolv.conf 208
11.5.7 主机命名方案 208
11.6 DNS服务器配置文件 210
11.6.1 DNS引导文件:/etc/named.conf 210
11.6.2 DNS区数据文件 212
11.7 配置DNS服务器主域 215
11.7.1 添加本地域解析 215
11.7.2 添加虚拟域解析 217
11.8 授权委托 218
11.8.1 在sylvia上添加subdomain.domain.cxm的授权 218
11.8.2 测试subdomain.domain.cxm本地域分解 219
11.8.3 从numark委托子域给sylvia 219
11.8.4 测试subdomain.domain.cxm委托 220
11.9 添加从DNS服务器 220
11.9.1 mtx的更改 221
11.9.2 numark的更改 222
11.10 DNS问题解决与调试 222
11.10.1 使用脚本对DNS设置进行耐压测试 222
11.10.2 使用转储和日志调试 223
11.11 其他DNS文档 223
11.12 小结 224
第12章 NIS:网络信息服务 225
12.1 了解NIS 225
12.1.1 NIS域 226
12.1.2 不同的服务器 226
12.1.3 安装软件 226
12.2 配置主NIS服务器 226
12.3 配置NIS客户 229
12.4 配置NIS从服务器 231
12.5 在/etc/passwd文件中使用NISisms 232
12.6 使用网络组 232
12.7 解决问题的一些技巧 233
12.8 小结 233
第13章 网络文件系统 235
13.1 NFS安装 235
13.2 启动和停止NFS守护程序 236
13.3 NFS状态 236
13.4 配置NFS服务器和客户 236
13.4.1 建立/etc/exports文件 237
13.4.2 使用mount加载一个导出的文件系统 238
13.4.3 卸载文件系统 238
13.4.4 配置/etc/fstab文件以自动加载文件系统 239
13.5 完成样本配置文件 240
13.6 小结 241
第14章 Samba 242
14.1 安装Samba 242
14.2 运行一个简单的Samba设置 243
14.2.1 使用Linux客户测试 243
14.2.2 使用Windows客户测试 244
14.3配置Samba 245
14.3.1 [global]段 245
14.3.2 [homes]段 246
14.3.3 [printers]段 247
14.3.4 Samba打印机疑难解答技巧 248
14.4 共享文件和打印服务 249
14.5 优化Samba性能 250
14.6 测试配置 251
14.8 共享访问 252
14.8.1 在Linux客户上使用smbclient 252
14.7 运行Samba服务器 252
14.9 公用smb.conf配置选项 253
19.2.2 安装软件包 253
14.8.2 在Linux客户上加载共享 253
14.8.3 在Windows客户上加载共享 253
14.9.1 特殊约定 254
14.9.2 read Only=Versus writeable=Versus writable=Versus write ok-(S) 254
14.9.3 valid users=(S) 254
14.9.4 invalid users=(S) 254
14.9.5 read list=(S) 255
14.9.6 write list=(S) 255
14.9.7 path=(S) 255
14.9.8 create mask=和create mode=(S) 255
14.9.9 browseable=(S) 255
14.9.12 public=和guest ok=(S) 256
14.9.11 hosts allow=、hosts deny=、allowhosts=和deny hosts=(S) 256
14.9.10 printable=(S) 256
14.9.13 comment=(S)和server string=(G) 257
14.9.14 domain logons=(G) 257
14.9.15 encrypt passwords=和smb passwd file=(G) 257
14.9.16 hosts equiv=(G) 257
14.9.17 interfaces=(G) 257
14.9.18 load printers=(G) 257
14.9.19 null passwords=(G) 257
14.9.20 password level和username level(G) 257
14.9.22 workgroup=(G) 258
14.10.1 Samba应用程序文档资料 258
14.10 Samba文档资料 258
14.9.23 config file=(G) 258
14.9.21 security=(G) 258
14.10.3 其他文档 259
14.11 使用SWAT配置基于Web的Samba 259
14.11.1 在服务器上激活SWAT 259
14.10.2 配置选项文档 259
14.11.2 在浏览器上使用SWAT配置smb.conf 260
14.12 小结 260
第三部分 系统管理 261
第15章 文件系统 磁盘和其他设备 261
15.1 字符设备 261
15.2 块设备 262
15.3 文件系统 262
15.4 mount命令 263
15.5 使用user mount tool加载文件系统 265
15.6 设置文件系统 266
15.7 创建新的文件系统 267
15.8 使用fsconf在图形界面中创建和编辑文件系统 269
15.9 修复文件系统 270
15.10 硬件 272
15.10.1 硬盘 272
15.10.2 软盘 274
15.10.3 CD-ROM驱动器 274
15.10.4 回送设备 275
15.10.5 其他块设备 277
15.11 字符设备 278
15.11.1 并行端口 278
15.11.2 磁带驱动器 279
15.11.3 终端 280
15.11.4 串行通信 281
15.11.5 公用SCSI设备 282
15.11.7 测试CD映像 282
15.11.8 其他字符设备 282
15.11.6 CD-ROM刻录机 282
15.12 小结 285
第16章 利用Linux进行打印 286
16.1 打印机设备 286
16.2 应该使用什么样的打印机 287
16.3 如何打印 289
16.4.1 远程打印机 290
16.4 RHS Linux打印系统管理器 290
16.4.3 定制RHS打印机过滤器 293
16.4.2 本地打印机 293
16.5 Linux的打印命令 294
16.6 简单地编排格式 295
16.7 其他有用的打印机程序和过滤器 295
16.7.1 APSfilter 296
16.7.2 BubbleTools 296
16.7.3 magicfilter 296
16.7.4 LPRMagic 296
16.7.5 HPTools 296
16.7.6 PostScript打印机 296
16.8 对红外线打印机的支持 297
16.7.7 增强的打印假脱机程序 297
16.7.8 系统计帐 297
16.9.2 Linux的Applixware 298
16.9 一些程序技巧 298
16.9.1 emacs 298
16.9.3 WordPerfect 8 for Linux 299
16.10 其他的有用程序 300
16.10.1 pbm工具 300
16.10.2 gv 300
16.11 排错和获取更详细的信息 300
16.12 小结 301
17.1.1 IP地址 302
17.1.2 拆分网络 302
17.1 TCP/IP基础 302
第17章 TCP/IP网络管理 302
17.1.3 TCP/IP协议组 306
17.1.4 端口 306
17.1.5 套接字 307
17.2 网络配置 307
17.2.1 配置文件 308
17.2.2 配置程序 311
17.3 网络守护程序 315
17.3.1 独立的TCP/IP守护程序 315
17.3.2 Internet超级服务器:inetd 316
17.4 配置PPP服务器 317
17.4.1 基本配置 318
17.4.2 设置通过Shell的PPP访问 319
17.4.3 设置不通过Shell直接的PPP访问 319
17.5 TCP/IP查找并排除故障的工具 320
17.5.1 ping 320
17.5.2 traceroute 321
17.5.3 tcpdump 322
17.6 网络安全工具 324
17.6.1 防火墙 324
17.6.2 安全远程访问——SSH,安全的Shell 329
17.7 小结 332
第18章 连接到Internet 333
18.1 配置虚拟接口 333
18.2 设置PPP 335
18.2.1 安装PPP 335
18.2.2 设置一个PPP用户帐号 336
18.2.3 设置chat 336
18.2.4 配置pppd 337
18.2.6 使用PPP脚本设置PPP 338
18.2.5 组合使用chat和pppd 338
18.2.7 使用netcfg客户程序设置PPP 339
18.2.8 使用kppp客户程序设置PPP 341
18.3 设置SLIP 344
18.4 设置拨入PPP服务器 345
18.5 小结 346
第19章 Red Hat中的图形管理工具 347
19.1 文件的组织 347
19.1.1 /bin和/sbin 347
19.1.2 /etc中的配置文件 348
19.1.5 /tmp和/var 349
19.1.4 /mnt 349
19.1.3 /home 349
19.1.6 /usr 350
19.2 Red Hat中的软件包管理器 351
19.2.1 主要运行方式和常用选项 352
19.2.3 升级软件包 354
19.2.4 卸装软件包 354
19.2.5 查询软件包 355
19.2.6 验证软件包 357
19.2.7 gnorpm简介 358
19.3 Red Hat工具 360
19.3.1 使用control-panel 360
19.3.3 使用fetchmailconf工具配置Fetchmail 361
19.3.2 使用Comanche工具来配置Apache 361
19.3.4 使用tksysv工具来配置Linux运行级 362
19.3.5 使用chkconfig命令检测运行级 362
19.3.6 使用timetool命令设置时间和日期 363
19.3.7 使用printtool客户程序来配置打印机 364
19.3.8 使用netcfg客户程序来配置网络设备 364
19.3.9 使用helptool客户程序获取帮助 364
19.3.10 使用kernelcfg工具配置Linux内核 365
19.3.11 使用modemtool客户程序建立/dev/modem 365
19.4 使用Red Hat的setup命令 366
19.4.1 使用kbdconfig命令配置键盘 366
19.4.2 使用mouseconfig命令配置鼠标 366
19.4.3 使用sudconfig命令配置声卡 366
19.5 使用linuxconf命令 368
19.4.5 使用timeconfig命令设置系统的时区 368
19.4.4 使用ntsysv命令配置系统服务 368
19.6 小结 371
第20章 基本的系统管理 372
20.1 管理全能的root帐号 373
20.2 系统的维护——对系统进行修改 373
20.2.1 规划处理过程 374
20.2.2 制定还原方案 374
20.2.3 小幅度地进行修改 374
20.2.4 制定测试方案 374
20.2.5 及时有效地与用户进行通信 375
20.3 获取帮助 379
20.3.1 手册页 379
20.3.3 Red Hat的邮件列表和讨论组 382
20.3.2 email 382
20.3.4 其他讨论组 383
20.4 问题的解决途径——日志文件 385
20.5 syslog.conf 385
20.6 增加用户 386
20.6.1 编辑etc/passwd 387
20.6.2 编辑/etc/group 389
20.6.3 创建主目录和把文件拷贝到新的主目录 390
20.6.4 改变访问权限和拥有者 390
20.6.5 设置口令 390
20.7 改变用户属性 390
20.8 暂时禁止用户 391
20.9 使用配置工具来增加用户 391
20.9.1 使用Gnome的linuxconf增加用户 392
20.9.2 用户口令 393
20.9.3 删除用户 393
20.9.4 组 394
20.10 登录和怎样成为特定的用户 394
20.11查找 395
20.11.1 Who 395
20.11.2 finger 395
20.12 小结 396
第21章 高级的系统管理 397
21.1 基本性能分析 397
21.1.1 使用vmstat确定CPU的使用情况 397
21.1.2 top 399
21.2.1 Xosview 400
21.2 图形化监视工具 400
21.2.2 Xload 401
21.3 交换空间多大才算合适 401
21.4 改变运行进程的优先级 402
21.5 小结 404
第22章 GNU计划的实用程序 406
22.1 GNU计划软件内容 406
22.2 文件实用程序 408
22.2.1 列出目录的内容 409
22.2.2 文件操作 410
22.2.3 修改文件的属性 411
22.2.4 磁盘的使用情况 413
22.3 查找实用程序 414
22.3.1 locate 414
22.3.2 find 415
22.3.3 xargs 417
22.4 shell实用程序 418
22.4.1 查询登录到系统的用户 419
22.4.2 id命令 419
22.4.3 查看正在运行的是何种系统 420
22.4.4 环境变量和shell函数 420
22.5 文本实用程序 421
22.5.1 head和tail命令 421
22.5.2 split命令 422
22.5.3 对单词进行计数 423
22.6 小结 426
23.1 对成功备份的考虑 427
第23章 备份和恢复 427
23.2 优良备份的品质 428
23.3 选择备份介质 428
23.4 选择备份工具 429
23.5 备份策略 429
23.5.1 利用tar和cpio执行备份 430
23.5.2 使用taper脚本进行备份 431
23.5.3 使用BRU-2000进行备份 432
23.6 恢复文件 434
23.7 了解磁带上的内容 434
23.8 小结 435
第24章 系统安全性 436
24.1 安全性审核 436
24.1.1 计划 436
24.1.2 工具 437
24.1.3 知识搜集 438
24.2 危险,威尔·罗宾逊,危险 439
24.2.1 以防万一 439
24.2.2 suid和sgid 439
24.3 文件和目录许可 440
24.3.1 文件 440
24.3.2 目录 441
24.3.3 如何把suid和sgid置于许可字段 443
24.3.4 文件或目录的缺省模式 443
24.4 再论口令 444
24.5 相关的WWW站点 444
24.6 小结 445
第25章 Shell编程 447
第四部分 Linux编程 447
25.1 创建和执行Shell程序 448
25.2 变量 449
25.2.1 给变量赋值 450
25.2.2 访问变量值 450
25.3 位置参数 450
25.4 内部变量 451
25.5 特殊字符 451
25.5.1 双引号 452
25.5.2 单引号 453
25.5.3 反斜杠 453
25.5.4 反引号 453
25.6 表达式的比较 453
25.6.1 pdksh和bash 454
25.6.2 tcsh 457
25.7.1 for语句 459
25.7 重复语句 459
25.7.2 while语句 460
25.7.3 until语句 461
25.7.4 repeat语句 462
25.7.5 select语句 462
25.7.6 shift语句 462
25.8 条件语句 463
25.8.1 if语句 463
25.8.2 case语句 464
25.9 杂项语句 465
25.10 函数 466
25.11 小结 466
25.9.2 exit语句 466
25.9.1 break语句 466
第26章 gawk编程 467
26.1 应用 467
26.2 特性 468
26.3 awk基础 468
26.3.1 在命令行中使用awk 468
26.3.2 模式和动作 469
26.3.3 操纵输入 472
26.3.4 编程 472
26.4 动作 473
26.4.1 变量 473
26.4.2 字符串 475
26.4.3 数组 478
26.4.5 算术操作符 479
26.4.4 内部数字函数 479
26.4.6 条件流 480
26.4.7 循环 481
26.5 高级输入和输出 482
26.5.1 输入 483
26.5.2 输出 484
26.6 函数 486
26.6.1 函数定义 486
26.6.2 函数参数 487
26.7 书写报告 488
26.7.1 复杂的报告 488
26.6.3 return语句 488
26.7.2 析取数据 489
26.8 管道流命令 489
26.9 最后一个内部函数:system 490
26.10 小结 491
第27章 任务的自动化 492
27.1 第一个例子——自动化数据输入 492
27.1.1 问题的提出和解决方法 492
27.1.2 脚本的分析 493
27.2 提高自动化技术的方法 495
27.2.1 继续学习 495
27.2.2 精心策划 495
27.3 Shell脚本 496
27.3.1 WWW检索 497
27.4 cron和at作业 498
27.3.2 有关shell编程的结论 498
27.4.1 cron和find——探测磁盘的使用情况 499
27.4.2 at:调度未来的事件 500
27.5 其他的机制Expect、perl等等 500
27.5.1 Expect 500
27.5.2 Perl 501
27.5.3 其他工具 502
27.5.4 内部脚本 503
27.6 自动化的意义 503
27.7 小结 504
第28章 配置和创建内核 505
28.1 Linux内核简介 506
28.1.1 Microkernel和Monolith比较 507
28.1.2 内核模块 507
28.1.3 内核版本号 508
28.2 获取内核源代码 509
28.2.1 修补源代码 511
28.2.2 模块 512
28.2.3 内核2.2中的新特征 512
28.3 配置Linux内核 513
28.4 配置选项 514
28.4.1 代码成熟级别 515
28.4.2 处理器类型和特征 515
28.5.2 BSD记帐 516
28.5.1 网络支持 516
28.5.3 SysV IPC 516
28.4.3 可调入模块支持 516
28.5 一般设置 516
28.5.4 sysctl支持 517
28.5.5 对各种各样二进制文件的支持 517
28.5.6 并行口 519
28.5.7 高级电源管理支持 520
28.5.8 “看门狗”支持 520
28.5.9 即插即用设备的支持 520
28.5.10 块设备 521
28.6 网络选项 523
28.6.1 内核Netlink套接字 523
28.6.2 网络防火墙 523
28.6.4 IP隧道 524
28.6.5 WEB站点管理员和IP别名 524
28.6.3 优化为路由器 524
28.6.6 IPX和Appletalk支持 525
28.6.7 企业网络和X.25支持 526
28.6.8 在低速CPU和高速接口中发送数据 526
28.6.9 QoS和/或公平排队 526
28.7 SCSI支持 526
28.8 网络设备支持 526
28.8.1 虚拟网络设备 526
28.8.2 EQL 527
28.8.3 PLIP,PPP和SLIP拨号网络支持 527
28.8.4 业余爱好者无线电和无线的支持 527
28.8.5 IrDA子系统和红外线端口设备驱动程序 527
28.9 ISDN子系统 527
28.11.4 并口打印机 528
28.11.3 Unix98 PTY 528
28.11.2 串口 528
28.11 字符设备 528
28.10 老式的CD-ROM驱动器 528
28.11.1 终端和控制台 528
28.12 鼠标 529
28.13 看家狗,NVRAM和RTC设备 529
28.14 DoubleTalk语音合成器 529
28.15 Video4Linux 529
28.16 游戏杆支持 529
28.17 Ftape, 软磁带设备驱动 529
28.18 文件系统 529
28.18.2 ISO 9660,UDF和DVD支持 530
28.19 网络文件系统 530
28.18.1 MS-DOS和VFAT文件系统 530
28.19.1 CODA分布式文件系统 531
28.19.2 NFS 531
28.19.3 SMB和NPC 531
28.20 分区类型 531
28.21 本地语言支持 531
28.22 控制台驱动程序 531
28.23 声音 532
28.24 内核Hacking 533
28.25 调出/存储配置 534
28.26 创建和安装内核 534
28.27 手工地安装新内核 535
28.28 新内核的故障检定 535
28.28.1 系统信息文件 536
28.29 疑难解答和恢复 537
28.28.2 设置内核参数和选项 537
28.29.1 重复的重启 538
28.29.2 不完全的LILO提示符 538
28.29.3 调入时内核停止 538
28.29.4 内核Panic 539
28.29.5 内核Oop和错误报告 539
28.29.6 Linux和Y2K 540
28.30 参考和资源 540
28.31 总结 540
第29章 网络编程 542
29.1 网络概念 542
29.1.1 构成网络地址 543
29.1.3 套接字 545
29.1.4 协议和套接字类型 545
29.1.2 网络服务 545
29.1.5 设置连接 547
29.2 TCP客户例子 547
29.3 TCP服务器例子 548
29.4 UDP例子 549
29.5 阻塞与非阻塞描述符 551
29.6 UDP的I/O多路复用 553
29.7 TCP的I/O多路复用 554
29.8 高级论题 556
29.9 小结 556
第30章 C和C++编程 558
30.1 C语言的背景 558
30.2 C的编程:基本概念 559
30.2.1 C程序中的函数 559
30.3 创建、编译和执行第一个程序 560
30.2.2 C程序中的数据 560
30.4 C语言的元素 561
30.4.1 基本的C语法 561
30.4.2 表达式 563
30.4.3 语句控制 565
30.4.4 函数 566
30.4.5 创建一个简单的程序 568
30.4.6 建立大型的应用程序 570
30.5 项目管理工具 570
30.5.1 使用make来编译程序 570
30.5.2 使用RCS和CVS来管理软件项目 571
30.5.3 调试工具 573
30.7 利用C++编程:基本概念 574
30.6 C++语言的元素 574
30.7.1 文件命名 575
30.7.2 C和C++之间的差别 575
30.7.3 C和C++中的作用域 575
30.7.4 C++的重载函数和操作符 577
30.7.5 在C++数据结构中的函数 578
30.8 C++的类 580
30.8.1 在C++中说明一个类 580
30.8.2 继承性和多态性 581
30.9 GNU C/C++编译器的命令行选项 582
30.10 GNU egcs编译系统的新特征 582
30.11 辅助资料 584
30.12 小结 585
31.1 一个简单的Perl程序 586
第31章 Perl编程 586
31.2 Perl变量和数据结构 587
31.2.1 Perl变量类型 587
31.2.2 特殊变量 588
31.3 条件语句:if/else和unless 588
31.3.1 if 588
31.3.2 unless 589
31.4 循环 590
31.4.1 for 590
31.4.2 foreach 590
31.4.3 while 590
31.4.4 until 591
31.5 正则表达式 591
31.7 控制参数 592
31.6 访问shell 592
31.8 模块和CPAN 594
31.9 例子程序 595
31.9.1 发送邮件 595
31.9.2 清理记录文件 596
31.9.3 向Usenet张贴信息 597
31.9.4 一行的程序 597
31.9.5 Schwartzian转换 597
31.9.6 命令行进程 598
31.10 获取其他信息 598
31.10.1 书籍 598
31.10.2 讨论组 598
31.10.3 WWW 598
31.11 小结 599
31.10.4 其他信息 599
第32章 Motif编程 600
32.1 Motif是什么 600
32.1.1 从哪里可以获得Motif? 601
32.1.2 26.1.2应该使用什么版本的Motif 601
32.2 Red Hat Modif的安装 602
32.2.1 Development rpms 603
32.2.2 Motif 2.1 rpms 603
32.2.3 Motif 2.1 Mwm rpms 603
32.2.4 Motif Demonstration Source rpms 603
32.2.5 Motif Demos rpms 604
32.3 Motif编辑的基本概念和一个简单的例子 604
32.3.1 构件和事件驱动编程 604
32.3.2 简单的Motif程序 605
32.3.3 程序的工作方式 608
32.3.4 示范程序的资源 609
32.4 UIL编译器 609
32.5 指导和例子 610
32.6 使用imake和xmkmf 610
32.7 LessTif——一个可选择的Motif克隆 611
32.8 其他有关的信息 612
32.9 小结 613
第33章 tcl和tk编程 614
33.1 tcl基础 614
33.1.1 tcl的交互使用方式 614
33.1.2 tcl的非交互使用方式 615
33.2 tcl语言 615
33.2.3 数据类型 616
33.2.1 命令的结构 616
33.2.2 注释 616
33.2.4 变量 617
33.2.5 字符串的操作 619
33.2.6 数字的操作 620
33.2.7 引用和置换 621
33.2.8流的控制——if和switch 623
33.2.9 循环 624
33.2.10 文件的输入输出和文件的信息 626
33.2.11 过程 627
33.3 tk工具箱 628
33.3.1 构件的介绍 628
33.3.2 创建构件 629
33.4 一个tcl/tk构件的编程示例 630
33.3.3 构件的选项 630
33.5 xsetroot的一个tcl/tk界面 632
33.6 小结 636
第34章 在Python下编程 637
34.1 准备运行Python 637
34.1.1 安装Python 638
34.1.2 设置Python环境变量 639
34.2 Python命令行解释程序 639
34.3 Python程序 641
34.4 控制语句 643
34.4.1 IF语句 643
34.4.2 WHILE循环 645
34.5 列表和range()函数 646
34.4.3 FOR循环 646
34.6 字典 650
34.7 控制台I/O 651
34.8 文件I/O 652
34.8.1 文件输出 652
34.8.2 文件输入 653
34.8.3 文件I/O范例 654
34.9 函数和模块 655
34.9.1 函数 655
34.9.2 模块 656
34.10串和正则表达式 656
34.10.1 串 656
34.10.2 正则表达式 659
34.10.3 串和正则表达式范例 662
34.11 类 663
34.11.1 类的定义和实例化 663
34.11.2 封装和个人ID 664
34.11.3 继承 666
34.12 其他Python性能 667
34.13 总结 668
第35章 Java程序 669
35.1 何为Java 669
35.1.1 Java的用途 669
35.1.2 Java虚拟机 670
35.1.3 应用程序和Applet 670
35.2 Red Hat Linux中的Java支持 671
35.3 软件开发工具箱 671
35.1.4跨平台开发和本地平台开发 671
35.4 Java语言概述 672
35.4.1 对象、类和面向对象程序 673
35.4.2 数据类型 674
35.4.3 表达式 675
35.4.4 控制语句:if-else、while和for 677
35.4.5 编写自己的方法 678
35.4.6 比较Java与C和C++ 679
35.4.7 异常事件处理 679
35.4.8 Java对象包 680
35.5 编写Java程序 683
35.5.1 创建代码 684
35.5.3 创建并执行应用程序 685
35.5.4 创建并运行Applet 685
35.5.2 编译Java源代码 685
35.6 Java和Internet 687
35.6.1 JDBC 687
35.6.2 RMI 687
35.6.3 Java.net:网络技术 688
35.7 Servlet 690
35.8 其他参考 691
35.8.1 书籍 691
35.8.2 Web站点 691
35.9 小结 692
第五部分 附录 693
附录A Linux文档计划概述 693
附录B 常用Linux命令和工具 696
附录C Linux文档计划的版权许可协议 721
附录D 与其他系统一起工作 723