描述
开 本: 128开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121372216
目前大型应用程序都采用一个应用程序架设在多个Linux服务器上的架构,即Linux集群。Linux云计算集群架构师就是指云端Linux服务器运维工程师,是一个技术要求很高的工种。需要掌握的技术很多。本丛书通过大量实例,循序渐进地讲解了在Linux 发行版CentOS7.6系统中的基础操作,用户管理,权限管理,磁盘管理等技术和各种实战经验与技巧。 具体内容涵盖了部署虚拟环境、安装Linux系统;常用的Linux命令;与文件读写操作有关的技术;使用Vim编辑器编写和修改配置文件;用户身份与文件权限的设置;硬盘设备分区、格式化以及挂载等操作;部署RAID磁盘阵列和LVM;网络相关命令;shell脚本基础到实战等本书适合打算系统、全面学习Linux技术的初学人员阅读,具有一定Linux使用经验的用户也可以通过本书来温习自己的Linux知识。作者用大众能理解的语言讲解了高深的Linux特性。通俗易懂、深入浅出,又密切结合应用案例,透彻展示出Linux的系统管理是如何在实际中贯穿的,从而让读者真正掌握Linux的强大之处。书中使用图文并茂的方式展示出详细的操作过程小白也能看懂,一切从实际出发。旨在打造简单易学且实用性强的轻量级Linux入门教程。本书主要讲Linux学习环境搭建、Linux基本操作、Linux基本命令、文件基本管理、Vim编辑器、CentOS用户管理、CentOS文件管理、CentOS软件包安装与管理、文件的归档与压缩、CentOS系统进程管理、重定向和文件查找、硬盘介绍和磁盘管理、Linux文件系统结构、RAID磁盘阵列、LVM管理、Linux计划任务、Linux系统启动原理、Linux网络管理技术、shell脚本、条件测试语句
第1章 Linux学习环境搭建·· 1
1.1 Linux发展史·· 1
1.1.1 Linux介绍·· 1
1.1.2 Linux崛起·· 1
1.1.3 Linux常用发行版·· 1
1.1.4 Linux优势·· 2
1.2 VMware虚拟机安装·· 3
1.3 创建虚拟机及安装CentOS系统·· 6
1.3.1 创建虚拟机·· 6
1.3.2 解决“Intel VT-x处于禁用状态打不开”的问题·· 11
1.3.3 安装CentOS 7.6系统·· 13
1.4 VMware虚拟机的12个使用技巧·· 23
第2章 Linux基本操作和组装服务器·· 29
2.1 Linux网络相关概念和修改IP地址的方法·· 29
2.1.1 网卡的命名规则·· 30
2.1.2 使用root用户登录操作系统·· 30
2.1.3 ifconfig命令的使用方法·· 31
2.1.4 临时和永久修改·· 31
2.1.5 删除临时IP地址·· 33
2.1.6 NetworkManager概述(了解)·· 33
2.1.7 RHEL/CentOS Linux网络相关的配置文件(熟练)·· 34
2.1.8 永久修改IP地址·· 34
2.2 关闭防火墙并设置开机不启动防火墙·· 36
2.3 临时和永久关闭SELinux· 37
2.4 设置系统光盘开机自动挂载·· 37
2.5 配置本地YUM源·· 38
2.6 创建可用实验快照·· 39
2.7 CentOS 7电源设置·· 40
第3章 Linux基本命令操作·· 41
3.1 Linux终端介绍、Shell提示符、Bash基本语法·· 41
3.1.1 认识Linux终端·· 41
3.1.2 认识Shell 42
3.2 Linux基本命令·· 45
3.2.1 ls基本命令·· 45
3.2.2 命令别名的使用·· 47
3.2.3 cd基本命令·· 49
3.2.4 history基本命令·· 49
3.2.5 Linux中的快捷键·· 50
3.3 系统时间管理·· 50
3.3.1 两种时钟·· 50
3.3.2 time命令·· 52
3.4 帮助命令的使用·· 52
3.4.1 常用的帮助命令·· 52
3.4.2 man的章节及使用说明·· 53
3.5 关机、重启命令及7个运行级别·· 54
3.5.1 shutdown命令·· 54
3.5.2 7个运行级别·· 55
3.5.3 设置默认的运行级别·· 55
3.6 实战1:设置服务器通电后自动开机·· 56
第4章 文件的基本管理和XFS文件系统备份恢复·· 57
4.1 Linux系统目录结构和相对/路径·· 57
4.1.1 系统目录结构·· 57
4.1.2 路径和相对路径·· 59
4.2 文件的管理·· 60
4.2.1 touch命令·· 60
4.2.2 vim命令·· 61
4.2.3 mkdir命令·· 61
4.2.4 rm命令·· 61
4.2.5 cp命令·· 62
4.2.6 mv命令·· 62
4.3 查看文件·· 62
4.3.1 cat命令·· 62
4.3.2 more命令·· 63
4.3.3 less命令·· 63
4.3.4 head命令·· 64
4.3.5 tail命令·· 65
4.4 实战1:XFS文件系统的备份和恢复·· 65
4.5 实战2:增量备份文件系统·· 71
第5章 vim编辑器和Xmanager工具·· 73
5.1 vim主要模式介绍·· 73
5.1.1 安装vim及编辑模式·· 73
5.1.2 模式介绍·· 73
5.1.3 可视块模式·· 75
5.1.4 命令行模式操作·· 75
5.1.5 调用外部文件或命令·· 76
5.1.6 文本替换·· 76
5.1.7 自定义vim使用环境·· 77
5.1.8 使用vim打开多个文件·· 77
5.1.9 比较两个文件内容·· 78
5.1.10 其他编辑器·· 78
5.2 实战1:解决在Linux下打开Windows汉字出现乱码的问题·· 79
5.3 实战2:解决将Linux服务器上的脚本导入Windows但打开串行的问题·· 80
5.4 实战3:在CentOS 6/RHEL 6上恢复ext4文件系统上误删除的文件·· 81
5.4.1 恢复文件相关工具·· 81
5.4.2 知识扩展·· 81
5.4.3 在ext4文件系统上恢复被误删除的文件·· 82
5.5 实战4:使用Xmanager等远程连接工具管理Linux· 87
第6章 CentOS用户管理·· 89
6.1 用户和用户组的关系·· 89
6.2 创建用户相关命令·· 90
6.2.1 创建用户·· 90
6.2.2 修改用户属性·· 94
6.2.3 用户密码管理·· 95
6.2.4 查看用户相关命令·· 98
6.3 实战:进入CentOS 7紧急模式,恢复root密码·· 99
第7章 CentOS 7文件权限管理·· 101
7.1 文件的基本权限·· 101
7.1.1 文件权限的作用·· 101
7.1.2 更改文件的属主和属组·· 103
7.1.3 文件权限管理·· 105
7.1.4 文件权限补码·· 107
7.2 文件的特殊权限:SUID、SGID、STicky及文件扩展权限ACL· 109
7.2.1 文件的特殊权限:SUID、SGID、STicky· 109
7.2.2 文件扩展权限·· 111
7.3 实战:创建一个让root都无法删除的文件·· 113
第8章 CentOS 7程序包的管理与安装·· 115
8.1 程序包的管理·· 115
8.1.1 程序包的类型·· 115
8.1.2 RPM包简介·· 115
8.1.3 RPM包安装·· 115
8.1.4 rpm查询功能·· 116
8.1.5 检查程序包内容是否被修改过·· 117
8.1.6 rpm包的卸载和升级·· 118
8.2 Yum的使用·· 119
8.2.1 配置Yum源·· 120
8.2.2 Yum的使用·· 121
8.3 实战:tar源码包管理及srpm源码包安装方法·· 122
8.3.1 源码安装Nginx· 122
8.3.2 删除源码包·· 123
8.3.3 源码编译出错的5种完美解决方法·· 123
8.3.4 安装.src.rpm源码包的方法(了解)·· 125
第9章 文件的归档和压缩·· 126
9.1 使用tar命令进行文件的归档和压缩·· 126
9.1.1 归档和压缩文件·· 126
9.1.2 使用tar命令进行归档并压缩·· 127
9.2 zip管理压缩文件·· 128
9.3 gzip、bzip2、xz压缩文件及file、sort命令·· 129
9.3.1 压缩工具·· 129
9.3.2 file命令·· 130
9.3.3 sort命令·· 130
第10章 CentOS 7系统进程管理·· 133
10.1 进程概述及ps管理进程·· 133
10.1.1 什么是进程·· 133
10.1.2 使用ps命令查看进程·· 134
10.2 uptime命令查看系统负载和top命令动态管理进程·· 137
10.2.1 uptime命令查看系统负载·· 137
10.2.2 top命令·· 138
10.2.3 实战:找出系统中使用CPU多的进程·· 141
10.2.4 lsof命令·· 142
10.2.5 pstree命令·· 142
10.3 进程前、后台切换及优先级管理·· 142
10.3.1 实战:恢复被挂起的进程(了解)·· 143
10.3.2 关闭进程·· 143
10.3.3 进程的优先级管理·· 144
10.4 实战:使用screen执行备份命令·· 145
10.4.1 screen概述和安装·· 145
10.4.2 使用screen执行备份命令·· 146
第11章 重定向和文件的查找·· 147
11.1 文件描述符·· 147
11.2 重定向的含义及管道、tee命令的使用·· 148
11.2.1 输入重定向·· 149
11.2.2 输出重定向·· 149
11.2.3 EOF的使用·· 149
11.2.4 错误重定向·· 150
11.2.5 null黑洞和zero空文件·· 151
11.2.6 &>和>&符号·· 152
11.2.7 管道 | 的使用·· 153
11.2.8 tee命令(了解)·· 153
11.3 查找文件的常用命令及应用·· 154
11.3.1 查看文件常用命令·· 154
11.3.2 locate命令·· 154
11.3.3 grep命令·· 155
11.3.4 find命令·· 155
11.4 命令判断——3个特殊符号“;”“&&”“||”·· 159
第12章 磁盘介绍及管理·· 161
12.1 常见接口类型磁盘讲解·· 161
12.1.1 SAS磁盘·· 161
12.1.2 磁盘尺寸·· 162
12.1.3 磁盘种类·· 163
12.1.4 常见磁盘及存储设备介绍·· 163
12.2 磁盘分区工具和挂载·· 166
12.2.1 磁盘分区认识·· 166
12.2.2 各种分区的作用·· 166
12.2.3 使用fdisk命令管理磁盘分区·· 167
12.2.4 使用gdisk命令管理磁盘分区·· 172
12.3 实战:扩展Swap分区·· 174
第13章 Linux文件系统结构·· 178
13.1 磁盘结构·· 178
13.1.1 磁盘结构简介·· 178
13.1.2 簇和block· 181
13.2 文件系统结构·· 182
13.2.1 文件系统·· 182
13.2.2 inode的内容·· 185
13.2.3 inode的大小·· 185
13.2.4 目录文件·· 186
13.2.5 设定簇和block的大小·· 186
13.3 文件的硬链接和软链接·· 188
13.4 实战1:使用ln命令创建文件的链接·· 189
13.4.1 创建硬链接·· 189
13.4.2 创建软链接·· 190
13.4.3 inode的特殊作用·· 191
13.5 实战2:解决磁盘有空间但创建不了文件及修复文件系统问题·· 192
13.6 实战3:修复服务器文件系统·· 192
第14章 RAID的原理与搭建·· 194
14.1 RAID概念·· 194
14.1.1 RAID常见的类型·· 194
14.1.2 RAID 0的工作原理·· 195
14.1.3 RAID 1的工作原理·· 196
14.1.4 RAID 5的工作原理·· 197
14.1.5 嵌套RAID级别·· 197
14.1.6 RAID磁盘失效处理·· 198
14.2 RAID常用类型搭建和使用,以及注意事项·· 199
14.2.1 RAID的实现方式·· 199
14.2.2 RAID常用类型搭建·· 199
14.3 实战:企业中硬件RAID配置·· 206
第15章 LVM管理和SSM工具的使用·· 210
15.1 LVM的基本概念·· 210
15.1.1 LVM的工作原理·· 210
15.1.2 LVM常用的术语·· 211
15.2 创建LVM的基本步骤·· 212
15.2.1 创建并使用LVM·· 213
15.2.2 指定PE大小·· 216
15.2.3 LV扩容·· 217
15.2.4 VG扩容·· 218
15.2.5 缩小LVM·· 218
15.2.6 删除LVM·· 220
15.3 SSM工具·· 221
15.3.1 SSM简介·· 221
15.3.2 实战:为公司的邮件服务器创建基于LVM的邮件存储池·· 221
第16章 Linux计划任务与日志的管理·· 223
16.1 at计划任务及crontab定时任务的使用方法·· 223
16.1.1 at计划任务的使用·· 223
16.1.2 crontab定时任务的使用·· 225
16.1.3 系统级别的计划任务·· 226
16.1.4 实战:常见的计划任务写法和案例·· 227
16.2 日志的种类和记录的方式·· 228
16.2.1 常见日志文件的作用·· 228
16.2.2 日志的记录方式·· 229
16.2.3 rsyslog日志服务·· 230
16.2.4 日志输入的规则·· 231
16.3 实战1:自定义ssh服务的日志类型和存储位置·· 232
16.4 实战2:日志切割及搭建远程日志收集服务器·· 232
16.4.1 日志切割·· 232
16.4.2 使用logrotate进行ssh日志分割·· 234
16.4.3 配置远程日志服务器·· 235
16.5 实战3:配置公司内网服务器每天定时自动开关机·· 237
第17章 Linux系统启动原理及故障排除·· 239
17.1 CentOS 6系统启动过程及相关配置文件·· 239
17.1.1 CentOS 6系统启动过程·· 239
17.1.2 CentOS 6启动相关的配置文件·· 240
17.2 CentOS 7系统启动过程及相关配置文件·· 242
17.2.1 CentOS 7系统启动过程·· 242
17.2.2 Systemd运行原理(了解)·· 243
17.2.3 运行级别的切换·· 246
17.2.4 grub2和grub的区别(了解)·· 247
17.3 实战1:加密grub防止黑客通过单用户系统破解root密码·· 248
17.3.1 基于CentOS 6进行grub加密·· 248
17.3.2 基于CentOS 7进行grub加密·· 249
17.4 实战2:通过liveCD进入救援模式及修复损坏的grub· 250
17.5 实战3:在CentOS 7下误删除grub文件后进行修复·· 254
第18章 Linux网络管理技术·· 257
18.1 OSI七层参考模型和TCP/IP四层参考模型·· 257
18.1.1 OSI七层参考模型·· 257
18.1.2 常见网络相关的协议·· 259
18.1.3 TCP和UDP的区别·· 259
18.1.4 TCP和UDP常用端口·· 260
18.1.5 IP地址分类·· 260
18.2 Linux网络相关的调试命令·· 261
18.2.1 修改网卡IP地址·· 262
18.2.2 查看端口的监听状态·· 264
18.2.3 实战:优化TCP连接·· 265
18.2.4 配置DNS和路由相关信息·· 266
18.3 实战:在局域网中使用awl伪装MAC地址进行多线程SYN洪水攻击·· 269
18.3.1 TCP的3次握手及TCP连接状态·· 269
18.3.2 使用tcpdump命令查看TCP的3次握手过程·· 270
18.3.3 手动产生TCP包并抓包·· 272
18.3.4 awl伪装IP地址进行多线程SYN洪水攻击·· 273
第19章 Shell脚本基础·· 276
19.1 Shell基本语法·· 276
19.1.1 什么是Shell 276
19.1.2 编程语言分类·· 276
19.1.3 什么是Shell脚本·· 277
19.2 Shell变量及运用·· 278
19.2.1 Shell变量·· 278
19.2.2 用户自定义变量·· 279
19.2.3 命令的替换,使用“$()”或反引号·· 279
19.2.4 命令的嵌套使用,使用“$( $( ))”·· 280
19.2.5 Shell中单引号和双引号的区别·· 281
19.2.6 删除变量·· 282
19.2.7 环境变量·· 282
19.2.8 设置PATH环境变量·· 283
19.2.9 Shell位置变量·· 284
19.2.10 特殊变量·· 284
19.3 数学运算·· 286
19.3.1 expr命令·· 286
19.3.2 使用“$(( ))”·· 286
19.4 实战:升级系统中的Java版本到Java 1.8版本·· 287
第20章 条件测试语句和流程控制语句if的使用·· 289
20.1 read命令从键盘读取变量的值·· 289
20.1.1 read命令介绍·· 289
20.1.2 read常见用法及参数·· 290
20.2 流程控制语句if 292
20.2.1 单分支if语句·· 292
20.2.2 双分支if语句·· 293
20.2.3 多分支if语句·· 294
20.3 test测试命令及数值比较·· 295
20.3.1 数值比较·· 295
20.3.2 字符串比较·· 296
20.3.3 文件比较·· 298
20.4 流程控制过程中和Shell中的通配符·· 299
20.4.1 逻辑判断·· 299
20.4.2 Shell中的通配符·· 302
20.5 实战:3个shell脚本实战·· 302
20.5.1 实战1:编写脚本检查服务器运行状态·· 302
20.5.2 实战2:根据学生的成绩判断学生的优劣·· 303
20.5.3 实战3:定时备份数据·· 303
第21章 流程控制语句·· 305
21.1 case语句·· 305
21.2 for循环语句·· 307
21.3 while循环语句和循环嵌套·· 310
21.3.1 while循环语句·· 310
21.3.2 嵌套循环·· 312
21.4 实战:3个Shell脚本实战·· 312
21.4.1 实战1:将/opt目录下所有的日志文件全部自动打包·· 312
21.4.2 实战2:找出192.168.1.1~192.168.1.10网段中服务器已经关机的IP
地址·· 313
21.4.3 实战3:批量创建账号并生成随机密码·· 313
第22章 跳出循环、shift参数左移命令及函数的使用·· 314
22.1 跳出循环·· 314
22.2 shift参数左移命令·· 317
22.3 函数的使用·· 317
22.3.1 函数创建与调用·· 317
22.3.2 函数的使用·· 318
22.3.3 返回值·· 318
22.3.4 把函数返回值赋给变量·· 319
22.3.5 函数的参数传递·· 319
22.3.6 函数中变量的处理·· 320
22.4 实战:自动备份MySQL数据库脚本·· 321
第23章 expect、正则表达式及sed、cut命令的使用·· 323
23.1 expect实现无交互登录·· 323
23.2 正则表达式的使用·· 325
23.3 sed流编辑器·· 326
23.3.1 sed简介·· 326
23.3.2 sed命令简单使用·· 327
23.3.3 sed选项及参数·· 327
23.4 cut命令·· 331
23.4.1 cut命令常用参数·· 331
23.4.2 cut命令使用示例·· 332
23.5 实战:bash脚本语法检查和查看详细的执行过程·· 332
第24章 Shell中色彩处理和awk使用技巧·· 334
24.1 Shell中的色彩处理·· 334
24.1.1 echo命令·· 334
24.1.2 echo命令的控制选项·· 334
24.1.3 常见Shell脚本输出的文字颜色和背景颜色·· 335
24.2 awk基本应用·· 335
24.2.1 awk概念及处理机制·· 335
24.2.2 awk实例演示·· 338
24.2.3 关系运算符的使用·· 338
24.3 awk高级应用·· 340
24.3.1 awk高级应用命令使用格式·· 340
24.3.2 行范围匹配·· 341
24.3.3 awk修饰符·· 345
24.4 实战:Shell脚本实战——检查服务器是否受到DDoS攻击·· 346
评论
还没有评论。