內容簡介
本書以 Red Hat Enterprise Linux 7.4/CentOS 7.4 為平台,遵從學生的認知規律,從理解 Linux 基礎知識,到學會基本命令的套用,再到掌握綜合性較強的伺服器配置,層層遞進,共分成了 14 個項目。內容包括安裝 Linux系統,使用Linux 命令,管理檔案與目錄,管理文本檔案,配置網路功能,管理軟體包與進程,管理用戶與用戶組,管理許可權與所有者,管理磁碟分區與檔案系統,編寫 shell 腳本,配置 DHCP、DNS、FTP、Samba 伺服器,使用 LNMP 架構部署網站。
圖書目錄
項目1 安裝Linux作業系統 1
任務1-1 初識Linux 1
【任務目標】 1
1.1.1 了解Linux的發展歷程 1
1.1.2 理解Linux作業系統的組成 2
1.1.3 熟悉Linux版本 3
任務1-2 安裝Linux作業系統 4
【任務目標】 4
1.2.1 安裝與創建虛擬機 4
1.2.2 安裝Red Hat Enterprise Linux 7.4 8
任務1-3 備份VMware虛擬機 14
【任務目標】 14
1.3.1 拍攝虛擬機快照 14
1.3.2 克隆虛擬機 15
小結 17
項目實訓 製作最小化安裝的模板 虛擬機 17
習題 19
項目2 使用Linux命令 20
任務2-1 認識Linux字元操作 界面 20
【任務目標】 20
2.1.1 使用字元操作界面 20
2.1.2 認識bash shell與Linux命令 格式 22
2.1.3 顯示螢幕上的信息:echo命令 24
2.1.4 設定默認啟動的目標 24
任務2-2 獲取和設定系統基本信息 26
【任務目標】 26
2.2.1 獲取計算機和作業系統的信息: uname命令 26
2.2.2 獲取記憶體信息:free命令 27
2.2.3 顯示和修改主機名:hostname、 hostnamectl命令 27
任務2-3 獲取命令的幫助 28
【任務目標】 28
2.3.1 命令行自動補全 28
2.3.2 使用man顯示在線上幫助手冊 29
2.3.3 使用--help選項 29
2.3.4 使用info命令 29
任務2-4 管理日期和時間 30
【任務目標】 30
2.4.1 顯示日曆信息:cal命令 30
2.4.2 顯示和設定系統日期、時間: date命令 30
2.4.3 顯示和設定硬體日期、時間: hwclock命令 32
小結 32
項目實訓 遠程登錄伺服器並配置主機名稱 33
習題 36
項目3 管理檔案與目錄 37
任務3-1 了解檔案類型與目錄結構 37
【任務目標】 37
3.1.1 了解Linux檔案類型 37
3.1.2 了解Linux目錄結構 40
任務3-2 檔案和目錄的基本操作 41
【任務目標】 41
3.2.1 顯示工作目錄與更改工作目錄: pwd、cd命令 41
3.2.2 列出目錄內容:ls 命令與通配符的 使用 42
3.2.3 創建空檔案、修改檔案時間: touch命令 44
3.2.4 創建目錄:mkdir命令 45
3.2.5 刪除檔案或目錄:rmdir、rm命令 45
3.2.6 複製檔案或目錄:cp命令 47
3.2.7 移動檔案或目錄、重命名: mv命令 48
3.2.8 顯示文本檔案:cat、more、less、 head、tail命令 49
3.2.9 創建連結檔案:ln命令 50
3.2.10 顯示檔案或目錄的磁碟占用量: du命令 51
任務3-3 查找檔案內容或檔案位置 52
【任務目標】 52
3.3.1 查找與條件匹配的字元串: grep命令 52
3.3.2 查找命令檔案:whereis、which 命令 52
3.3.3 列出檔案系統中與條件匹配的檔案: find命令 53
3.3.4 在資料庫中查找檔案:locate 命令 54
任務3-4 管理tar包 54
【任務目標】 54
3.4.1 認識tar包 54
3.4.2 使用和管理tar包 55
3.4.3 壓縮命令:gzip、bzip2、xz 56
3.4.4 tar包的特殊使用 57
小結 58
項目實訓 使用命令操作目錄 60
習題 60
項目4 管理文本檔案 62
任務4-1 使用Vim編輯器編輯檔案 62
【任務目標】 62
4.1.1 Vim編輯器的工作模式 62
4.1.2 使用Vim編輯檔案 63
4.1.3 末行模式下的操作 65
任務4-2 處理文本內容 67
【任務目標】 67
4.2.1 檔案內容排序:sort命令 67
4.2.2 去除重複行:uniq命令 68
4.2.3 截取字元串:cut命令 69
4.2.4 比較檔案內容:comm、diff命令 69
4.2.5 檔案內容統計:wc命令 72
任務4-3 重定向 73
【任務目標】 73
4.3.1 標準輸入/輸出與重定向 73
4.3.2 輸出重定向 73
4.3.3 輸入重定向 74
4.3.4 錯誤重定向 74
4.3.5 同時實現輸出和錯誤重定向 75
小結 75
項目實訓 使用Vim編輯器和重定向完成
日常文檔的編輯和輸出 76
習題 77
項目5 配置網路功能 79
任務5-1 了解VMware的網路工作 模式 79
【任務目標】 79
5.1.1 了解VMware的3種網路模式 79
5.1.2 配置VMware虛擬網路 82
任務5-2 配置網路功能 83
【任務目標】 83
5.2.1 打開有線連線 84
5.2.2 編輯網卡配置檔案 84
5.2.3 配置主機名查詢靜態表: /etc/hosts檔案 85
5.2.4 常用網路命令:ifconfig、ip、nmcli、 nmtui等 86
5.2.5 管理網路服務與systemctl命令 92
任務5-3 配置和使用SSH服務 93
【任務目標】 93
5.3.1 遠程連線Linux主機 93
5.3.2 安全密鑰驗證及免密登錄 94
5.3.3 遠程複製操作:scp命令 96
5.3.4 介紹SSH客戶端工具 97
小結 97
項目實訓 配置雙網卡負載均衡的Linux伺服器 98
習題 100
項目6 管理軟體包與進程 101
任務6-1 使用RPM管理軟體包 101
【任務目標】 101
6.1.1 了解rpm軟體包 101
6.1.2 管理rpm包:rpm命令 102
任務6-2 使用yum管理軟體包 105
【任務目標】 105
6.2.1 了解yum工具及倉庫配置檔案 106
6.2.2 搭建本地yum倉庫 106
6.2.3 使用yum命令管理軟體包 107
6.2.4 搭建網路yum倉庫 108
任務6-3 管理進程 110
【任務目標】 110
6.3.1 了解Linux作業系統中的進程 110
6.3.2 查看進程:ps、top命令 111
6.3.3 停止進程:kill、killall命令 113
小結 114
項目實訓 使用yum命令安裝gcc和jdk軟體包 115
習題 115
項目7 管理用戶與用戶組 117
任務7-1 認識用戶與用戶組 117
【任務目標】 117
7.1.1 了解用戶與用戶組的分類 117
7.1.2 理解用戶賬號檔案:/etc/passwd與/etc/shadow 118
7.1.3 理解組賬號檔案:/etc/group與/etc/gshadow 120
任務7-2 管理用戶賬號 121
【任務目標】 121
7.2.1 新建用戶:useradd命令 121
7.2.2 用戶切換與查看信息:su命令 122
7.2.3 維護用戶信息:id、usermod、passwd命令 123
7.2.4 刪除用戶:userdel命令 125
7.2.5 批量添加用戶 125
任務7-3 管理用戶組賬戶 126
【任務目標】 126
7.3.1 新建用戶組:groupadd命令 127
7.3.2 維護用戶組及其成員:groups、groupmod、gpasswd命令 127
7.3.3 刪除用戶組:groupdel命令 128
7.3.4 編輯與驗證用戶(組)檔案 128
小結 128
項目實訓 使用命令完成用戶及用戶組的配置 129
習題 131
項目8 管理許可權與所有者 132
任務8-1 理解檔案和目錄的許可權 132
【任務目標】 132
8.1.1 了解檔案和目錄的許可權 132
8.1.2 理解ls -l命令獲取的許可權信息 133
任務8-2 管理檔案和目錄的許可權 134
【任務目標】 134
8.2.1 設定檔案和目錄的基本許可權 134
8.2.2 設定檔案和目錄的特殊許可權 135
8.2.3 設定檔案和目錄的默認許可權 137
8.2.4 檔案訪問控制列表 138
任務8-3 管理檔案和目錄的所有者 139
【任務目標】 139
8.3.1 提升普通用戶許可權:sudo命令 140
8.3.2 更改檔案和目錄的所有者:chown命令 141
小結 141
項目實訓 設定用戶及用戶組的許可權 142
習題 143
項目9 管理磁碟分區與檔案系統 144
任務9-1 創建磁碟分區 144
【任務目標】 144
9.1.1 了解磁碟分區的概念和原則 144
9.1.2 了解物理設備的命名規則 145
9.1.3 查看系統中的塊設備與分區:lsblk命令 146
9.1.4 磁碟分區命令:fdisk命令 147
任務9-2 創建與檢查檔案系統 150
【任務目標】 150
9.2.1 了解常見的檔案系統 151
9.2.2 為分區創建檔案系統:mkfs命令 151
9.2.3 檢查檔案系統:fsck命令 152
任務9-3 手動掛載與卸載檔案系統 153
【任務目標】 153
9.3.1 掛載檔案系統:mount命令 153
9.3.2 卸載檔案系統:umount命令 154
9.3.3 查看掛載情況:df命令 154
9.3.4 在新的分區上讀寫檔案 154
任務9-4 開機自動掛載檔案系統 155
【任務目標】 155
9.4.1 認識/etc/fstab檔案 155
9.4.2 設定開機自動掛載檔案系統 156
任務9-5 管理磁碟配額 156
【任務目標】 156
9.5.1 了解磁碟配額功能 157
9.5.2 設定磁碟配額 157
9.5.3 測試磁碟配額 160
任務9-6 管理LVM邏輯卷 161
【任務目標】 161
9.6.1 了解LVM邏輯卷的概念 161
9.6.2 創建邏輯卷 161
9.6.3 擴容和縮小邏輯卷 163
9.6.4 刪除邏輯卷 165
小結 165
項目實訓 管理磁碟配額及LVM邏輯卷 167
習題 167
項目10 編寫shell腳本 169
任務10-1 創建shell腳本 169
【任務目標】 169
10.1.1 創建並運行第 一個shell腳本 169
10.1.2 定義shell變數、接收用戶輸入:read命令 171
任務10-2 條件測試與分支結構 173
【任務目標】 173
10.2.1 條件測試 173
10.2.2 if語句 175
10.2.3 case語句 178
任務10-3 循環結構 179
【任務目標】 179
10.3.1 for循環語句 179
10.3.2 while循環語句 180
10.3.3 until循環語句 181
小結 182
項目實訓 批量創建新員工賬號和密碼 183
習題 183
項目11 配置DHCP伺服器 184
任務11-1 了解DHCP服務的工作原理 184
【任務目標】 184
11.1.1 認識DHCP服務 184
11.1.2 熟悉DHCP服務的工作過程 185
任務11-2 安裝與配置DHCP伺服器 186
【任務目標】 186
11.2.1 安裝DHCP伺服器軟體 187
11.2.2 配置DHCP伺服器 189
11.2.3 DHCP的套用與運維 191
小結 194
項目實訓 使用DHCP動態管理客戶端網路地址 194
習題 195
項目12 配置DNS伺服器 196
任務12-1 了解DNS伺服器的工作原理 196
【任務目標】 196
12.1.1 了解域名空間和DNS伺服器的類型 196
12.1.2 掌握DNS查詢模式 198
12.1.3 掌握域名解析的工作原理 199
12.1.4 理解DNS解析類型 199
任務12-2 安裝與配置DNS
伺服器 200
【任務目標】 200
12.2.1 安裝BIND軟體 200
12.2.2 熟悉DNS(BIND)伺服器的配置 201
任務12-3 配置主DNS伺服器 209
【任務目標】 209
12.3.1 配置主DNS伺服器 209
12.3.2 配置DNS客戶端 213
12.3.3 使用DNS測試工具 214
任務12-4 配置主、輔DNS伺服器 216
【任務目標】 216
12.4.1 修改主DNS伺服器的配置 216
12.4.2 配置輔助DNS伺服器 218
小結 221
項目實訓 使用BIND配置DNS伺服器 222
習題 223
項目13 配置檔案共享伺服器 225
任務13-1 了解FTP伺服器的工作原理 225
【任務目標】 225
13.1.1 認識FTP 225
13.1.2 熟悉FTP的工作原理 226
13.1.3 掌握FTP的數據傳輸模式 226
13.1.4 了解FTP伺服器的用戶 227
任務13-2 安裝與配置FTP 伺服器 227
【任務目標】 227
13.2.1 安裝vsftpd軟體包 228
13.2.2 熟悉vsftpd配置檔案 228
任務13-3 配置匿名用戶FTP伺服器 231
【任務目標】 231
13.3.1 配置基於匿名用戶訪問的FTP伺服器 231
13.3.2 訪問FTP伺服器 233
任務13-4 配置本地用戶FTP伺服器 235
【任務目標】 235
13.4.1 配置基於本地用戶訪問的FTP伺服器 236
13.4.2 使用Linux客戶端訪問FTP
伺服器 238
任務13-5 了解Samba伺服器的工作原理 238
【任務目標】 238
13.5.1 認識SMB與CIFS協定 239
13.5.2 了解Samba軟體 239
13.5.3 了解Samba的工作原理 239
任務13-6 安裝與配置Samba伺服器 240
【任務目標】 240
13.6.1 安裝Samba的軟體包 240
13.6.2 熟悉Samba配置檔案 241
任務13-7 配置user驗證的Samba伺服器 244
【任務目標】 244
13.7.1 配置Samba伺服器 245
13.7.2 訪問Samba伺服器 247
小結 249
項目實訓 配置基於vsftpd的本地yum倉庫伺服器 250
習題 251
項目14 使用LNMP架構部署網站 252
任務14-1 了解LNMP架構 252
【任務目標】 252
14.1.1 了解LNMP架構的概念 252
14.1.2 了解Nginx網站伺服器 252
14.1.3 了解MySQL資料庫 253
14.1.4 了解PHP語言 253
14.1.5 了解LNMP架構的工作原理 253
14.1.6 了解LNMP的部署安裝方式 254
任務14-2 安裝與配置Nginx 伺服器 254
【任務目標】 254
14.2.1 安裝nginx軟體包 255
14.2.2 熟悉nginx的配置檔案 256
任務14-3 安裝與配置MariaDB資料庫 261
【任務目標】 261
14.3.1 安裝MariaDB資料庫 261
14.3.2 初始化MariaDB資料庫配置 261
14.3.3 管理MariaDB資料庫 263
任務14-4 安裝與配置PHP環境 267
【任務目標】 267
14.4.1 安裝PHP環境 267
14.4.2 配置php-fpm服務 268
14.4.3 配置Nginx伺服器對PHP程式的支持 270
14.4.4 測試LNMP伺服器 271
任務14-5 部署基於單節點LNMP的 WordPress部落格網站 273
【任務目標】 273
14.5.1 安裝LNMP網站環境 273
14.5.2 配置LNMP網站環境 275
14.5.3 部署WordPress網站 278
小結 280
項目實訓 基於LNMP部署phpMyAdmin 280
習題 282