本书根据著者多年Linux系统实战经验,以实用高效为原则,从走进Linux的世界、熟练使用Linux、玩转Shell脚本编程、掌握企业主流Web架构、部署常见的企业服务5个方面徐徐展开,详细讲解了Linux 操作系统的安装、命令、权限和软件管理,数据库,防火墙,文本处理,Shell 脚本编程,Web 服务器架构以及常见的企业服务等内容,全书共23章,每一章都包含大量企业实战演示案例。 本书内容源于企业实际工作需要,侧重于快速掌握Linux系统操作、提高系统操作效率以及解决在企业实战中常遇到的疑难问题,本书配套搭建了专用网站,提供视频课程、日常答疑、工具与Linux命令速查平台、在线实验平台等资源和服务,可供Linux开发工程师、行业从业人员和对编程感兴趣的读者参考,也可作为高等院校相关专业教材。
孙亚洲,曾就职于中国科学院计算机网络信息中心,拥有6年多的Linux运维工作经验,目前在中科天齐公司担任Linux运维主管。
目 录
第一部分 走进 Linux 世界
第 1 章 Linux 的来龙去脉··············································································.1
1.1 Linux 简介 ·······················································································1
1.2 Linux 内核的诞生史与版本号·······························································3
1.3 “GNU is Not UNIX”··········································································5
1.4 Linux 操作系统的结构········································································8
1.5 常见的 Linux 发行版 ··········································································8
第 2 章 VMware Workstation 虚拟机 ·····························································.11
2.1 虚拟机简介···················································································.11
2.2 虚拟机的运行架构··········································································.11
2.3 安装 VMware Workstation 虚拟机······················································.13
2.4 创建一个新的虚拟机·······································································.15
2.5 虚拟机的快照、克隆和迁移功能························································.19
第 3 章 初窥门径之 Linux 操作系统的安装部署················································.23
3.1 引言····························································································.23
3.2 安装 CentOS Linux 8 操作系统··························································.23
3.3 CentOS Linux 8 之后我们将何去何从··················································.28
第 4 章 略有小成之 Linux 操作系统初体验······················································.32
4.1 引言····························································································.32
4.2 理解 Shell ·····················································································.32
4.3 命令提示符与语法格式····································································.33
4.4 内置命令和外部命令以及命令帮助·····················································.34
4.5 目录结构详解················································································.36
4.6 磁盘分区概念················································································.37
4.7 绝对路径与相对路径·······································································.39
第二部分 熟练使用 Linux
第 5 章 渐入佳境之务必掌握的 Linux 命令······················································.40
5.1 系统基本管理、显示的相关命令························································.40
5.2 查看文件内容相关命令····································································.53
5.3 创建、移动文件目录相关命令···························································.58
5.4 复制、删除文件目录相关命令···························································.62
5.5 文件搜索相关命令··········································································.63
5.6 打包、压缩、解压相关命令······························································.65
第 6 章 实战神器之 Vim 编辑器····································································.70
6.1 Vim 编辑器简介·············································································.70
6.2 3 种工作模式·················································································.70
6.3 一些常用的基本操作·······································································.71
6.4 可视化(Visual)模式 ·····································································.74
第 7 章 融会贯通之用户和用户组管理 ···························································.78
7.1 引言····························································································.78
7.2 用户和用户组················································································.78
7.3 用户的添加、删除与管理命令···························································.83
7.4 用户组的添加、删除与管理命令························································.87
第 8 章 登堂入室之文件和文件夹的权限管理 ··················································.90
8.1 引言····························································································.90
8.2 文件/目录的权限与归属 ···································································.91
8.3 权限位·························································································.91
8.4 修改属主属组相关命令····································································.93
8.5 修改文件/目录权限相关命令·····························································.93
第 9 章 驾轻就熟之 Linux 操作系统的软件管理················································.96
9.1 引言····························································································.96
9.2 Linux 软件包分类 ···········································································.96
9.3 详解 RPM 包的使用方式 ··································································.98
9.4 Yum 软件包管理器 ·········································································103
9.5 DNF 软件包管理器 ·········································································114
第 10 章 Linux 防火墙的那点事····································································119
10.1 防火墙简介 ·················································································119
10.2 Linux 防火墙的工作原理 ································································120
10.3 Linux 防火墙的四表五链 ································································121
10.4 Iptables 管理工具 ·········································································125
10.5 Firewalld 管理工具 ·······································································132
第三部分 玩转 Shell 编程
第 11 章 Linux 文本处理“三剑客”······························································145
11.1 引言···························································································145
11.2 正则表达式 ·················································································145
11.3 grep —— 查找和筛选····································································147
11.4 sed —— 取行和替换 ·····································································149
11.5 awk —— 取列和数据分析 ······························································153
第 12 章 Linux Shell 脚本编程零基础闪电上手 ················································158
12.1 引言···························································································158
12.2 初识 Shell 脚本·············································································158
12.3 Shell 变量与作用域 ·······································································161
12.4 Shell 命令行参数与特殊变量 ···························································170
12.5 Shell 字符串·················································································174
12.6 Shell 数组····················································································180
12.7 Shell 数学计算··············································································184
12.8 Shell 常用命令··············································································190
12.9 Shell 流程控制··············································································192
第 13 章 定时任务·····················································································221
13.1 定时任务简介 ··············································································221
13.2 用户级别的定时任务(命令) ·························································221
13.3 系统级别的定时任务(配置文件) ···················································225
第 14 章 Web 服务器架构系列之 Nginx ·························································228
14.1 引言···························································································228
14.2 理论知识准备 ··············································································230
14.3 Nginx 的两种部署方式 ···································································233
14.4 Nginx 配置文件的整体结构 ·····························································240
14.5 Nginx 配置文件的每行含义 ·····························································242
14.6 Nginx 配置文件的虚拟主机 ·····························································245
14.7 Nginx 配置文件的 location 语法规则··················································249
14.8 Nginx 反向代理 ············································································255
14.9 Nginx 正向代理 ············································································262
14.10 Nginx 负载均衡···········································································265
14.11 Nginx 平滑升级(热部署)····························································272
第 15 章 Web 服务器架构系列之 Apache ·······················································279
15.1 引言···························································································279
15.2 HTTP 请求过程与报文结构 ·····························································280
15.3 Apache 的两种安装方式 ·································································284
15.4 Apache 的 3 种工作模型 ·································································290
15.5 Apache 配置文件解析 ····································································295
15.6 Apache 虚拟主机···········································································299
第 16 章 Web 服务器架构系列之 PHP···························································304
16.1 PHP 简介 ····················································································304
16.2 Module 模式(Apache) ·································································305
16.3 FastCGI 模式(Nginx)··································································311
16.4 PHP 相关配置文件(FastCGI)························································316
第 17 章 Web 服务器架构系列之 Tomcat ·······················································322
17.1 Tomcat 简介·················································································322
17.2 Tomcat 架构剖析···········································································322
17.3 Tomcat 的二进制包安装方式 ···························································325
17.4 目录结构和主配置文件 ··································································328
第 18 章 数据库系列之 MySQL 与 MariaDB····················································332
18.1 数据库的世界 ··············································································332
18.2 数据库系统结构与类型 ··································································335
18.3 MySQL 和 MariaDB 的两种安装方式·················································337
18.4 主配置文件 ·················································································348
18.5 数据库的存储引擎与数据类型 ·························································350
18.6 SQL 语句命令分类和语法规则·························································354
18.7 SQL 语句对数据库的基本操作·························································356
18.8 SQL 语句对表的基本操作·······························································361
18.9 SQL 语句对数据的基本操作····························································373
18.10 数据库的用户管理·······································································386
18.11 数据库的备份与恢复····································································396
第 19 章 数据库系列之 Redis ······································································404
19.1 Redis 简介···················································································404
19.2 Redis 的两种部署方式····································································406
19.3 Redis 的基本操作命令····································································411
第 20 章 使用 LNMP 架构搭建 DzzOffice 网盘 ················································422
20.1 LNMP 架构简介 ···········································································422
20.2 搭建过程 ····················································································423
第五部分 部署常见的企业服务
第 21 章 常见的企业服务系列之 FTP ····························································431
21.1 FTP 工作原理···············································································431
21.2 FTP 服务的安装部署 ·····································································433
第 22 章 常见的企业服务系列之 DNS····························································439
22.1 DNS 工作原理··············································································439
22.2 DNS 服务的安装部署·····································································443
第 23 章 常见的企业服务系列之 DHCP··························································449
23.1 DHCP 工作原理············································································449
23.2 DHCP 服务的安装部署···································································452