第1章 运筹帷幄,操控全盘:高级文件系统管理 1
1.1 磁盘配额 1
1.1.1 什么是磁盘配额 1
1.1.2 磁盘配额中的常见概念 2
1.1.3 磁盘配额的实现过程 3
1.1.4 磁盘配额的查询 10
1.1.5 磁盘配额的测试 11
1.1.6 非交互设定用户磁盘配额 13
1.2 LVM(逻辑卷管理) 14
1.2.1 LVM的概念 14
1.2.2 图形界面安装系统时配置LVM分区 15
1.2.3 命令模式管理LVM——物理卷管理 21
1.2.4 命令模式管理LVM——卷组管理 23
1.2.5 命令模式管理LVM——逻辑卷管理 26
1.3 RAID(磁盘阵列) 29
1.3.1 RAID简介 29
1.3.2 图形界面安装系统时配置RAID 34
1.3.3 命令模式配置RAID 5 38
本章小结 44
测试题 44
第2章 化简单为神奇:Shell基础 46
2.1 Shell概述 46
2.1.1 什么是Shell 46
2.1.2 Shell的分类 47
2.2 Shell脚本的运行方式 49
2.2.1 输出命令echo 49
2.2.2 Shell脚本的运行 51
2.3 Bash的基本功能 53
2.3.1 历史命令 53
2.3.2 命令与文件补全 55
2.3.3 命令别名 56
2.3.4 Bash常用快捷键 58
2.3.5 输入/输出重定向 58
2.3.6 多命令顺序执行 62
2.3.7 管道符 65
2.3.8 通配符 68
2.3.9 Bash中的其他特殊符号 69
2.4 Bash的变量和运算符 72
2.4.1 什么是变量 72
2.4.2 用户自定义变量 74
2.4.3 环境变量 76
2.4.4 位置参数变量 83
2.4.5 预定义变量 86
2.4.6 接收键盘输入 87
2.4.7 Shell的运算符 89
2.4.8 变量测试与内容置换 93
2.5 环境变量配置文件 96
2.5.1 source命令 96
2.5.2 环境变量配置文件的分类 97
2.5.3 Shell登录信息 99
2.5.4 定义Bash快捷键 101
本章小结 101
测试题 102
第3章 管理员的九阳神功:Shell编程 104
3.1 正则表达式 104
3.1.1 什么是正则表达式 104
3.1.2 基础正则表达式 105
3.1.3 扩展正则表达式 111
3.2 字符截取和替换命令 111
3.2.1 cut列提取命令 112
3.2.2 awk编程 114
3.2.3 sed命令 122
3.3 字符处理命令 126
3.3.1 排序命令sort 126
3.3.2 uniq命令 128
3.3.3 统计命令wc 128
3.4 条件判断 128
3.4.1 按照文件类型进行判断 128
3.4.2 按照文件权限进行判断 130
3.4.3 两个文件之间进行比较 130
3.4.4 两个整数之间进行比较 131
3.4.5 字符串判断 131
3.4.6 多重条件判断 132
3.5 流程控制 132
3.5.1 if条件判断 133
3.5.2 多分支case条件语句 142
3.5.3 for循环 144
3.5.4 while循环 151
3.5.5 until循环 152
3.5.6 函数 153
3.5.7 特殊流程控制语句 154
本章小结 157
测试题 158
第4章 庖丁解牛,悬丝诊脉:Linux启动管理 159
4.1 CentOS 6.x系统启动过程详解 159
4.1.1 CentOS 6.x基本启动流程 160
4.1.2 BIOS自检 160
4.1.3 MBR的结构 161
4.1.4 启动引导程序的作用 162
4.1.5 加载内核,内核重新自检并加载内核模块 163
4.1.6 调用/sbin/init进程 165
4.1.7 调用/etc/init/rcS.conf配置文件 166
4.1.8 由/etc/rc.d/rc.sysinit配置文件进行Linux系统初始化 166
4.1.9 由/etc/inittab配置文件确定系统的默认运行级别 167
4.1.10 先调用/etc/init/rc.conf,再调用/etc/rc.d/rc脚本文件 169
4.1.11 调用/etc/rc.d/rc.local文件 169
4.2 启动引导程序(Boot Loader) 170
4.2.1 GRUB加载内核的过程 171
4.2.2 /boot/grub/目录 172
4.2.3 GRUB的配置文件 173
4.2.4 手工安装GRUB 176
4.2.5 GRUB加密 181
4.2.6 纯字符界面调整分辨率 183
4.3 内核模块管理 184
4.3.1 内核模块保存位置与模块保存文件 185
4.3.2 内核模块的查看 186
4.3.3 内核模块的添加与删除 187
4.3.4 安装NTFS文件系统模块 187
4.4 系统修复模式 191
4.4.1 单用户模式 191
4.4.2 光盘修复模式 193
4.4.3 Linux的安全性 197
本章小结 198
测试题 199
第5章 掌柜先生敲算盘:服务管理 200
5.1 服务的简介与分类 200
5.1.1 服务的分类和区分 201
5.1.2 服务和端口 203
5.2 RPM包默认安装的服务管理 207
5.2.1 独立服务的管理 208
5.2.2 基于xinetd服务的管理 216
5.3 源码包安装的服务管理 219
5.3.1 源码包服务的启动管理 219
5.3.2 源码包服务的自启动管理 220
5.3.3 让源码包服务被服务管理命令识别 220
5.4 总结服务管理 223
5.5 Linux中常见服务的作用 223
本章小结 226
测试题 226
第6章 七剑下天山:系统管理 227
6.1 进程管理 227
6.1.1 进程简介 228
6.1.2 进程的查看 229
6.1.3 进程的管理 237
6.1.4 进程的优先级 241
6.2 工作管理 244
6.2.1 工作管理简介 244
6.2.2 如何把命令放入后台 244
6.2.3 后台命令管理 245
6.3 系统资源查看 248
6.3.1 vmstat命令:监控系统资源 248
6.3.2 dmesg命令:显示开机时的内核检测信息 249
6.3.3 free命令:查看内存使用状态 250
6.3.4 查看CPU信息 250
6.3.5 查看本机登录用户信息 251
6.3.6 uptime命令 253
6.3.7 查看系统与内核的相关信息 253
6.3.8 lsof命令:列出进程调用或打开的文件信息 254
6.4 系统定时任务 256
6.4.1 at命令:一次性执行定时任务 256
6.4.2 crontab命令:循环执行定时任务 260
6.4.3 anacron 265
本章小结 268
测试题 268
第7章 凡走过必留下痕迹:日志管理 269
7.1 日志简介 269
7.1.1 日志相关服务 270
7.1.2 系统中常见的日志文件 270
7.2 日志服务rsyslogd 271
7.2.1 日志文件的格式 272
7.2.2 rsyslogd服务的配置文件 272
7.3 日志轮替 279
7.3.1 日志文件的命名规则 280
7.3.2 logrotate配置文件 280
7.3.3 把自己的日志加入日志轮替 283
7.3.4 logrotate命令 284
7.4 日志分析工具 286
本章小结 290
测试题 291
第8章 搭台唱戏:LAMP环境搭建和LNMP环境搭建 292
8.1 LAMP环境搭建 292
8.1.1 LAMP安装前的准备工作 293
8.1.2 LAMP环境安装过程 299
8.2 LNMP环境搭建 316
8.2.1 LNMP安装前的准备工作 317
8.2.2 LNMP环境一键安装步骤 317
本章小结 322
测试题 322
第9章 常在河边走,哪有不湿鞋:备份与恢复 323
9.1 数据备份简介 323
9.1.1 Linux服务器中的哪些数据需要备份 324
9.1.2 备份策略 325
9.2 备份和恢复命令:dump和restore 327
9.2.1 dump命令 327
9.2.2 restore命令 330
9.3 备份命令dd 333
本章小结 336
测试题 336
第10章 服务器安全一阳指:SELinux管理 338
10.1 什么是SELinux 339
10.1.1 SELinux的作用 339
10.1.2 SELinux的运行模式 340
10.2 SELinux的安装与启动管理 341
10.2.1 SELinux的安装 341
10.2.2 SELinux的启动管理 341
10.3 SELinux安全上下文管理 343
10.3.1 安全上下文的查看 343
10.3.2 修改和设置安全上下文 346
10.3.3 查询和修改默认安全上下文 348
10.4 SELinux日志查看 350
10.4.1 auditd的安装与启动 350
10.4.2 auditd日志的使用 350
10.5 SELinux的策略规则 353
10.5.1 策略规则的查看 353
10.5.2 策略规则的开启与关闭 355
本章小结 357
测试题 358
测试题答案 359