Linux Shell自動化運維(慕課版)
內容描述
本書共10章,包括Shell變量、條件測試及流程控制、Shell循環、Shell數組、Shell函數、正則表達式、流編輯器Sed、文本處理工具Awk以及性能項目操作案例和項目Nginx日誌分析案例等。
目錄大綱
第1章 初識Shell 11.1 Shell如何連接用戶和內核 11.2 Shell連接其他程序 21.3 Shell同樣支持編程 21.4 Shell是一種腳本語言 31.5 Shell的各種版本 31.5.1 Bourne Shell 41.5.2 C Shell 41.5.3 Bash Shell 41.5.4 查看Shell版本 41.6 Shell是運維工程師必備技能 51.7 Shell變量的定義 71.8 Shell變量的類型 71.8.1 自定義變量 71.8.2 環境變量 81.8.3 位置變量 91.8.4 預定義變量 91.9 Shell變量的賦值 101.9.1 直接賦值 101.9.2 從鍵盤讀入賦值 101.9.3 使用命令行參數賦值 111.9.4 利用命令的輸出結果賦值 111.9.5 從文件中讀入數據賦值 121.10 Shell變量的運算 131.10.1 expr數值運算命令 131.10.2 “(())“或“[ ]”數值運算命令 131.10.3 let數值運算命令 141.10.4 Shell小數運算 141.11 Shell變量的刪除、替換和替代 141.11.1 Shell變量的刪除 141.11.2 Shell變量的替換 151.11.3 Shell變量的替代 161.12 Shell變量的自增 161.13 Shell變量中的特殊符號 171.14 本章小結 211.15 習題 21第2章 Shell條件測試 232.1 Shell中的條件測試語句 232.1.1 文件測試 232.1.2 整數測試 242.1.3 字符串測試 252.1.4 邏輯運算符 262.2 if條件語句 272.2.1 if單分支 272.2.2 if雙分支 272.2.3 if多分支 282.2.4 if語句配置yum源實戰腳本 292.3 case條件語句 302.4 case條件語句案例實戰 312.4.1 case刪除用戶判斷 312.4.2 case實現系統工具箱的使用 322.4.3 case實現jumpserver 332.4.4 case實現多版本PHP安裝 352.5 本章小結 372.6 習題 37第3章 Shell循環 393.1 for循環語法結構 393.2 for循環語句案例實戰 403.2.1 for循環語句實現批量主機ping探測 403.2.2 for循環語句實現批量用戶創建 413.2.3 for循環語句實現文件中批量用戶創建 423.3 expect交互式公鑰推送 433.3.1 expect實現非交互登錄 433.3.2 expect實現非交互傳輸文件 443.3.3 expect實現批量主機公鑰推送 453.3.4 for循環語句實現批量主機密碼修改 483.3.5 for循環語句實現批量遠程主機SSH配置 493.4 while循環和until循環 503.4.1 while循環語句語法結構 513.4.2 until循環語句語法結構 513.5 循環語句案例實戰 513.5.1 while循環語句實現批量用戶創建 513.5.2 while循環語句和until循環語句測試遠程主機連接 523.5.3 for、while、until終極對決 533.6 Shell的並發控制 553.6.1 for循環實現Shell的並發控制 553.6.2 for後台循環實現Shell的並發控制 563.7 Shell的並發控制案例實戰 563.7.1 for循環實現Shell的並發控制案例實戰 563.7.2 for後台循環實現Shell的並發控制案例實戰 573.7.3 Linux管道實現Shell的並發控制案例實戰 583.8 本章小結 593.9 習題 60第4章 Shell數組 614.1 Shell數組的基本概念 614.2 Shell數組的類型 614.2.1 普通數組 624.2.2 關聯數組 624.2.3 定義數組的類型 624.3 Shell數組的定義 624.3.1 直接定義數組 634.3.2 下標定義數組 634.3.3 間接定義數組 634.3.4 從文件中讀入定義數組 644.4 Shell數組的遍歷及賦值 644.4.1 常見的訪問Shell數組表達式 644.4.2 while循環實現Shell數組的遍歷 654.4.3 for循環實現Shell數組的遍歷 664.4.4 Shell數組的賦值 664.4.5 Shell數組的刪除 674.4.6 Shell數組的截取和替換 674.5 Shell數組腳本實戰 684.5.1 array數組實現性別統計 684.5.2 array數組統計不同類型Shell的數量 694.5.3 array數組統計TCP連接狀態數量 704.6 本章小結 714.7 習題 71第5章 Shell編程中函數的用法 735.1 Shell函數的概念 735.2 Shell函數的語法 745.3 Shell函數的調用 745.3.1 Shell函數的傳參介紹 745.3.2 Shell函數的返回值介紹 755.4 Shell函數的應用實戰 755.4.1 腳本中調用Shell函數 755.4.2 Shell函數的返回值 775.4.3 Shell函數的位置參數 785.4.4 Shell函數數組變量的傳參 785.4.5 Shell函數的返回輸出數組變量 795.5 Shell內置命令和外部命令的區別 805.6 Shell內置命令 805.6.1 循環結構中break、continue、return和exit的區別 805.6.2 break、continue、exit命令執行流程圖 815.6.3 break命令和continue命令案例實戰 825.6.4 shift命令 845.7 本章小結 845.8 習題 85第6章 正則表達式 866.1 正則表達式概念 866.2 正則表達式元字符 876.3 正則表達式語法 886.4 正則表達式運算符優先級 896.5 正則表達式匹配規則 906.5.1 基本模式匹配 906.5.2 字符簇 906.6 grep命令 926.6.1 grep命令簡介 926.6.2 grep命令語法格式 936.6.3 grep命令使用方式 936.6.4 grep命令結合正則表達式使用 956.6.5 grep命令結合正則表達式案例實戰 976.7 本章小結 1006.8 習題 101第7章 流編輯器sed 1027.1 sed工作原理 1027.2 sed語法格式及特點 1037.2.1 sed語法格式 1037.2.2 sed特點 1047.3 sed用法 1047.4 sed支持正則表達式 1057.5 sed案例實戰 1087.6 本章小結 1147.7 習題 114第8章 awk文本處理工具 1168.1 awk簡介 1168.2 awk工作流程 1178.3 awk工作原理 1178.4 awk語法格式 1188.4.1 awk基本語法格式 1188.4.2 awk語法選項實例 1188.5 awk內置變量 1238.6 awk模式 1288.7 awk流程控制 1318.7.1 if條件語句 1328.7.2 while循環 1338.7.3 for循環 1358.7.4 break命令、continue命令、exit命令 1368.7.5 數組 1378.8 awk中的函數 1418.8.1 awk內建函數 1418.8.2 awk自定義函數 1428.9 本章小結 1448.10 習題 145第9章 系統性能分析 1469.1 常見的性能分析工具 1469.1.1 vmstat命令 1469.1.2 sar系統活動取樣命令 1499.1.3 iostat性能分析命令 1509.1.4 top性能監控命令 1529.1.5 ps實時監控系統命令 1559.1.6 netstat監控網絡狀態命令 1609.1.7 ifconfig查看地址命令 1669.1.8 ss顯示連接狀態命令 1709.1.9 free顯示內存命令 1769.1.10 df查看磁盤占用命令 1789.1.11 dstat動態顯示系統負載命令 1819.1.12 iotop查看I/O命令 1849.1.13 iftop實時監控命令 1859.2 項目系統資源性能瓶頸腳本 1879.3 本章小結 1979.4 習題 197第10章 項目實戰集 19910.1 服務器存活狀態腳本項目 19910.2 Nginx日誌分析項目 20110.3 Zabbix信息收集項目 20810.3.1 Zabbix監控TCP狀態信息收集 20810.3.2 Zabbix監控MySQL狀態信息收集 21010.3.3 Zabbix監控內存信息收集 21310.4 多機部署MySQL數據庫項目 21410.5 多機部署LNMP項目 21610.6 本章小結 21810.7 習題 218
作者介紹
千锋教育 1.千锋教育采用全程面授高品质、高成本培养模式,教学大纲紧跟企业需求,拥有全国一体化就业保障服务,成为学员信赖的IT职业教育品牌。 2.获得荣誉包括:中关村移动互联网产业联盟副理事长单位、中国软件协会教育培训委员会认证一级培训机构、中关村国际孵化软件协会授权中关村移动互联网学院、教育部教育管理信息中心指定移动互联网实训基地等。