跟老韓學(xué)Linux自動化運維(基礎(chǔ)篇)
定 價:109.8 元
- 作者:韓艷威
- 出版時間:2022/9/1
- ISBN:9787115562326
- 出 版 社:人民郵電出版社
- 中圖法分類:TP316.85
- 頁碼:406
- 紙張:
- 版次:01
- 開本:16開
本書全面、系統(tǒng)地介紹 Shell 的各個知識點及其在企業(yè)環(huán)境中的具體應(yīng)用。本書主要內(nèi)容包括 Shell腳本編程、Shell變量與字符串、Shell正則表達式與文本處理、Shell條件測試和循環(huán)語句、Shell數(shù)組與函數(shù)、Linux自動化運維等。
本書適合 Linux 系統(tǒng)管理員閱讀,也適合軟件開發(fā)人員、軟件測試人員及數(shù)據(jù)庫管理人員學(xué)習(xí),也可以作為大專院校計算機相關(guān)專業(yè)師生的學(xué)習(xí)用書以及培訓(xùn)機構(gòu)的教材。
系統(tǒng)地介紹 Shell 的各個知識點及其在企業(yè)環(huán)境中的具體應(yīng)用,著重講解shell編程及相關(guān)工具在Linux自動化運維管理中的實際應(yīng)用。
內(nèi)容涵蓋: Shell腳本編程、Shell變量與字符串、Shell正則表達式與文本處理、Shell條件測試和循環(huán)語句、Shell數(shù)組與函數(shù)、Linux自動化運維等。
掃碼即刻獲取讀者交流服務(wù)號,作者隨時為您解答在學(xué)習(xí)過程中的重點、難點操作技巧。
韓艷威,從事Linux運維工作多年,在大中型互聯(lián)網(wǎng)公司擔(dān)任過Linux技術(shù)經(jīng)理、大數(shù)據(jù)架構(gòu)師等職位,不僅對Linux自動化運維、Linux性能監(jiān)控與調(diào)優(yōu)、開源Hadoop及阿里云大數(shù)據(jù)等有較為深刻的認知,而且對Python、Java、Scala等編程語言有深刻的理解。熱愛分享技術(shù),曾多次在51CTO、異步社區(qū)、思否編程等平臺分享Linux技術(shù)。
第 1章 Shell腳本編程入門 1
1.1 熟練掌握Linux指令的重要性 2
1.2 Shell的基本概念 3
1.2.1 熟練掌握Shell腳本的必要性 5
1.2.2 Shell腳本的基本結(jié)構(gòu) 5
1.2.3 編寫Shell腳本的兩種方法 6
1.2.4 Atom編輯器常用操作 7
1.2.5 編寫Shell腳本的通用規(guī)則 10
1.3 Shell腳本注釋 13
1.3.1 單行注釋 13
1.3.2 多行注釋 13
1.4 Shell腳本調(diào)試 17
1.4.1 使用trap指令 17
1.4.2 使用tee指令 19
1.4.3 使用Shell選項 20
1.5 掌握Shell編程 25
1.5.1 學(xué)Shell編程的建議 26
1.5.2 Shell腳本在應(yīng)用運維中的定位 27
1.6 Shell編程特性 29
1.6.1 歷史指令history 29
1.6.2 補全指令與文件路徑 31
1.6.3 指令別名和指令執(zhí)行順序 31
1.6.4 Bash常用快捷鍵 33
1.6.5 Linux文件描述符 34
1.6.6 文件描述符應(yīng)用案例 36
1.6.7 標(biāo)準(zhǔn)輸入輸出和輸入輸出重定向 43
1.6.8 深入了解重定向 44
1.6.9 Here Document入門與進階 48
1.6.10 通配符基礎(chǔ)和特殊 符號 51
1.6.11 將DOS格式轉(zhuǎn)換為 UNIX格式 56
1.7 Shell腳本運維實戰(zhàn) 58
1.7.1 統(tǒng)計磁盤容量信息 58
1.7.2 統(tǒng)計磁盤容量信息腳本擴展 58
1.7.3 復(fù)制文件到指定目錄 59
1.7.4 安裝LAMP菜單 59
1.8 Linux清空文件內(nèi)容的6種方法 61
1.8.1 重定向 62
1.8.2 true指令 62
1.8.3 cat、cp、dd指令與/dev/null設(shè)備 62
1.8.4 echo指令 63
1.8.5 truncate指令 64
1.8.6 一句話腳本 65
1.8.7 注意事項 66
1.9 Shell編程實用指令 67
1.9.1 read指令 67
1.9.2 sleep指令 70
1.9.3 date指令 71
1.9.4 sshpass指令 72
1.9.5 案例:crontab定時任務(wù)不執(zhí)行 78
1.10 Shell編程中的特殊字符 79
1.10.1 Shell通配符 79
1.10.2 Shell元字符 82
1.10.3 Shell轉(zhuǎn)義字符 82
1.11 本章練習(xí) 83
1.12 編寫Shell腳本經(jīng)驗 85
1.13 本章總結(jié) 85
第 2章 Shell變量與字符串 86
2.1 Shell基礎(chǔ)知識 87
2.1.1 絕對路徑與相對路徑 87
2.1.2 顯示登錄信息數(shù)據(jù) 91
2.1.3 Bash環(huán)境變量加載過程 94
2.1.4 常用Bash基本特性 95
2.1.5 Shell一次性執(zhí)行多條指令 101
2.2 Shell變量與運算符 103
2.2.1 變量基礎(chǔ)知識 103
2.2.2 Bash環(huán)境變量 106
2.2.3 Bash語言與位置參數(shù)變量 110
2.2.4 Bash預(yù)定義變量 110
2.2.5 變量的類型 117
2.3 Shell變量高級知識 119
2.3.1 變量刪除和替換 119
2.3.2 變量測試 120
2.3.3 變量的長度 122
2.3.4 變量與eval指令 123
2.4 Shell運算符 124
2.4.1 變量賦值 124
2.4.2 算術(shù)運算符 125
2.5 Shell編程之特殊符號 126
2.5.1 雙引號 127
2.5.2 單引號 127
2.5.3 反引號 128
2.5.4 反斜線 128
2.6 Shell編程之字符串常用操作 130
2.6.1 獲取字符串的長度 130
2.6.2 獲取子串的索引值 132
2.6.3 抽取字符串 134
2.6.4 Shell中字符串反轉(zhuǎn)的幾種技巧 135
2.6.5 字符串實例 137
2.6.6 字符串常用測試方法 141
2.7 Shell指令替換與數(shù)學(xué)運算 144
2.7.1 指令替換 144
2.7.2 Shell數(shù)學(xué)運算基礎(chǔ)知識 146
2.7.3 整數(shù)運算之“$[]” 146
2.7.4 整數(shù)運算之“(())” 147
2.7.5 整數(shù)運算之let 147
2.7.6 整數(shù)運算之expr 148
2.7.7 數(shù)學(xué)運算之bc 151
2.8 本章練習(xí) 153
2.9 本章總結(jié) 156
第3章 Shell正則表達式與文本處理三劍客 157
3.1 正則表達式基礎(chǔ) 158
3.1.1 正則表達式的定義和分類 158
3.1.2 元字符 158
3.2 grep與正則表達式 159
3.2.1 grep基礎(chǔ)知識 159
3.2.2 grep與正則表達式 160
3.3 sed與正則表達式 170
3.3.1 sed語法與基礎(chǔ)指令 171
3.3.2 sed基本應(yīng)用 172
3.3.3 sed正則表達式應(yīng)用實例 178
3.4 awk與正則表達式 189
3.4.1 awk語法與基本指令 189
3.4.2 awk基礎(chǔ)應(yīng)用 192
3.4.3 awk數(shù)字表達式與運算符 201
3.4.4 awk模式匹配 205
3.4.5 awk與正則表達式 208
3.5 awk數(shù)組與運算符 220
3.5.1 數(shù)組基礎(chǔ)應(yīng)用實例 220
3.5.2 awk變量詳解 223
3.5.3 awk流程控制 228
3.5.4 awk分組統(tǒng)計 233
3.6 本章總結(jié) 236
第4章 Shell編程之文件查找與處理 237
4.1 find與正則表達式 238
4.1.1 find運行機制 238
4.1.2 find運算符表達式 239
4.1.3 find常用選項及實例 243
4.1.4 find進階實例 247
4.1.5 find中的exec與xargs 249
4.2 文本處理指令 257
4.2.1 locate指令 257
4.2.2 which與whereis指令 262
4.2.3 cut指令 263
4.2.4 sort指令 264
4.2.5 tar指令 266
4.2.6 split指令 271
4.3 本章練習(xí) 273
4.4 本章總結(jié) 276
第5章 Shell條件測試和循環(huán)語句 277
5.1 Shell編程之字符串精講 278
5.1.1 獲取字符串長度的3種方法 278
5.1.2 截取和替換字符串 279
5.2 Shell條件測試和表達式 281
5.2.1 條件測試 281
5.2.2 整數(shù)測試 284
5.2.3 文件狀態(tài)測試 286
5.2.4 復(fù)雜判斷邏輯運算符 288
5.2.5 條件測試與其他常用運算符 290
5.2.6 Shell常用測試指令與符號 291
5.3 Shell流程控制 293
5.3.1 if語句基礎(chǔ) 293
5.3.2 if語句嵌套 297
5.3.3 if else語句 298
5.3.4 if多分支語句 299
5.3.5 exit指令 300
5.3.6 case多條件判斷語句 302
5.4 Shell循環(huán) 304
5.4.1 帶列表的for循環(huán) 305
5.4.2 不帶列表的for循環(huán) 308
5.4.3 C風(fēng)格的for循環(huán) 308
5.4.4 until循環(huán)與while循環(huán) 309
5.5 循環(huán)控制語句 313
5.5.1 break語句控制循環(huán) 313
5.5.2 continue語句控制循環(huán) 315
5.5.3 select結(jié)構(gòu) 316
5.6 本章練習(xí) 317
5.7 本章總結(jié) 320
第6章 Shell數(shù)組與函數(shù) 321
6.1 Shell數(shù)組的定義和賦值 322
6.1.1 定義Shell數(shù)組的4種方法 322
6.1.2 為Shell數(shù)組賦值的4種方法 327
6.2 訪問和刪除數(shù)組 330
6.2.1 訪問數(shù)組 330
6.2.2 刪除數(shù)組 338
6.2.3 數(shù)組的其他常用操作 340
6.3 Shell函數(shù) 342
6.3.1 函數(shù)基礎(chǔ) 342
6.3.2 函數(shù)的返回值 346
6.3.3 別名和函數(shù) 349
6.3.4 函數(shù)中的全局變量和局部變量 350
6.3.5 函數(shù)參數(shù) 352
6.4 本章練習(xí) 353
6.5 本章總結(jié) 355
第7章 Linux自動化運維入門 356
7.1 SSH服務(wù)基礎(chǔ)精講 357
7.1.1 SSH服務(wù)工作原理 357
7.1.2 SSH服務(wù)安全相關(guān) 358
7.2 OpenSSH服務(wù)詳解 360
7.2.1 安裝OpenSSH服務(wù)套件 360
7.2.2 OpenSSH服務(wù)配置文件詳解 363
7.2.3 SSH服務(wù)雙機互信實現(xiàn) 364
7.2.4 SSH免密碼輸入執(zhí)行指令 365
7.3 SSH自動化運維精講 368
7.3.1 SSH遠程執(zhí)行指令和腳本 368
7.3.2 SSH批量分發(fā)項目實例 370
7.4 自動化運維工具之pssh 371
7.4.1 pssh基礎(chǔ)概覽 371
7.4.2 pssh運維實例精講 372
7.5 自動化運維工具之rsync 376
7.5.1 關(guān)于構(gòu)建備份服務(wù)器的一些思考 376
7.5.2 搭建rsync備份服務(wù)器 377
7.5.3 rsync服務(wù)器常用配置 381
7.5.4 rsync多模塊配置實例 382
7.5.5 rsync常用命令 384
7.6 定時任務(wù)與發(fā)送郵件 393
7.6.1 定時任務(wù)基礎(chǔ)知識 393
7.6.2 Windows定時任務(wù)實戰(zhàn)案例 394
7.6.3 定時任務(wù)at之案例 394
7.6.4 Linux定時任務(wù)crontab 397
7.7 crontab基礎(chǔ)知識 397
7.8 使用Mutt發(fā)送郵件 400
7.8.1 Mutt基礎(chǔ)知識 400
7.8.2 Mutt基本使用方法 401
7.8.3 使用第三方服務(wù)發(fā)送郵件 402
7.9 本章練習(xí) 403
7.10 本章總結(jié) 406