Linux系統管理及應用項目式教程(RHEL 9/CentOS Stream 9)(微課版)(第2版)
孫燦 李斌 崔學鵬
商品描述
本書以Red Hat Enterprise Linux 9.2/CentOS Stream 9為平臺,遵從學生的認知規律,從理解Linux基礎知識,到學會基本命令和系統管理,再到掌握綜合性較強的服務器配置,層層遞進,共有14個項目。內容包括安裝Linux操作系統、使用Linux命令、管理文件與目錄、管理文本文件、配置網絡功能、管理軟件包與進程、管理用戶與用戶組、管理權限與所有者、管理磁盤分區與文件系統、編寫shell腳本、配置DHCP服務器、配置DNS服務器、配置FTP服務器和部署前後端分離的應用系統等。
本書可以作為職業院校、應用型本科院校雲計算技術應用、計算機網絡技術、計算機應用技術、軟件技術、大數據技術等相關專業的Linux課程教材,也可以作為1+X雲計算平臺運維與開發認證考試中Linux系統與服務構建運維模塊的輔導教材,還可以作為期望從事Linux服務器運維人員的自學參考資料。
作者簡介
孫燦,山東信息職業技術學院軟件技術專業負責人,山東省職業教育青年技能名師、山東省產教融合創新創業先鋒、山東省高校黃大年式教學創新團隊核心成員、山東省職業教育教學創新團隊核心成員。擁有3年華為技術有限公司軟件研發經驗和10年一線教學工作經驗。近年來,指導學生參加全國職業院校技能大賽榮獲國賽一等獎2項,省賽一等獎3項、二等獎3項,指導學生參加山東省“互聯網+”創新創業大賽榮獲金獎3項、銀獎2項、銅獎2項,主編教材4本、1本獲評十四五職業教育國家規劃教材、1本獲省級優質教材二等獎,主持省級社區精品課程3項、參與省級在線開放課程2項,主持省級課題4項、參與省級課題2項、主持市級課題5項,發表論文30余篇。
目錄大綱
目錄
項目1
安裝Linux操作系統 1
項目導入 1
知識準備 1
1.1 初識Linux 1
1.1.1 了解Linux的發展歷程 1
1.1.2 熟悉Linux系統的版本 2
1.2 理解Linux系統的組成 4
項目實施 4
任務1-1 創建虛擬機 4
任務1-2 安裝RHEL 9.2系統 7
任務1-3 備份虛擬機 13
小結 15
習題 15
項目2
使用Linux命令 16
項目導入 16
知識準備 16
2.1 認識Linux命令行界面 16
2.1.1 使用命令行界面 16
2.1.2 shell、bash與Linux命令 17
2.1.3 顯示文本信息或shell變量的值:
echo命令 19
2.2 顯示和設置系統基本信息 20
2.2.1 顯示計算機和操作系統的信息:
uname命令 20
2.2.2 顯示CPU的相關信息:lscpu
命令 20
2.2.3 顯示內存的使用情況:free命令 21
2.2.4 顯示和更改主機名:hostname、
hostnamectl命令 21
2.3 關閉與重啟Linux系統 22
2.3.1 關閉Linux系統:shutdown、
poweroff命令 22
2.3.2 重啟Linux系統:reboot命令 22
2.4 獲取命令的幫助 22
2.4.1 命令行自動補全 22
2.4.2 使用man命令顯示聯機幫助
手冊 23
2.4.3 使用--help選項 24
2.5 管理日期和時間 24
2.5.1 顯示和設置系統日期、時間:date
命令 24
2.5.2 控制系統時間和日期:timedatectl
命令 25
項目實施 26
任務2-1 查看服務器的軟硬件
信息 26
任務2-2 對服務器進行基礎
配置 27
小結 27
習題 28
項目3
管理文件與目錄 29
項目導入 29
知識準備 29
3.1 了解文件類型與目錄結構 29
3.1.1 了解Linux系統的文件類型 29
3.1.2 了解Linux系統的目錄結構 32
3.2 文件和目錄的基本操作 33
3.2.1 顯示工作目錄絕對路徑與切換工作
目錄:pwd、cd命令 33
3.2.2 列出目錄內容:ls 命令與通配符 34
3.2.3 創建空文件:touch命令 36
3.2.4 創建目錄:mkdir命令 36
3.2.5 刪除文件或目錄:rmdir、rm
命令 36
3.2.6 復制文件或目錄:cp命令 38
3.2.7 移動或重命名文件、目錄:mv
命令 39
3.2.8 顯示文本文件:cat、more、less、
head、tail命令 40
3.2.9 創建鏈接:ln命令 41
3.2.10 顯示文件或目錄的磁盤占用量:du
命令 42
3.3 查找文件內容或文件位置 42
3.3.1 查找與條件匹配的字符串:grep
命令 42
3.3.2 查找命令文件:whereis、which
命令 43
3.3.3 列出文件系統中與條件匹配的文件:
find命令 44
3.3.4 在數據庫中查找文件:locate
命令 44
3.4 打包與壓縮 45
3.4.1 認識tar包 45
3.4.2 使用和管理tar包 45
3.4.3 壓縮命令:gzip、bzip2、xz 47
3.4.4 tar命令的特殊用法 48
項目實施 49
任務3-1 歸檔文件 49
任務3-2 壓縮文件 50
任務3-3 上傳文件 50
小結 50
習題 52
項目4
管理文本文件 53
項目導入 53
知識準備 53
4.1 Vim編輯器 53
4.1.1 Vim編輯器的工作模式 53
4.1.2 使用Vim編輯器編輯文件 54
4.1.3 末行模式下的操作 56
4.2 處理文件內容 58
4.2.1 文件內容排序:sort命令 58
4.2.2 去除重復行:uniq命令 59
4.2.3 截取文件內容:cut命令 60
4.2.4 比較文件內容:comm、diff
命令 60
4.2.5 文件內容統計:wc命令 63
4.3 重定向 63
4.3.1 標準輸入、標準輸出、標準錯誤文件與重定向 64
4.3.2 輸入重定向 64
4.3.3 輸出重定向 64
4.3.4 錯誤重定向 65
4.3.5 同時實現輸出重定向和錯誤重
定向 65
項目實施 66
任務4-1 創建hostname文件 66
任務4-2 修改主機名 66
小結 67
習題 68
項目5
配置網絡功能 69
項目導入 69
知識準備 69
5.1 了解VMware的網絡工作
模式 69
5.1.1 了解VMware的3種網絡工作
模式 69
5.1.2 配置VMware虛擬網絡 72
5.2 配置網絡功能 73
5.2.1 通過圖形化界面配置網絡連接 74
5.2.2 編輯網絡連接的配置文件 75
5.2.3 配置主機名查詢靜態表:/etc/hosts
文件 76
5.2.4 常用網絡命令:ip、ping、nmcli、ss、
wget 77
5.2.5 管理系統服務:systemctl命令 82
5.3 配置和使用SSH服務 83
5.3.1 使用SSH方式遠程登錄Linux
主機 83
5.3.2 配置SSH密鑰驗證 85
5.3.3 遠程復制文件:scp命令 86
5.3.4 SSH客戶端軟件 87
項目實施 88
任務5-1 配置Linux服務器的
網絡連接 88
任務5-2 使用Xshell遠程登錄
Linux服務器 88
小結 91
習題 91
項目6
管理軟件包與進程 93
項目導入 93
知識準備 93
6.1 使用RPM管理軟件包 93
6.1.1 了解rpm軟件包 93
6.1.2 管理rpm軟件包:rpm命令 94
6.2 使用yum和dnf管理軟件包 97
6.2.1 了解yum及yum軟件倉庫配置
文件 97
6.2.2 搭建本地yum倉庫 97
6.2.3 管理軟件包:yum和dnf命令 98
6.2.4 搭建網絡yum倉庫 100
6.3 管理進程 102
6.3.1 了解Linux系統中的進程 102
6.3.2 查看進程:ps、top命令 102
6.3.3 停止進程:kill、killall命令 104
項目實施 105
任務 安裝MySQL 8.0 105
小結 107
習題 108
項目7
管理用戶與用戶組 109
項目導入 109
知識準備 109
7.1 認識用戶與用戶組 109
7.1.1 了解用戶與用戶組的分類 109
7.1.2 理解用戶賬號文件 110
7.1.3 理解用戶組賬號文件 112
7.2 管理用戶 113
7.2.1 新建用戶:useradd命令 113
7.2.2 切換用戶:su命令 114
7.2.3 維護用戶信息:id、usermod、
passwd命令 114
7.2.4 刪除用戶:userdel命令 116
7.3 管理用戶組 117
7.3.1 新建用戶組:groupadd命令 117
7.3.2 維護用戶組及其成員:groups、
groupmod、gpasswd命令 117
7.3.3 刪除用戶組:groupdel命令 118
項目實施 119
任務7-1 添加用戶 119
任務7-2 添加用戶組 119
任務7-3 指派組管理員 120
小結 120
習題 121
項目8
管理權限與所有者 122
項目導入 122
知識準備 122
8.1 理解文件和目錄的權限 122
8.1.1 了解文件和目錄的權限 123
8.1.2 理解ls -l命令執行結果中的權限
信息 123
8.2 管理文件和目錄的權限 124
8.2.1 設置文件和目錄的基本權限 124
8.2.2 設置文件和目錄的特殊權限 125
8.2.3 設置文件和目錄的默認權限 127
8.2.4 文件訪問控制列表 128
8.3 管理文件和目錄的所有者 130
8.3.1 提升普通用戶權限:sudo命令 130
8.3.2 更改文件和目錄的所有者:chown
命令 131
項目實施 131
任務 修改文件訪問權限 131
小結 132
習題 132
項目9
管理磁盤分區與文件系統 134
項目導入 134
知識準備 134
9.1 創建磁盤分區 134
9.1.1 了解磁盤分區的概念和原則 134
9.1.2 了解硬件設備的命名規則 136
9.1.3 查看系統中的塊設備與分區:lsblk
命令 136
9.1.4 磁盤分區:fdisk命令 137
9.2 創建與檢查文件系統 142
9.2.1 了解常見的文件系統 142
9.2.2 為分區創建文件系統:mkfs
命令 143
9.2.3 檢查文件系統:fsck命令 144
9.3 手動掛載與卸載文件系統 144
9.3.1 掛載文件系統:mount命令 144
9.3.2 卸載文件系統:umount命令 145
9.3.3 顯示掛載情況:df命令 145
9.3.4 在新的分區上讀寫文件 145
9.4 開機自動掛載文件系統 146
9.4.1 認識/etc/fstab文件 146
9.4.2 設置開機自動掛載文件系統 147
9.5 管理磁盤配額 147
9.5.1 了解磁盤配額功能 147
9.5.2 設置磁盤配額 148
9.5.3 測試磁盤配額 150
9.6 管理邏輯卷 151
9.6.1 了解LVM的概念 151
9.6.2 創建邏輯卷 152
9.6.3 擴展和縮小邏輯卷 153
9.6.4 刪除邏輯卷 155
項目實施 155
任務9-1 添加大小為10GB的
SCSI類型的磁盤 155
任務9-2 對新磁盤進行分區 155
任務9-3 創建並掛載文件系統 156
小結 156
習題 158
項目10
編寫shell腳本 159
項目導入 159
知識準備 159
10.1 創建shell腳本 159
10.1.1 創建並運行shell腳本 159
10.1.2 定義shell變量、接收用戶輸入的
數據:read命令 160
10.2 條件測試與分支結構 162
10.2.1 條件測試 162
10.2.2 if語句 164
10.2.3 case語句 167
10.3 循環結構 168
10.3.1 for循環語句 168
10.3.2 while循環語句 169
10.3.3 until循環語句 170
項目實施 170
任務10-1 創建用戶信息文件 170
任務10-2 編寫shell腳本 171
任務10-3 運行shell腳本 172
小結 172
習題 173
項目11
配置DHCP服務器 174
項目導入 174
知識準備 174
11.1 了解DHCP服務的工作
原理 174
11.1.1 認識DHCP服務 174
11.1.2 熟悉DHCP服務的工作過程 175
11.2 安裝與配置DHCP服務器 176
11.2.1 安裝DHCP服務器 176
11.2.2 配置DHCP服務器 178
11.3 配置DHCP客戶端功能 180
11.3.1 在Windows客戶端中配置DHCP
客戶端功能 180
11.3.2 在Linux客戶端中配置DHCP客戶
端功能 181
項目實施 182
任務11-1 需求分析與規劃 182
任務11-2 配置DHCP服務器 183
任務11-3 驗證DHCP客戶端的
功能 184
小結 184
習題 185
項目12
配置DNS服務器 186
項目導入 186
知識準備 186
12.1 了解DNS服務器的工作
原理 186
12.1.1 了解域名空間和DNS服務器的
類型 186
12.1.2 掌握DNS查詢模式 188
12.1.3 掌握域名解析的工作原理 189
12.1.4 理解DNS解析類型 189
12.2 安裝與配置DNS服務器 190
12.2.1 安裝DNS服務器 190
12.2.2 熟悉BIND配置文件 191
12.2.3 配置DNS服務器 198
12.3 配置DNS客戶端 201
12.3.1 在Linux客戶端中配置DNS
服務器 201
12.3.2 在Windows客戶端中配置DNS
服務器 201
12.3.3 使用DNS測試命令 202
項目實施 202
任務12-1 需求分析與規劃 202
任務12-2 安裝與配置主DNS
服務器 203
任務12-3 安裝與配置輔助DNS
服務器 205
任務12-4 在客戶端測試DNS
服務器的功能 207
小結 207
習題 208
項目13
配置FTP服務器 209
項目導入 209
知識準備 209
13.1 了解FTP服務器的工作
原理 209
13.1.1 認識FTP 209
13.1.2 熟悉FTP的工作原理 210
13.1.3 掌握FTP的數據傳輸模式 210
13.1.4 了解FTP服務器的用戶 211
13.2 安裝與配置FTP服務器 212
13.2.1 安裝vsftpd軟件包 212
13.2.2 熟悉vsftpd配置文件 212
13.2.3 配置匿名用戶模式FTP服務器 215
13.2.4 訪問FTP服務器 216
13.2.5 配置本地用戶模式FTP服務器 219
項目實施 222
任務13-1 需求分析與規劃 222
任務13-2 安裝與配置基於FTP的
私有yum倉庫
服務器 222
任務13-3 在客戶端中配置私有
yum倉庫服務器 224
小結 224
習題 225
項目14
部署前後端分離的應用系統 226
項目導入 226
知識準備 226
14.1 了解前後端分離架構 226
14.1.1 了解前後端分離架構的概念 226
14.1.2 了解Vue.js與Spring Boot 227
14.1.3 了解常見的服務器軟件 227
14.1.4 了解前後端分離架構應用系統的
工作過程 228
14.2 安裝與配置MySQL 229
14.2.1 安裝MySQL 229
14.2.2 初始化MySQL配置 230
14.2.3 管理MySQL 231
14.3 安裝與配置Redis 232
14.3.1 安裝和啟動Redis 232
14.3.2 使用redis-cli連接Redis 233
14.4 安裝JDK、Tomcat和
Maven 233
14.4.1 安裝JDK 233
14.4.2 安裝Tomcat 234
14.4.3 安裝Maven 236
14.5 安裝與配置Nginx 237
14.5.1 安裝Nginx 237
14.5.2 熟悉Nginx的配置文件 238
項目實施 243
任務14-1 需求分析與規劃 243
任務14-2 配置服務器基礎
環境 243
任務14-3 安裝與配置MySQL和
Redis 244
任務14-4 安裝JDK、Maven和
Node.js 244
任務14-5 安裝與配置Nginx 245
任務14-6 部署前後端分離的應用
系統 246
小結 249
習題 250

