目录 1
第1章 Linux概述 1
1.1 Linux简介 2
1.1.1 Linux的版本 3
1.1.2 选择Linux的原因 7
1.1.3 Linux内核发展 7
1.1.4 Linux系统发布方式 8
1.2 Linux系统的特性 8
1.2.1 Linux和其他系统的区别 9
1.2.2 Linux系统的特性 12
1.2.3 Fedora Core特性 14
1.3 Red Hat Linux的组成 16
1.3.1 内核 16
1.3.2 shell 16
1.3.3 文件结构 17
1.3.4 实用工具 17
1.4 思考与练习 18
第2章 安装Linux操作系统 19
2.1 安装前的准备工作 20
2.1.1 配置系统资源 20
2.1.2 磁盘分区 21
2.2 安装Fedora Core 4.0 23
2.2.1 安装方式 23
2.2.2 系统分区 26
2.2.3 网络配置和其他事项 28
2.2.4 完成安装 30
2.2.5 安装过程中的故障排除 32
2.2.6 卸载Fedora Core 4.0 33
2.3 硬盘安装Fedora Core 34
2.3.1 安装环境的简要说明 34
2.3.2 配置启动文件 36
2.3.3 安装Fedora Core 37
2.4 系统的基本操作 39
2.4.1 引导Linux系统 39
2.4.2 登录Fedora Core 4.0系统 40
2.4.3 关闭Fedora Core 4.0系统 41
2.5 思考与练习 42
第3章 Linux的内核 44
3.1 Linux系统内核简述 45
3.1.1 Linux内核的版本 45
3.1.2 什么是内核 45
3.1.3 内核的基本概念 46
3.2 重要的数据结构 48
3.2.1 内核结构 48
3.2.2 Linux内核组成 49
3.2.3 动态内存管理 52
3.3 算法简介 53
3.3.1 信号 53
3.3.2 Linux系统的中断 55
3.3.3 定时器中断 56
3.3.4 调度程序 58
3.4 Linux操作系统的进程 60
3.4.1 进程以及进程间通信机制 61
3.4.2 Linux进程 61
3.4.3 关于Linux线程 62
3.4.4 会话和进程组 63
3.4.5 进程调度 63
3.4.6 进程的创建 65
3.4.7 管道 66
3.5 升级内核 66
3.5.1 为什么要升级内核 67
3.5.2 内核的配置与编译 67
3.6 思考与练习 68
第4章 Linux图形操作界面 70
4.1 X Window简介 71
4.1.1 X系统的产生 71
4.1.2 X系统的特点 71
4.1.3 X Window与Microsoft Windows 72
4.2 X Window系统 73
4.2.1 X Window的基本组成 73
4.2.2 文件管理器 75
4.2.3 窗口管理器 75
4.2.4 硬件安装 78
4.3 GNOME 82
4.3.1 GNOME简介 82
4.3.2 GNOME环境 82
4.3.3 GNOME基本设置 84
4.3.4 文件管理器 87
4.3.5 个性化环境设置 93
4.3.6 GNOME常见问题 95
4.4 课堂练习4-1:搜索文件 96
4.5 课堂练习4-2:编辑文件 97
4.6.1 KDE简介 99
4.6 KDE 99
4.6.2 添加KDE 101
4.6.3 KDE桌面环境 102
4.6.4 KDE开发环境 103
4.6.5 KDE基本操作 104
4.7 Linux实用技巧和常见问题 106
4.7.1 实用技巧 106
4.7.2 常见问题 108
4.7.3 优化系统 112
4.8 思考与练习 113
第5章 Linux文件系统 115
5.1 文件系统工作原理 116
5.1.1 块分配(block allocation) 116
5.1.2 扩展分配(extent allocation) 116
5.2 文件系统和目录结构 117
5.2.1 文件系统简介 117
5.2.2 ext2文件系统 119
5.2.3 ext3文件系统 123
5.2.4 ReiserFS文件系统 125
5.2.5 文件系统的转换 126
5.2.6 安装和卸载文件系统 127
5.2.7 日志文件简介 129
5.3 Linux的文件系统 132
5.3.1 文件名和类型简介 132
5.3.2 文件权限简介 135
5.4 交换文件和交换分区 136
5.4.1 交换文件和交换分区 136
5.4.2 添加交换分区 137
5.4.3 添加交换文件 138
5.4.4 删除交换空间/文件 138
5.5 课堂练习5-1:添加交换分区 140
5.6 加载Windows文件系统 142
5.6.1 常用命令简介 142
5.6.2 加载NTFS文件系统分区 143
5.6.3 加载FAT32文件系统分区 144
5.7 思考与练习 145
第6章 管理Linux操作系统 147
6.1 用户管理 148
6.1.1 Linux操作系统 148
6.1.2 用户User 149
6.1.3 用户组Group 152
6.1.4 /etc/gshadow 154
6.1.5 管理用户 155
6.1.6 添加用户或用户组 157
6.1.7 修改用户或用户组 160
6.1.8 在GNOME桌面环境设置用户 161
6.1.9 控制系统超级权限 163
6.2 系统信息 166
6.2.1 系统进程 166
6.2.2 查看内存和磁盘用量 167
6.2.3 查看硬件信息 168
6.3 软件包管理 170
6.3.1 软件包管理器 170
6.3.2 RPM简介 171
6.3.3 RPM命令简介 171
6.4 课堂练习6-1:在Linux中使用RPM 175
6.5 备份与恢复 176
6.5.1 备份文件 176
6.5.2 备份的相关命令 177
6.6.1 启动盘的类型 180
6.6.2 启动盘的制作 180
6.6 制作Linux启动盘 180
6.7 配置打印机 185
6.7.1 添加打印机 185
6.7.2 设置打印共享 186
6.7.3 命令行配置打印机 187
6.8 思考与练习 188
第7章 常用Linux命令 190
7.1 Linux命令基础 191
7.1.1 文件名与路径 191
7.1.2 Linux命令格式 191
7.1.3 系统帮助 192
7.1.4 进入与退出Linux系统 193
7.2 常用Linux命令 195
7.2.1 Linux DOS命令 195
7.2.2 目录操作命令 196
7.2.3 文件操作命令 199
7.2.4 文件备份和压缩命令 203
7.2.5 关机和系统管理命令 205
7.2.6 用户管理命令 207
7.2.7 文件阅读的命令 212
7.2.8 打印文件命令 214
7.2.9 磁盘管理命令 216
7.2.10 其他命令介绍 217
7.2.11 Linux命令使用技巧 222
7.3 课堂练习7-1:创建文件夹 224
7.4 思考与练习 225
第8章 shell编程基础 227
8.1 shell简介 228
8.1.1 shell的背景 228
8.1.2 shell的功能 231
8.2.2 用户定义的变量 234
8.2.1 shell定义的环境变量 234
8.2 shell基本语法 234
8.2.3 内部变量 237
8.2.4 参数置换的变量 237
8.2.5 位置参数 238
8.3 shell程序基础 238
8.3.1 变量表达式 238
8.3.2 shell中的符号 239
8.3.3 bash介绍 242
8.4 循环语句 245
8.4.1 for语句 245
8.4.2 while语句 246
8.4.3 until语句 247
8.4.4 select语句 248
8.4.5 shift语句 248
8.5 条件语句 249
8.5.1 if语句 249
8.5.2 case语句 251
8.6.2 exit语句 252
8.7 函数 252
8.6.1 break与contiune 252
8.6 其他语句简介 252
8.7.1 定义和使用函数 253
8.7.2 向函数传递参数 254
8.7.3 从调用函数中返回 254
8.8 进程 255
8.8.1 进程管理及作业控制 255
8.8.2 启动进程 257
8.8.3 查看进程 264
8.8.4 进程调度 265
8.8.5 调整优先级 267
8.8.6 信号机制 270
8.9 思考与练习 272
第9章 Linux网络基础 274
9.1 计算机网络 275
9.1.1 什么是计算机网络 275
9.1.2 物理拓扑结构 275
9.2 计算机网络系统 277
9.2.1 网络软件 277
9.2.2 网络通信介质 278
9.2.3 网络传输设备 280
9.3.1 TCP/IP基础 283
9.3 TCP/IP协议 283
9.3.2 IP地址简介 284
9.3.3 建立Internet连接 289
9.4 其他网络协议 291
9.4.1 IPX/SPX协议 291
9.4.2 NetBIOS和NetBEUI协议 291
9.4.3 FTP协议 292
9.4.4 PPP协议 293
9.4.5 HTTP协议 295
9.4.6 DHCP协议 297
9.5.1 网络管理的功能 298
9.5 网络管理 298
9.5.2 常用命令 299
9.5.3 netstat命令 304
9.5.4 TCP/IP配置文件介绍 306
9.6 Linux常用浏览器 308
9.6.1 Linux浏览器简介 309
9.6.2 Gnome下的浏览器 313
9.7 课堂练习9-1:建立ADSL连接 313
9.8 思考与练习 315
第10章 Linux网络服务器 317
10.1.1 NFS的特点 318
10.1 网络文件系统 318
10.1.2 NFS的工作原理和服务进程的作用 319
10.1.3 挂载NFS文件系统 320
10.1.4 网络信息服务(NIS) 322
10.2 FTP服务器WU-FTPD 323
10.2.1 WU-FTPD的安装和组成 323
10.2.2 WU-FTPD的配置 324
10.2.3 wu-ftp相关命令的使用 330
10.2.4 ftp命令行的客户程序 331
10.3.1 安装Samba软件 335
10.3 Samba软件 335
10.3.2 配置Samba 336
10.3.3 连接Samba共享 343
10.3.4 Samba配置参数介绍 344
10.4 Web服务器配置 346
10.4.1 WWW简介 346
10.4.2 安装Apache 347
10.4.3 设置Apache服务器 349
10.5 课堂练习10-1:增加用户验证功能 352
10.6 配置DNS服务器 353
10.6.1 DNS服务器的基本概念 354
10.6.2 建立域名服务器 355
10.7 思考与练习 359
第11章 Linux网络安全 362
11.1 基本安全知识 363
11.1.1 计算机安全定义 363
11.1.2 计算机不安全因素 363
11.2 计算机病毒 364
11.2.1 认识计算机病毒 364
11.2.3 病毒的预防 365
11.2.2 病毒的传播途径 365
11.3 人为性破坏 366
11.3.1 DoS攻击 366
11.3.2 网络黑客 366
11.4 Linux系统的安全措施 367
11.4.1 基本安全设置 368
11.4.2 高级安全措施 368
11.4.3 Linux系统的安全机制 373
11.4.4 网络系统受到的攻击和防范 374
11.5.1 认识防火墙 377
11.5 网络安全 377
11.5.2 配置Linux防火墙 378
11.5.3 OpenSSH 379
11.6 思考与练习 383
第12章 Linux应用软件 385
12.1 OpenOffice.org 2.0概述 386
12.1.1 OpenOffice简史 386
12.1.2 OpenOffice组件的说明 386
12.2 OpenOffice org Writer 387
12.2.1 OpenOffice.org Writer工作界面 388
12.2.2 Writer入门操作 388
12.2.3 Writer快捷键和基本设置 390
12.3 课堂练习12-1:使用Writer编辑通知 392
12.4 OpenOffice.org Calc 393
12.4.1 Calc简介和功能 394
12.4.2 Calc快速入门 394
12.5 课堂练习12-2:制作用品采购表 396
12.6 OpenOffice.org Impress 398
12.6.1 启动Impress 398
12.6.2 Impress快速入门 399
12.6.4 Linux办公组件间的数据调用 400
12.6.3 OpenOffice.org Draw 400
12.7 常用应用软件简介 402
12.7.1 GIMP简介 402
12.7.2 图像浏览器 404
12.7.3 多媒体播放软件 405
12.7.4 电子邮件 406
12.7.5 文本编辑器 408
12.7.6 其他软件 409
12.8 课堂练习12-3:使用GIMP制作水晶按钮 410
12.9 安装应用软件 412
12.9.1 常见软件安装方式 412
12.9.2 安装软件 414
12.10 思考与练习 417
第13章 语言简介 418
13.1 Linux下的C++ 419
13.1.1 C语言编译器GCC 419
13.1.2 GCC选项 420
13.1.3 其他C编程工具 422
13.1.4 使用GCC编程 424
13.2 程序维护工具make 426
13.2.1 make简介 427
13.2.2 GNU make工具 429
13.2.3 make命令 431
13.3 Linux下的Java 432
13.3.1 在Linux系统安装Java 433
13.3.2 Java的应用领域 434
13.3.3 Java编程案例 435
13.4 Linux下的PHP 439
13.4.1 PHP的编辑工具 439
13.4.2 PHP的流程控制 440
13.5 思考与练习 442
习题答案 444