第一部分 UNIX/Linux系统基础知识 2
第1章 UNIX系统概述 2
1.1 什么是UNIX 2
1.2 UNIX系统为什么如此重要 2
1.3 UNIX操作系统的结构 4
1.4 应用程序 5
1.5 UNIX基本原理 5
1.6 UNIX系统的诞生 6
1.7 GNU与Linux 9
1.8 UNIX的标准 10
1.9 广泛应用的UNIX变体 14
1.10 UNIX系统发展时间表 20
1.11 UNIX的主要贡献者 22
1.12 UNIX与Windows NT系统 22
1.13 UNIX未来 24
1.14 选择UNIX变体 25
1.15 本章小结 26
1.16 参考读物 26
第2章 UNIX入门 27
2.1 开始 27
2.2 注册 29
2.3 输入命令 32
2.4 电子邮件入门 36
2.5 注销 38
2.6 本章小结 39
2.7 参考读物 39
第3章 文件与目录操作 41
3.1 文件 41
3.2 目录 43
3.3 层次文件结构 43
3.4 UNIX系统的文件类型 45
3.5 常用的文件和目录操作命令 46
3.6 查找文件 57
3.7 文件列表命令的更多用法 58
3.8 访问权限 61
3.9 查看长文件 65
3.10 打印文件 68
3.11 本章小结 70
3.12 参考读物 71
第4章 Shell基础知识 72
4.1 常用的Shell 72
4.2 运行Shell 73
4.3 使用通配符 75
4.4 标准输入与输出 77
4.5 后台命令 81
4.6 作业控制 83
4.7 配置Shell 84
4.8 Shell变量 87
4.9 命令别名 93
4.10 命令历史 95
4.11 命令行编辑 97
4.12 命令替换 99
4.13 文件名填补 99
4.14 取消命令行中特殊字符的含义 100
4.15 本章小结 101
4.16 参考读物 101
第5章 文本编辑 103
5.1 vi编辑器 103
5.2 使用emacs编辑器 117
5.3 vim编辑器 125
5.4 pico编辑器 126
5.5 本章小结 126
5.6 参考读物 127
第6章 GNOME桌面 129
6.1 GNOME桌面环境的演变 130
6.2 本章小结 147
6.3 参考读物 148
第7章 CDE和KDE桌面 149
7.1 CDE和KDE桌面环境的演变 150
7.2 CDE桌面 151
7.3 KDE桌面 155
7.4 KDE的打印功能 172
7.5 注销KDE 172
7.6 本章小结 173
7.7 参考读物 173
第二部分 网络应用 178
第8章 电子邮件 178
8.1 UNIX系统中的电子邮件 178
8.2 命令行邮件程序 179
8.3 面向屏幕的邮件程序 180
8.4 图形界面的电子邮件程序 186
8.5 电子邮件管理工具 189
8.6 本章小结 191
8.7 参考读物 192
第9章 TCP/IP网络 193
9.1 基本网络概念 193
9.2 因特网协议系列 193
9.3 TCP/IP的工作原理 194
9.4 UNIX系统支持的TCP/IP网络命令 194
9.5 DARPA命令(包括ftp和telnet) 200
9.6 安全的Shell(ssh) 208
9.7 PPP和PPPoE 209
9.8 本章小结 209
9.9 参考读物 209
第10章 因特网 211
10.1 什么是因特网 211
10.2 访问因特网 211
10.3 Usenet 213
10.4 因特网邮寄列表 221
10.5 因特网中继聊天 222
10.6 即时消息 225
10.7 万维网 225
10.8 Web浏览器 226
10.9 本章小结 234
10.10 参考读物 234
第三部分 系统管理 236
第11章 进程与调度 236
11.1 进程 236
11.2 进程调度 239
11.3 进程优先级 242
11.4 信号与信号灯 246
11.5 实时进程 249
11.6 /proc文件系统 252
11.7 本章小结 252
11.8 参考读物 253
第12章 系统安全 254
12.1 安全是相对的 254
12.2 用户ID与用户组ID 255
12.3 访问控制表 256
12.4 基于角色的访问控制 257
12.5 passwd文件 258
12.6 文件加密 261
12.7 PGP 266
12.8 GPG 269
12.9 控制台终端加锁 271
12.10 安全地退出系统 272
12.11 特洛伊木马 272
12.12 计算机病毒与蠕虫病毒 273
12.13 用户安全准则 273
12.14 限制的Shell 274
12.15 操作系统的安全等级 275
12.16 本章小结 276
12.17 参考读物 277
第13章 基本系统管理 279
13.1 系统管理的基本概念 279
13.2 系统设置过程 286
13.3 系统维护任务 303
13.4 系统管理员应掌握的安全技巧 310
13.5 本章小结 312
13.6 参考读物 312
第14章 高级的系统管理 315
14.1 存储管理 315
14.2 系统服务管理 337
14.3 本章小结 342
14.4 参考读物 343
第四部分 网络管理 348
第15章 客户机与服务器 348
15.1 中型机与客户/服务器的发展 348
15.2 客户/服务器结构的特点 349
15.3 文件共享 352
15.4 本章小结 361
15.5 参考读物 361
第16章 Apache Web服务器 362
16.1 Web服务器概述 362
16.2 Apache的历史与现状 363
16.3 Apache的安装 364
16.4 配置Apache 371
16.5 Apache日志文件 381
16.6 本章小结 382
16.7 参考读物 382
第17章 网络管理 383
17.1 网络管理的基本概念 383
17.2 TCP/IP管理 383
17.3 DNS管理 397
17.4 sendmail电子邮件管理 402
17.5 NIS+管理 404
17.6 NFS管理 404
17.7 防火墙、代理服务器与Web网络安全 408
17.8 本章小结 412
17.9 参考读物 412
第18章 UNIX与Windows 414
18.1 从Windows用户转入UNIX系统环境 414
18.2 UNIX与Windows系统的网络功能 419
18.3 终端仿真 420
18.4 在UNIX系统中运行Windows应用和工具 422
18.5 在UNIX和Windows环境中共享文件和应用 423
18.6 在Windows系统中运行UNIX应用 426
18.7 在同一计算机上运行UNIX和Windows系统 429
18.8 共享UNIX与Windows环境的简单解决方案 431
18.9 本章小结 431
18.10 参考读物 432
第五部分 工具与程序设计第19章 过滤器与实用程序 436
19.1 检索模式 436
19.2 压缩和打包文件 440
19.3 统计文件行数、字数及文件大小 442
19.4 处理列和字段 443
19.5 排序 448
19.6 比较文件 450
19.7 查看文件内容 452
19.8 编辑和格式化文件 454
19.9 保存输出 458
19.10 日期和时间 459
19.11 数学计算 460
19.12 本章小结 464
19.13 参考读物 465
第20章 Shell脚本编程 466
20.1 Shell语言与其他编程语言比较 466
20.2 Shell脚本示例 467
20.3 执行脚本的其他方法 467
20.4 Shell脚本中的注释 468
20.5 变量处理 469
20.6 使用命令行参数 472
20.7 算术运算 474
20.8 条件执行 476
20.9 循环 481
20.10 Shell的输入与输出 484
20.11 创建函数 485
20.12 其他脚本编程技术 486
20.13 Shell程序调试 490
20.14 本章小结 491
20.15 参考读物 491
第21章 aWk和sed 492
21.1 awk版本 492
21.2 awk处理机制 493
21.3 定义模式 496
21.4 定义动作 499
21.5 输入和输出 505
21.6 sed 507
21.7 awk程序的错误修复 511
21.8 本章小结 511
21.9 参考读物 511
第22章 Perl 513
22.1 获取Perl 513
22.2 运行Perl脚本 513
22.3 Perl语法 514
22.4 标量变量 514
22.5 数组和列表 518
22.6 散列表 520
22.7 控制结构 521
22.8 定义过程 524
22.9 文件I/O 525
22.10 正则表达式 528
22.11 Perl模块 533
22.12 用Perl进行CGI脚本编程 533
22.13 故障排查 534
22.14 本章小结 537
22.15 参考读物 537
第23章 Python 539
23.1 安装Python 539
23.2 运行Python命令 539
23.3 Python语法 540
23.4 变量 541
23.5 控制结构 547
23.6 自定义函数 548
23.7 输入和输出 550
23.8 与UNIX系统交互 553
23.9 正则表达式 554
23.10 创建简单的类 556
23.11 异常 557
23.12 故障修复 557
23.13 本章小结 560
23.14 参考读物 561
第24章 C和C++编程工具 562
24.1 获取C/C++开发工具 562
24.2 gcc编译程序 562
24.3 makefile 566
24.4 gdb调试器 571
24.5 用CVS进行源代码控制 575
24.6 手册页 578
24.7 其他开发工具 580
24.8 本章小结 581
24.9 参考读物 581
第25章 Java概览 582
25.1 面向对象的程序设计 582
25.2 字节码和Java虚拟机(JVM) 582
25.3 应用程序和applet程序 583
25.4 Java开发工具(JDK) 583
25.5 一个简单的Java应用程序 583
25.6 Eclipse集成开发环境 584
25.7 Java语言 585
25.8 Java applet小程序 596
25.9 抽象窗口工具包(AWT) 597
25.10 多线程程序设计 599
25.11 本章小结 600
25.12 参考读物 600
第六部分 企业应用 602
第26章 UNIX应用程序和数据库 602
26.1 商业软件 602
26.2 开放源代码软件 602
26.3 关于要介绍的软件包 603
26.4 横向应用程序 604
26.5 本章小结 629
26.6 参考读物 629
第27章 UNIX下的Web开发 631
27.1 Web历史和Web标准 631
27.2 HTML句法基础 635
27.3 JavaScript与DOM 645
27.4 CSS 648
27.5 服务器端Web应用程序 651
27.6 Web制作软件 660
27.7 本章小结 662
27.8 参考读物 662
附录A 如何使用手册页 663