图书简介:
目 录
第一部分 走进 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
展开
前 言
笔者从事Linux运维行业已有七年的时间,此间拜读了不少相关技术图书,但少有畅快之感,有些图书更适合给行业内人士参考,对于初学者来说,内容过于艰深,起点门槛过高,让人望而却步;还有些书籍写得非常精彩,但并没有创造出一个良好的学习环境,这就导致很多初学者看完之后或许可以“纸上谈兵”但不具备实战能力。
基于以上种种原因,笔者萌生了专门为准备迈入这个行业的朋友写一本书的想法,这本书从制定大纲到撰写结束历时三年时间,中途因为Linux技术更新的原因迭代过无数次,不过这也保证了本书的“与时俱进”。
本书中的内容并不是单纯的Linux技术的“原理+实现”,也包含了笔者多年来的企业实战经验,希望能让各位读者朋友对企业的工作方式和注意事项有个清晰的认识,更快地在入行、入职后上手实操。
本书的叙述很少使用官方用语,力求营造一个轻松愉快的学习氛围,通过聊天的方式将Linux技术带给书前的您,让大家在一个个生活化的比喻中理解知识点,在趣味中学习,在快乐中成长,这是笔者动笔的初衷和愿景。若是在阅读的过程能让您产生一种和老友聊天的感受,那便是我最大的欣慰了。
正如上文所说,创造良好的学习环境是一件非常重要的事情,笔者常常问自己,学习Linux技术,学好Linux技术,需要大家怎么做到,我又能帮大家做些什么呢?
首先,光读书是不够的,还要勤问,将读书过程中遇到的每一个疑惑全部问出来,那“读+问”就可以了吗?还不够!还得动手实战,练习过程中遇到的每一个报错根源都需要有人帮你指正,这样才能真正地实现Linux技术的从入门到精通。
因此,除了本书已有的内容外,笔者还搭建了学习配套的专用网站,提供视频课程、日常答疑、工具与Linux命令速查平台、在线实验平台等服务。总而言之,就是尽我之所能,尽“毕生之所学”,为各位打造一个良好的学习、交流Linux技术的平台。
上述内容资源,尽在本书配套网站,我期待你的加入!
展开