第1章 Linux与开源软件 2
1.1自由软件和开源运动 2
1.1.1自由软件简介 2
1.1.2FSF、 GNU和GNU Project 2
1.1.3自由软件协议 3
1.1.4自由软件及其商业价值 4
1.1.5开源软件及其相关组织 4
1.1.6自由软件v.s开放源码 5
1.2Linux操作系统简介 5
1.2.1Linux操作系统及其历史 6
1.2.2Linux系统的特点和组成 7
1.2.3Linux的内核版本与发行版本 8
1.2.4Linux的网络应用 9
1.3CentOS Linux简介 10
1.3.1Red Hat Linux系列发行版 11
1.3.2CentOS Linux的起源 11
1.3.3CentOS Linux的特点和版本 11
第2章 安装CentOS 5 13
2.1安装Linux之前的必备知识 13
2.1.1磁盘分区 13
2.1.2静态分区的缺点 14
2.1.3逻辑卷管理(LVM ) 15
2.2服务器方式安装CentOS 5 17
2.2.1下载CentOS 5 17
2.2.2使用安装光盘启动系统 17
2.3安装后的基本配置 25
2.3.1运行SetupAgent 25
2.3.2使用更新源的国内镜像 26
2.3.3安装必要的软件包 28
第3章 Linux字符界面操作基础 29
3.1字符操作界面简介 29
3.1.1选择在字符界面下工作 29
3.1.2虚拟控制台和本地登录 29
3.1.3远程登录Linux系统 30
3.1.4系统运行级别与关机 32
3.2Shell和命令操作基础 34
3.2.1 Shell简介 34
3.2.2命令操作基础 36
3.2.3获得命令帮助 37
3.3文件概述 39
3.3.1什么是文件 39
3.3.2文件的类型 39
3.4文件与目录操作命令 43
3.4.1目录操作命令 43
3.4.2文件操作命令 45
3.4.3文件打包压缩命令 48
3.5文本处理命令 50
3.6信息显示命令 55
3.7基本网络操作命令 60
第4章 Linux字符界面操作进阶 68
4.1提高工作效率 68
4.1.1命令行补全 68
4.1.2命令历史 69
4.1.3命令别名 70
4.2重定向和管道 71
4.2.1重定向 71
4.2.2管道 73
4.3文件权限及设置命令 74
4.3.1文件权限 74
4.3.2权限设置命令 76
4.4find 81
4.4.1find命令的格式 81
4.4.2选项表达式 81
4.4.3条件匹配表达式 82
4.4.4动作表达式 83
4.4.5组合条件表达式 83
4.4.6find命令使用举例 83
4.5正则表达式基础 87
4.5.1正则表达式基础 87
4.5.2grep 88
4.6文件编辑器Vi 90
4.6.1Vi及其3种运行模式 90
4.6.2普通模式下的操作 91
4.6.3命令行模式下的操作 93
4.7sed和awk 95
4.7.1sed 95
4.7.2awk 99
4.8进程管理和作业控制 105
4.8.1进程概述 105
4.8.2进程管理 106
4.8.3作业控制 109
4.9Shell变量和Shell环境 111
4.9.1用户自定义变量 112
4.9.2Shell变量的作用域 114
4.9.3环境变量 116
4.9.4用户工作环境 116
第5章 Shell脚本编程 118
5.1Shell脚本简介 118
5.1.1什么是Shell脚本 118
5.1.2Shell脚本中的成分 118
5.1.3Shell脚本的建立与执行 118
5.1.4Shell脚本的编码规范 120
5.2深入Shell变量操作 120
5.2.1变量替换扩展 120
5.2.2变量的字符串操作 122
5.2.3变量的数值计算 122
5.2.4 Shell变量的输入 123
5.3条件测试 124
5.3.1命令执行顺序 124
5.3.2测试语句 125
5.3.3条件测试语句示例 126
5.4使用特殊环境变量 128
5.4.1Shell变量的详细分类 128
5.4.2位置变量的使用 129
5.4.3进程状态变量的使用 130
5.5分支结构 131
5.5.1if结构 131
5.5.2case结构 134
5.6循环结构 135
5.6.1当型循环和直到型循环 135
5.6.2foreach型循环和计数型循环 136
5.7子程序结构 139
5.7.1函数简介 139
5.7.2函数的定义和调用 139
5.7.3函数使用举例 140
5.8Shell脚本示例分析 144
5.8.1sysinfo脚本分析 144
5.8.2init脚本分析 147
第6章 包管理与系统更新 150
6.1使用RPM管理包 150
6.1.1RPM概述 150
6.1.2rpm命令的使用 151
6.2使用yum工具更新系统 154
6.2.1yum简介 154
6.2.2CentOS的镜像和仓库 155
6.2.3配置yum客户的更新源 156
6.2.4使用yum命令工具 159
6.2.5加速yum的下载 160
6.2.6系统自动更新 161
第7章 账户管理 162
7.1账户管理概述 162
7.1.1账户实质 162
7.1.2用户和组 162
7.1.3 Linux环境下的账户系统文件 163
7.2使用账户管理命令 165
7.2.1组管理 165
7.2.2用户管理 166
7.3口令管理和口令时效 168
7.3.1使用passwd命令管理口令 168
7.3.2口令时效 170
7.4用户切换和用户状态命令 172
7.4.1用户切换命令 172
7.4.2用户状态命令 177
第8章 磁盘管理和LVM管理 178
8.1硬盘相关概念 178
8.1.1硬盘及其组成 178
8.1.2硬盘的技术指标 179
8.1.3硬盘接口方式 180
8.1.4服务器硬盘的选择 185
8.1.5硬盘的相关术语 186
8.2磁盘分区工具 187
8.2.1fdisk命令 187
8.2.2parted命令 190
8.3创建LVM系统 194
8.3.1概述 194
8.3.2在磁盘或磁盘分区上创建物理卷PV 194
8.3.3使用物理卷创建卷组VG 197
8.3.4在卷组VG中创建逻辑卷LV 198
8.3.5在逻辑卷LV上创建文件系统FS 201
8.4维护LVM系统 202
8.4.1 LVM命令集 202
8.4.2扩展LVM 202
第9章 文件系统管理 206
9.1 Linux文件系统概述 206
9.1.1什么是文件系统 206
9.1.2文件系统布局 206
9.1.3几个重要的文件系统 207
9.1.4几个特殊的文件系统 209
9.1.5主流的日志文件系统 209
9.1.6其他类型的文件系统 212
9.1.7非日志文件系统和日志文件系统 212
9.1.8使用文件系统的一般方法 213
9.2挂装和卸载文件系统 214
9.2.1挂装文件系统 214
9.2.2自动挂装文件系统 215
9.2.3挂装选项 216
9.2.4卸载文件系统 217
9.3 ext2/ext3文件系统管理 217
9.3.1 ext2/ext3文件系统管理工具 217
9.3.2创建ext2/ext3文件系统 218
9.3.3检查ext2/ext3文件系统 220
9.3.4调整ext2/ext3文件系统的属性 221
9.3.5管理ext2/ext3文件系统的卷标 224
9.4磁盘限额 224
9.4.1磁盘限额概述 224
9.4.2配置quota 225
9.4.3查看磁盘限额 227
第10章 TCP/IP网络配置 229
10.1配置基本网络参数 229
10.1.1使用ifconfig命令配置以太网 229
10.1.2直接修改配置文件配置以太网 231
10.1.3设置本地主机名 232
10.1.4设置DNS客户和本地主机解析 232
10.2路由表和静态路由 232
10.2.1 Linux内核路由表 232
10.2.2配置静态路由 233
10.3网络测试方法和测试工具 234
10.3.1网络测试的一般方法 235
10.3.2网络测试工具的使用 236
第11章 CentOS系统引导和启动 238
11.1 CentOS系统启动过程 238
11.1.1 CentOS启动过程简介 238
11.1.2 init进程 239
11.2系统引导器 241
11.2.1 GRUB功能简介 241
11.2.2 GRUB的操作界面 241
11.2.3 GRUB的配置文件 244
11.2.4 GRUB配置文件举例 246
11.3单用户模式和修复模式 247
11.3.1单用户模式 248
11.3.2修复模式 250
第12章 守护进程管理 253
12.1守护进程简介 253
12.1.1什么是守护进程 253
12.1.2网络守护进程 253
12.1.3超级服务器的引入 254
12.1.4守护进程的运行方式 254
12.1.5 CentOS常见的守护进程 254
12.2管理守护进程 258
12.2.1查看守护进程树 259
12.2.2守护进程的启用和停止 259
12.2.3管理守护进程的启动脚本 260
12.2.4网络服务器的典型配置方法 262
12.3 xinetd和TCPWrapper 263
12.3.1扩展网络守护进程xinetd 263
12.3.2 TCP Wrappers 266
12.4时钟同步守护进程 269
12.4.1 Linux的时钟 269
12.4.2网络时钟同步 269
12.4.3配置NTP服务器 270
12.5安全登录守护进程 272
12.5.1 OpenSSH和密钥认证协议 272
12.5.2 OpenSSH及其相关文件 273
12.5.3配置OpenSSH服务器 274
12.5.4使用OpenSSH客户端 274
12.6安排周期性任务 275
12.6.1安排周期性任务概述 275
12.6.2安排用户自己的周期性任务 275
12.6.3安排系统的周期性任务 277
12.7日志系统和系统日志 279
12.7.1日志系统 279
12.7.2查看日志文件 282
12.7.3日志滚动 284
第13章 系统监控 288
13.1系统监视初步 288
13.1.1系统监视概述 288
13.1.2收集基本的系统信息 289
13.1.3全屏动态监视 291
13.2 lsof工具 292
13.2.1 lsof的功能和命令格式 292
13.2.2 lsof命令示例 293
13.2.3 lsof的输出项说明 294
13.3 sysstat工具 295
13.3.1sysstat工具简介 296
13.3.2sar命令 296
13.3.3iostat命令 304
13.3.4mpstat命令 307
13.4psacct工具 308
13.4.1psacct简介 308
13.4.2lastcomm命令 309
13.4.3sa命令 310
13.4.4ac命令 313
第14章 备份与恢复 315
14.1备份简介 315
14.1.1什么是备份 315
14.1.2备份介质的选择 316
14.1.3备份策略 317
14.1.4确定要备份的数据 318
14.1.5 Linux备份工具 319
14.1.6备份注意事项 320
14.2使用tar备份 320
14.2.1 tar命令 321
14.2.2使用tar备份文件 322
14.2.3使用tar恢复文件 324
14.2.5使用tar的备份脚本 325
14.3使用rsync同步 328
14.3.1 rsync简介 328
14.3.2 rsync命令 329
14.3.3 rsync的基本使用 331
14.3.4筛选rsync的传输目标 332
14.3.5 rsync应用示例 334
14.4使用rsync服务 341
14.4.1 rsync服务简介 341
14.4.2配置rsync服务 342
14.4.3 rsync服务器与备份 346
14.4.4 rsync服务器应用 346
14.5 Linux的光盘刻录 353
14.5.1光盘刻录简介 353
14.5.1光盘刻录过程 354
14.5.2使用光盘刻录脚本 356