Linux Shell 核心編程指南

丁明一

  • 出版商: 電子工業
  • 出版日期: 2019-11-01
  • 定價: $534
  • 售價: 7.9$422
  • 語言: 簡體中文
  • ISBN: 7121375710
  • ISBN-13: 9787121375712
  • 相關分類: Linux
  • 立即出貨

買這商品的人也買了...

商品描述

在IT產業鏈中開源的理念已成為絕大多數企業的共識。隨著開源技術的不斷進步與創新,雲計算也逐步深入到了每個因特網企業的內部。但是,隨之而來的便是管理成本的提高,大量的物理或者虛擬主機需要管理與維護,如何能夠更好地實現自動化運維,成為企業需要迫切解決的問題。行業中自動化運維的軟件很多,Puppet、Saltstack、Ansible等讓我們在雲時代依然可以輕松管理和維護設備與業務,然而像Ansible這樣的自動化工具,雖然已經內置了很多模塊,但是在解決每個企業的個性化需求時還需要編寫自動化腳本。本書將圍繞Linux系統中最常用的Shell腳本語言,講解如何通過Shell編寫自動化、智能化腳本。全書以案例貫穿,對每個知識點都可以找到與之對應的案例,完成本書中的每個案例對於未來在企業中的實際應用極具意義。另外,在本書中配套有很多游戲案例,通過編寫游戲腳本可以極大地提升學習的樂趣。本書中的代碼可以在https://github.com/jacobproject/shell_scripts下載,現在的商業環境是一個充滿競爭的環境,很多企業的業務量在不斷地增長,對服務質量的要求也越來越高。特別是因特網企業為了滿足客戶更高的需求,提升用戶使用體驗,IT部門需要維護的設備數量從早期的幾台,發展到了目前的數以萬計,如此龐大的服務器維護量,通常會讓IT管理人員頭疼不已。本書介紹的自動化運維內容可以讓我們快速掌握大規模批量處理的簡單方法。本書從基礎知識講到數據分析、數據過濾等高級應用,適合Linux運維人員、Shell編程愛好者閱讀,可作為Linux運維人員的一本優秀的案頭書。

目錄大綱

第1章從這裡開始,起飛了1
1.1腳本文件的書寫格式1
1.2腳本文件的各種執行方式3
1.3如何在腳本文件中實現數據的輸入與輸出6
1.4輸入與輸出的重定向17
1.5各種引號的正確使用姿勢24
1.6千變萬化的變量28
1.7數據過濾與正則表達式33
1.8各式各樣的算術運算40
第2章人工智能,很人工、很智能的腳本46
2.1智能化腳本的基礎之測試46
2.2字符串的判斷與比較47
2.3整數的判斷與比較49
2.4文件屬性的判斷與比較51
2.5探究[[]]和[]的區別55
2.6實戰案例:系統性能監控腳本60
2.7實戰案例:單分支if語句62
2.8實戰案例:雙分支if語句68
2.9實戰案例:如何監控HTTP服務狀態72
2.10實戰案例:多分支if語句81
2.11實戰案例:簡單、高效的case語句87
2.12實戰案例:編寫Nginx啟動腳本92
2.13揭秘模式匹配與通配符、擴展通配符94
2.14 Shell小遊戲之石頭剪刀布100
第3章根本停不下來的循環和中斷控制104
3.1玩轉for循環語句104
3.2實戰案例:猴子吃香蕉的問題114
3.3實戰案例:進化版HTTP狀態監控腳本116
3.4神奇的循環嵌套117
3.5非常重要的IFS 124
3.6實戰案例:while循環130
3.7 Shell小遊戲之猜隨機數字134
3.8實戰案例:如何通過read命令讀取文件中的數據136
3.9 until和select循環140
3.10中斷與退出控制143
3.11 Shell小遊戲之機選雙色球149
第4章請開始你的表演,數組、Subshel​​l與函數152
4.1強悍的數組152
4.2實戰案例:斐波那契數列157
4.3實戰案例:網站日誌分析腳本159
4.4常犯錯誤的SubShell 164
4.5啟動進程的若干種方式172
4.6非常實用的函數功能176
4.7變量的作用域與return返回值179
4.8實戰案例:多進程的ping腳本185
4.9控制進程數量的核心技術——文件描述符和命名管道187
4.10實戰案例:一鍵源碼部署LNMP的腳本197
4.11遞歸函數204
4.12排序算法之冒泡排序206
4.13排序算法之快速排序209
4.14排序算法之插入排序213
4.15排序算法之計數排序215
4.16 Shell小遊戲之單詞拼接puzzle 218
第5章一大波腳本技巧正向你走來221
5.1 Shell八大擴展功能之花括號221
5.2 Shell八大擴展功能之波浪號223
5.3 Shell八大擴展功能之變量替換224
5.4 Shell八大擴展功能之命令替換234
5.5 Shell八大擴展功能之算術替換234
5.6 Shell八大擴展功能之進程替換236
5.7 Shell八大擴展功能之單詞切割238
5.8 Shell八大擴展功能之路徑替換239
5.9實戰案例:生成隨機密碼的若干種方式240
5.10 Shell解釋器的屬性與初始化命令行終端247
5.11 trap信號捕獲2 57
5.12實戰案例:電子時鐘259
5.13 Shell小遊戲之抓住小老鼠算你贏263
5.14實戰案例:腳本排錯技巧267
5.15實戰案例:Shell版本的進度條功能270
5.16再談參數傳遞之xargs 276
5.17使用shift移動位置參數280
5.18實戰案例:Nginx日誌切割腳本281
第6章上古神兵利器sed 285
6.1 sed基本指令285
6.2 sed高級指令305
6.3實戰案例:自動化配置vsftpd腳本318
6.4實戰案例:自動化配置DHCP腳本325
6.5實戰案例:自動化克隆KVM虛擬機腳本329
6.6實戰案例:通過libguestfs管理KVM虛擬機腳本337
6.7實戰案例:自動化配置SSH安全策略腳本343
6.8實戰案例:基於GRUB配置文件修改內核啟動參數腳本345
6.9實戰案例:網絡爬蟲腳本348
6.10 Shell小遊戲之點名抽獎器354
第7章不可思議的編程語言awk 356
7.1 awk基礎語法356
7.2 awk條件判斷374
7.3 awk數組與循環379
7.4 awk函數388
7.5實戰案例:awk版網站日誌分析398
7.6實戰案例:監控網絡連接狀態403
7.7實戰案例:獲取SSH暴力破解攻擊黑名單列表412
7.8實戰案例:性能監控腳本418
7.9實戰案例:數據庫監控腳本420
7.10實戰案例:awk版網絡爬蟲429