本書根據著者多年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