內容簡介
本書在第1版的基礎之上,全面升級為CentOS 7.x版本。CentOS 7.x和舊版本Linux相比,變化較大,本書全面介紹了CentOS 7.x系統管理的相關內容。全書共9章,內容涵蓋Linux系統管理所需的知識點,講解了Linux日常管理操作的方方面面,由淺入深,內容全面,案例豐富,實戰性強。本書依次講解了Linux的高級檔案系統管理,包括磁碟配額、LVM(邏輯卷管理)和RAID(磁碟陣列);Shell基礎,包括Bash操作環境的構建、輸入/輸出重定向、管道符、變數的設定和使用等;
Shell編程,包括
正則表達式、字元截取和替換命令、字元處理命令、條件判斷、流程控制等知識,以及Shell編程的實例腳本演示;Linux啟動管理,包括CentOS 7.x系統啟動過程詳解、啟動引導程式(Boot Loader)、系統修復模式和核心模組管理;服務管理,包括服務的分類、管理、自啟動的設定等;系統管理,包括進程管理、工作管理、系統資源查看和系統定時任務;日誌管理,包括日誌服務rsyslogd、日誌輪替、日誌分析工具;備份與恢復,包括數據備份的原理和原則、備份和恢復命令;SELinux管理,包括SELinux的安裝與啟動管理、安全上下文管理、日誌查看、策略規則等。本書廣泛適用於各種基於Linux平台服務部署及運維、開發的技術人員,以及大學計算機相關專業的學生,也是雲計算學習的必備入門書籍。
目錄
第1章 運籌帷幄,操控全盤:高級檔案系統管理 1
1.1 磁碟配額 1
1.1.1 什麼是磁碟配額 1
1.1.2 磁碟配額中的常見概念 3
1.1.3 用戶和用戶組配額的實現過程 4
1.1.4 配額的實現過程 15
1.2 LVM(邏輯卷管理) 17
1.2.1 LVM的概念 17
1.2.2 在採用圖形界面安裝Linux系統時建立LVM 18
1.2.3 命令模式管理LVM——物理卷管理 24
1.2.4 命令模式管理LVM——卷組管理 26
1.2.5 命令模式管理LVM——邏輯卷管理 29
1.2.6 LVM快照 33
1.3 RAID(磁碟陣列) 37
1.3.1 RAID簡介 37
1.3.2 命令模式配置RAID 5 42
本章小結 48
測試題 48
第2章 化簡單為神奇:Shell基礎 50
2.1 Shell概述 50
2.1.1 什麼是Shell 50
2.1.2 Shell的類別 51
2.2.1 輸出命令echo 53
2.2.2 Shell腳本的運行 56
2.3 Bash的基本功能 57
2.3.1 歷史命令 58
2.3.2 命令與檔案補全 60
2.3.3 命令別名 60
2.3.4 Bash常用快捷鍵 63
2.3.5 輸入/輸出重定向 63
2.3.6 多命令順序執行 67
2.3.7 管道符 70
2.3.8 通配符 73
2.3.9 Bash中的其他特殊字元 74
2.4 Bash中的變數和運算符 78
2.4.1 什麼是變數 78
2.4.2 用戶自定義變數 80
2.4.3 環境變數 82
2.4.4 位置參數變數 90
2.4.5 預定義變數 93
2.4.6 接收鍵盤輸入 95
2.4.7 Shell中的運算符 96
2.4.8 變數測試與內容置換 101
2.5 環境變數配置檔案 104
2.5.1 source命令 104
2.5.2 環境變數配置檔案的分類 105
2.5.3 Shell登錄信息 107
2.5.4 定義Bash快捷鍵 109
本章小結 110
測試題 110
第3章 管理員的“九陽神功”:Shell編程 112
3.1 正則表達式 112
3.1.1 什麼是正則表達式 112
3.1.2 基礎正則表達式 113
3.1.3 擴展正則表達式 121
3.2 字元截取和替換命令 121
3.2.1 cut列提取命令 122
3.2.2 awk編程 124
3.2.3 sed命令 133
3.3 字元處理命令 137
3.3.1 排序命令sort 137
3.3.2 uniq命令 138
3.3.3 統計命令wc 138
3.4 條件判斷 139
3.4.1 按照檔案類型進行判斷 139
3.4.2 按照檔案許可權進行判斷 140
3.4.3 在兩個檔案之間進行比較 141
3.4.4 在兩個整數之間進行比較 141
3.4.5 字元串判斷 142
3.4.6 多重條件判斷 143
3.5 流程控制 143
3.5.1 if條件判斷 144
3.5.2 多分支case條件語句 153
3.5.3 for循環 155
3.5.4 while循環 162
3.5.5 until循環 163
3.5.6 函式 164
3.5.7 特殊的流程控制語句 165
本章小結 169
測試題 169
第4章 庖丁解牛,懸絲診脈:Linux啟動管理 170
4.1 CentOS 7.x系統啟動過程詳解 171
4.1.1 CentOS 7.x基本啟動過程 171
4.1.2 BIOS自檢 172
4.1.3 MBR的結構 173
4.1.4 啟動引導程式的作用 174
4.1.5 grub2載入核心與initramfs虛擬檔案系統 175
4.1.6 由核心調用第一個進程systemd,並調用默認單元組 177
4.1.7 由systemd進程開始並發啟動單元組 179
4.2 啟動引導程式(Boot Loader) 183
4.2.1 grub2載入核心和虛擬檔案系統 184
4.2.2 grub2的配置檔案 184
4.2.3 手工安裝grub2 191
4.2.4 grub2加密 191
4.3 系統修復模式 193
4.3.1 單用戶模式 193
4.3.2 破解root密碼 195
4.3.3 光碟修復模式 197
4.4 核心模組管理 200
4.4.1 核心模組的保存位置與模組保存檔案 201
4.4.2 核心模組的查看 202
4.4.3 核心模組的添加與刪除 203
本章小結 208
第5章 掌柜先生敲算盤:服務管理 209
5.1 舊版系統中的服務管理 209
5.1.1 服務和連線埠 210
5.1.2 服務的啟動與自啟動的區別 213
5.1.3 回顧舊版系統服務的分類與管理 215
5.2 CentOS 7.x中RPM包默認安裝的單元管理 217
5.2.1 CentOS 7.x服務(單元)的分類 217
5.2.2 通過systemctl啟動與自啟動系統單元 218
5.2.3 通過systemctl查看系統單元 220
5.2.4 通過systemctl管理系統單元組(操作環境) 224
5.2.5 systemctl單元的配置檔案 226
5.3 CentOS 7.x中源碼包安裝的服務管理 229
5.3.1 源碼包安裝服務的啟動與自啟動 229
5.3.2 把源碼包安裝的服務加入systemd管理 230
本章小結 232
第6章 七劍下天山:系統管理 233
6.1 進程管理 233
6.1.1 進程簡介 234
6.1.2 進程的查看 235
6.1.3 進程的管理 244
6.1.4 進程的優先權 249
6.2 工作管理 251
6.2.1 工作管理簡介 251
6.2.2 如何把命令放入後台 252
6.2.3 後台命令管理 253
6.3 系統資源查看 255
6.3.1 vmstat命令:監控系統資源 255
6.3.2 dmesg命令:顯示開機時的核心檢測信息 257
6.3.3 free命令:查看記憶體使用狀態 257
6.3.4 查看CPU信息 258
6.3.5 查看本機登錄用戶信息 259
6.3.6 uptime命令 261
6.3.7 查看系統與核心的相關信息 261
6.3.8 lsof命令:列出進程調用或打開的檔案信息 262
6.3.9 dstat命令:性能檢測工具 265
6.4 系統定時任務 267
6.4.1 at命令:一次性執行定時任務 267
6.4.2 crontab命令:循環執行定時任務 271
6.4.3 anacron 276
本章小結 278
第7章 凡走過必留下痕跡:日誌管理 280
7.1 日誌簡介 280
7.1.1 日誌相關服務 281
7.1.2 系統中常見的日誌檔案 281
7.2 日誌服務rsyslogd 283
7.2.1 日誌檔案的格式 283
7.2.2 rsyslogd服務的配置檔案 284
7.3 日誌輪替 291
7.3.1 日誌檔案的命名規則 291
7.3.2 logrotate的配置檔案 292
7.3.3 把自己的日誌加入日誌輪替 295
7.3.4 logrotate命令 296
7.4 日誌分析工具 298
本章小結 302
第8章 常在河邊走,哪有不濕鞋:備份與恢復 303
8.1 數據備份簡介 303
8.1.1 Linux伺服器中的哪些數據需要備份 304
8.1.2 備份策略 305
8.2 備份和恢復命令:xfsdump和xfsrestore 307
8.2.1 xfsdump命令 308
8.2.2 xfsrestore命令 310
8.3 備份命令dd 311
本章小結 314
第9章 伺服器安全“一陽指”:SELinux管理 315
9.1 什麼是SELinux 316
9.1.1 SELinux的作用 316
9.1.2 SELinux的運行模式 317
9.2 SELinux的安裝與啟動管理 318
9.2.1 SELinux附加管理工具的安裝 318
9.2.2 SELinux的啟動管理 318
9.3 SELinux安全上下文管理 320
9.3.1 查看安全上下文 320
9.3.2 修改和設定安全上下文 324
9.3.3 查看和修改默認安全上下文 326
9.4 SELinux日誌查看 327
9.4.1 auditd服務的安裝與啟動 327
9.4.2 auditd日誌的使用 328
9.5 SELinux的策略規則 330
9.5.1 策略規則的查看 330
9.5.2 策略規則的開啟與關閉 332
本章小結 333,
第1章 運籌帷幄,操控全盤:高級檔案系統管理 1
1.1 磁碟配額 1
1.1.1 什麼是磁碟配額 1
1.1.2 磁碟配額中的常見概念 3
1.1.3 用戶和用戶組配額的實現過程 4
1.1.4 配額的實現過程 15
1.2 LVM(邏輯卷管理) 17
1.2.1 LVM的概念 17
1.2.2 在採用圖形界面安裝Linux系統時建立LVM 18
1.2.3 命令模式管理LVM——物理卷管理 24
1.2.4 命令模式管理LVM——卷組管理 26
1.2.5 命令模式管理LVM——邏輯卷管理 29
1.2.6 LVM快照 33
1.3 RAID(磁碟陣列) 37
1.3.1 RAID簡介 37
1.3.2 命令模式配置RAID 5 42
本章小結 48
測試題 48
第2章 化簡單為神奇:Shell基礎 50
2.1 Shell概述 50
2.1.1 什麼是Shell 50
2.1.2 Shell的類別 51
2.2 Shell腳本的運行方式 53
2.2.1 輸出命令echo 53
2.2.2 Shell腳本的運行 56
2.3 Bash的基本功能 57
2.3.1 歷史命令 58
2.3.2 命令與檔案補全 60
2.3.3 命令別名 60
2.3.4 Bash常用快捷鍵 63
2.3.5 輸入/輸出重定向 63
2.3.6 多命令順序執行 67
2.3.7 管道符 70
2.3.8 通配符 73
2.3.9 Bash中的其他特殊字元 74
2.4 Bash中的變數和運算符 78
2.4.1 什麼是變數 78
2.4.2 用戶自定義變數 80
2.4.3 環境變數 82
2.4.4 位置參數變數 90
2.4.5 預定義變數 93
2.4.6 接收鍵盤輸入 95
2.4.7 Shell中的運算符 96
2.4.8 變數測試與內容置換 101
2.5 環境變數配置檔案 104
2.5.1 source命令 104
2.5.2 環境變數配置檔案的分類 105
2.5.3 Shell登錄信息 107
2.5.4 定義Bash快捷鍵 109
本章小結 110
測試題 110
第3章 管理員的“九陽神功”:Shell編程 112
3.1 正則表達式 112
3.1.1 什麼是正則表達式 112
3.1.2 基礎正則表達式 113
3.1.3 擴展正則表達式 121
3.2 字元截取和替換命令 121
3.2.1 cut列提取命令 122
3.2.2 awk編程 124
3.2.3 sed命令 133
3.3 字元處理命令 137
3.3.1 排序命令sort 137
3.3.2 uniq命令 138
3.3.3 統計命令wc 138
3.4 條件判斷 139
3.4.1 按照檔案類型進行判斷 139
3.4.2 按照檔案許可權進行判斷 140
3.4.3 在兩個檔案之間進行比較 141
3.4.4 在兩個整數之間進行比較 141
3.4.5 字元串判斷 142
3.4.6 多重條件判斷 143
3.5 流程控制 143
3.5.1 if條件判斷 144
3.5.2 多分支case條件語句 153
3.5.3 for循環 155
3.5.4 while循環 162
3.5.5 until循環 163
3.5.6 函式 164
3.5.7 特殊的流程控制語句 165
本章小結 169
測試題 169
第4章 庖丁解牛,懸絲診脈:Linux啟動管理 170
4.1 CentOS 7.x系統啟動過程詳解 171
4.1.1 CentOS 7.x基本啟動過程 171
4.1.2 BIOS自檢 172
4.1.3 MBR的結構 173
4.1.4 啟動引導程式的作用 174
4.1.5 grub2載入核心與initramfs虛擬檔案系統 175
4.1.6 由核心調用第一個進程systemd,並調用默認單元組 177
4.1.7 由systemd進程開始並發啟動單元組 179
4.2 啟動引導程式(Boot Loader) 183
4.2.1 grub2載入核心和虛擬檔案系統 184
4.2.2 grub2的配置檔案 184
4.2.3 手工安裝grub2 191
4.2.4 grub2加密 191
4.3 系統修復模式 193
4.3.1 單用戶模式 193
4.3.2 破解root密碼 195
4.3.3 光碟修復模式 197
4.4 核心模組管理 200
4.4.1 核心模組的保存位置與模組保存檔案 201
4.4.2 核心模組的查看 202
4.4.3 核心模組的添加與刪除 203
4.4.4 安裝NTFS檔案系統 204
本章小結 208
第5章 掌柜先生敲算盤:服務管理 209
5.1 舊版系統中的服務管理 209
5.1.1 服務和連線埠 210
5.1.2 服務的啟動與自啟動的區別 213
5.1.3 回顧舊版系統服務的分類與管理 215
5.2 CentOS 7.x中RPM包默認安裝的單元管理 217
5.2.1 CentOS 7.x服務(單元)的分類 217
5.2.2 通過systemctl啟動與自啟動系統單元 218
5.2.3 通過systemctl查看系統單元 220
5.2.4 通過systemctl管理系統單元組(操作環境) 224
5.2.5 systemctl單元的配置檔案 226
5.3 CentOS 7.x中源碼包安裝的服務管理 229
5.3.1 源碼包安裝服務的啟動與自啟動 229
5.3.2 把源碼包安裝的服務加入systemd管理 230
本章小結 232
第6章 七劍下天山:系統管理 233
6.1 進程管理 233
6.1.1 進程簡介 234
6.1.2 進程的查看 235
6.1.3 進程的管理 244
6.1.4 進程的優先權 249
6.2 工作管理 251
6.2.1 工作管理簡介 251
6.2.2 如何把命令放入後台 252
6.2.3 後台命令管理 253
6.3 系統資源查看 255
6.3.1 vmstat命令:監控系統資源 255
6.3.2 dmesg命令:顯示開機時的核心檢測信息 257
6.3.3 free命令:查看記憶體使用狀態 257
6.3.4 查看CPU信息 258
6.3.5 查看本機登錄用戶信息 259
6.3.6 uptime命令 261
6.3.7 查看系統與核心的相關信息 261
6.3.8 lsof命令:列出進程調用或打開的檔案信息 262
6.3.9 dstat命令:性能檢測工具 265
6.4 系統定時任務 267
6.4.1 at命令:一次性執行定時任務 267
6.4.2 crontab命令:循環執行定時任務 271
6.4.3 anacron 276
本章小結 278
第7章 凡走過必留下痕跡:日誌管理 280
7.1 日誌簡介 280
7.1.1 日誌相關服務 281
7.1.2 系統中常見的日誌檔案 281
7.2 日誌服務rsyslogd 283
7.2.1 日誌檔案的格式 283
7.2.2 rsyslogd服務的配置檔案 284
7.3 日誌輪替 291
7.3.1 日誌檔案的命名規則 291
7.3.2 logrotate的配置檔案 292
7.3.3 把自己的日誌加入日誌輪替 295
7.3.4 logrotate命令 296
7.4 日誌分析工具 298
本章小結 302
第8章 常在河邊走,哪有不濕鞋:備份與恢復 303
8.1 數據備份簡介 303
8.1.1 Linux伺服器中的哪些數據需要備份 304
8.1.2 備份策略 305
8.2 備份和恢復命令:xfsdump和xfsrestore 307
8.2.1 xfsdump命令 308
8.2.2 xfsrestore命令 310
8.3 備份命令dd 311
本章小結 314
第9章 伺服器安全“一陽指”:SELinux管理 315
9.1 什麼是SELinux 316
9.1.1 SELinux的作用 316
9.1.2 SELinux的運行模式 317
9.2 SELinux的安裝與啟動管理 318
9.2.1 SELinux附加管理工具的安裝 318
9.2.2 SELinux的啟動管理 318
9.3 SELinux安全上下文管理 320
9.3.1 查看安全上下文 320
9.3.2 修改和設定安全上下文 324
9.3.3 查看和修改默認安全上下文 326
9.4 SELinux日誌查看 327
9.4.1 auditd服務的安裝與啟動 327
9.4.2 auditd日誌的使用 328
9.5 SELinux的策略規則 330
9.5.1 策略規則的查看 330
9.5.2 策略規則的開啟與關閉 332
本章小結 333”