跟老韓學 Linux 自動化運維 (基礎篇)
韓艷威
買這商品的人也買了...
-
$403大規模 Linux 集群架構最佳實踐 : 如何管理上千台服務器 (Best Practice of Managing Massive Linux Cluster)
-
$520$442 -
$505曝光 : Linux 企業運維實戰
-
$480$360 -
$704跟老韓學Linux運維
-
$500$375 -
$505API 安全技術與實戰
-
$474$450 -
$1,000$790 -
$780$608 -
$602深入理解 Linux 網絡: 修煉底層內功,掌握高性能原理
-
$658基於 Linux 的企業自動化實踐:服務器的構建、部署與管理
-
$709深入 Linux 內核架構與底層原理, 2/e
-
$760API 安全實戰 (API Security in Action)
-
$403軟件性能測試 — LoadRunner 性能監控與分析實例詳解
-
$356漏洞管理實戰:網絡風險管理的策略方法
-
$458測試開發實戰教程
-
$654$621 -
$299$284 -
$414$393 -
$630$498 -
$449跟老韓學 Linux 架構 (基礎篇)
-
$414$393 -
$654$621 -
$862數字集成電路設計與實戰
相關主題
商品描述
本書系統地介紹 Shell 的各個知識點及其在企業環境中的具體應用。本書主要內容包括 Shell腳本編程、Shell變量與字符串、Shell正則表達式與文本處理、Shell條件測試和循環語句、Shell數組與函數、Linux自動化運維等。
本書適合 Linux 系統管理員閱讀,也適合軟件開發人員、軟件測試人員及數據庫管理人員學習,也可以作為大專院校電腦相關專業師生的學慣用書以及培訓機構的教材。
作者簡介
韩艳威,从事Linux运维工作多年,在大中型互联网公司担任过Linux技术经理、大数据架构师等职位,不仅对Linux自动化运维、Linux性能监控与调优、开源Hadoop及阿里云大数据等有较为深刻的认知,而且对Python、Java、Scala等编程语言有深刻的理解。热爱分享技术,曾多次在51CTO、异步社区、思否编程等平台分享Linux技术。
目錄大綱
第 1章 Shell腳本編程入門 1
1.1 熟練掌握Linux指令的重要性 2
1.2 Shell的基本概念 3
1.2.1 熟練掌握Shell腳本的必要性 5
1.2.2 Shell腳本的基本結構 5
1.2.3 編寫Shell腳本的兩種方法 6
1.2.4 Atom編輯器常用操作 7
1.2.5 編寫Shell腳本的通用規則 10
1.3 Shell腳本註釋 13
1.3.1 單行註釋 13
1.3.2 多行註釋 13
1.4 Shell腳本調試 17
1.4.1 使用trap指令 17
1.4.2 使用tee指令 19
1.4.3 使用Shell選項 20
1.5 掌握Shell編程 25
1.5.1 學Shell編程的建議 26
1.5.2 Shell腳本在應用運維中的定位 27
1.6 Shell編程特性 29
1.6.1 歷史指令history 29
1.6.2 補全指令與文件路徑 31
1.6.3 指令別名和指令執行順序 31
1.6.4 Bash常用快捷鍵 33
1.6.5 Linux文件描述符 34
1.6.6 文件描述符應用案例 36
1.6.7 標準輸入輸出和輸入輸出重定向 43
1.6.8 深入瞭解重定向 44
1.6.9 Here Document入門與進階 48
1.6.10 通配符基礎和特殊 符號 51
1.6.11 將DOS格式轉換為 UNIX格式 56
1.7 Shell腳本運維實戰 58
1.7.1 統計磁盤容量信息 58
1.7.2 統計磁盤容量信息腳本擴展 58
1.7.3 復制文件到指定目錄 59
1.7.4 安裝LAMP菜單 59
1.8 Linux清空文件內容的6種方法 61
1.8.1 重定向 62
1.8.2 true指令 62
1.8.3 cat、cp、dd指令與/dev/null設備 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定時任務不執行 78
1.10 Shell編程中的特殊字符 79
1.10.1 Shell通配符 79
1.10.2 Shell元字符 82
1.10.3 Shell轉義字符 82
1.11 本章練習 83
1.12 編寫Shell腳本經驗 85
1.13 本章總結 85
第 2章 Shell變量與字符串 86
2.1 Shell基礎知識 87
2.1.1 絕對路徑與相對路徑 87
2.1.2 顯示登錄信息數據 91
2.1.3 Bash環境變量加載過程 94
2.1.4 常用Bash基本特性 95
2.1.5 Shell一次性執行多條指令 101
2.2 Shell變量與運算符 103
2.2.1 變量基礎知識 103
2.2.2 Bash環境變量 106
2.2.3 Bash語言與位置參數變量 110
2.2.4 Bash預定義變量 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 算術運算符 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中字符串反轉的幾種技巧 135
2.6.5 字符串實例 137
2.6.6 字符串常用測試方法 141
2.7 Shell指令替換與數學運算 144
2.7.1 指令替換 144
2.7.2 Shell數學運算基礎知識 146
2.7.3 整數運算之“$[]” 146
2.7.4 整數運算之“(())” 147
2.7.5 整數運算之let 147
2.7.6 整數運算之expr 148
2.7.7 數學運算之bc 151
2.8 本章練習 153
2.9 本章總結 156
第3章 Shell正則表達式與文本處理三劍客 157
3.1 正則表達式基礎 158
3.1.1 正則表達式的定義和分類 158
3.1.2 元字符 158
3.2 grep與正則表達式 159
3.2.1 grep基礎知識 159
3.2.2 grep與正則表達式 160
3.3 sed與正則表達式 170
3.3.1 sed語法與基礎指令 171
3.3.2 sed基本應用 172
3.3.3 sed正則表達式應用實例 178
3.4 awk與正則表達式 189
3.4.1 awk語法與基本指令 189
3.4.2 awk基礎應用 192
3.4.3 awk數字表達式與運算符 201
3.4.4 awk模式匹配 205
3.4.5 awk與正則表達式 208
3.5 awk數組與運算符 220
3.5.1 數組基礎應用實例 220
3.5.2 awk變量詳解 223
3.5.3 awk流程控制 228
3.5.4 awk分組統計 233
3.6 本章總結 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 本章練習 273
4.4 本章總結 276
第5章 Shell條件測試和循環語句 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 整數測試 284
5.2.3 文件狀態測試 286
5.2.4 復雜判斷邏輯運算符 288
5.2.5 條件測試與其他常用運算符 290
5.2.6 Shell常用測試指令與符號 291
5.3 Shell流程控制 293
5.3.1 if語句基礎 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循環 304
5.4.1 帶列表的for循環 305
5.4.2 不帶列表的for循環 308
5.4.3 C風格的for循環 308
5.4.4 until循環與while循環 309
5.5 循環控制語句 313
5.5.1 break語句控制循環 313
5.5.2 continue語句控制循環 315
5.5.3 select結構 316
5.6 本章練習 317
5.7 本章總結 320
第6章 Shell數組與函數 321
6.1 Shell數組的定義和賦值 322
6.1.1 定義Shell數組的4種方法 322
6.1.2 為Shell數組賦值的4種方法 327
6.2 訪問和刪除數組 330
6.2.1 訪問數組 330
6.2.2 刪除數組 338
6.2.3 數組的其他常用操作 340
6.3 Shell函數 342
6.3.1 函數基礎 342
6.3.2 函數的返回值 346
6.3.3 別名和函數 349
6.3.4 函數中的全局變量和局部變量 350
6.3.5 函數參數 352
6.4 本章練習 353
6.5 本章總結 355
第7章 Linux自動化運維入門 356
7.1 SSH服務基礎精講 357
7.1.1 SSH服務工作原理 357
7.1.2 SSH服務安全相關 358
7.2 OpenSSH服務詳解 360
7.2.1 安裝OpenSSH服務套件 360
7.2.2 OpenSSH服務配置文件詳解 363
7.2.3 SSH服務雙機互信實現 364
7.2.4 SSH免密碼輸入執行指令 365
7.3 SSH自動化運維精講 368
7.3.1 SSH遠程執行指令和腳本 368
7.3.2 SSH批量分發項目實例 370
7.4 自動化運維工具之pssh 371
7.4.1 pssh基礎概覽 371
7.4.2 pssh運維實例精講 372
7.5 自動化運維工具之rsync 376
7.5.1 關於構建備份服務器的一些思考 376
7.5.2 搭建rsync備份服務器 377
7.5.3 rsync服務器常用配置 381
7.5.4 rsync多模塊配置實例 382
7.5.5 rsync常用命令 384
7.6 定時任務與發送郵件 393
7.6.1 定時任務基礎知識 393
7.6.2 Windows定時任務實戰案例 394
7.6.3 定時任務at之案例 394
7.6.4 Linux定時任務crontab 397
7.7 crontab基礎知識 397
7.8 使用Mutt發送郵件 400
7.8.1 Mutt基礎知識 400
7.8.2 Mutt基本使用方法 401
7.8.3 使用第三方服務發送郵件 402
7.9 本章練習 403
7.10 本章總結 406