Bash Cookbook(中文版)

Bash Cookbook(中文版)

《Bash Cookbook(中文版)》是2020年3月人民郵電出版社出版的圖書,作者是[加]羅恩·布拉什(Ron Brash)、[加]加內什·奈克(Ganesh Naik)。

基本介紹

  • 書名:Bash Cookbook(中文版)
  • 作者:[加]羅恩·布拉什(Ron Brash)、[加]加內什·奈克(Ganesh Naik)
  • ISBN:9787115527011
  • 頁數:206頁
  • 定價:59元
  • 出版社:人民郵電出版社
  • 出版時間:2020年3月
  • 裝幀:平裝
  • 開本:16開
內容簡介,圖書目錄,

內容簡介

Bash(Bourne-Again SHell)是為GNU計畫編寫的UNIX shell,現在是絕大多數Linux發行版和macOS X的默認shell。雖然各種作業系統的GUI界面已經非常完善,但是shell編程仍然起著不可忽視的作用。
本書將側重點放在Ubuntu環境下的Bash用法上,通過8章內容,循序漸進地介紹了Bash腳本的編寫技巧。本書涉及Bash相關的基礎知識、文本與檔案處理、理解並掌控檔案系統等內容。
對Linux/UNIX系統管理員和運維人員來講,shell也是他們每天都要打交道的一款功能強大的工具。因此,深入地了解和熟練地掌握shell編程,是每一個Linux/UNIX/OS X用戶的必修功課之一。

圖書目錄

第 1章 Bash速成 1
1.1 Bash和CLI基礎知識入門 2
1.2 基本變數的創建和使用 6
1.3 Bash隱藏變數和保留字 9
1.4 使用if、else、elseif進行條件
邏輯判斷 11
1.4.1 評估數值 12
1.4.2 評估字元串 13
1.4.3 嵌套if語句 14
1.5 case/switch語句和循環結構 14
1.5.1 基本的case語句 15
1.5.2 基本循環 16
1.6 使用函式和參數 17
1.7 包含源檔案 19
1.8 檢索返回碼和輸出 20
1.9 使用管道連線多個命令以及輸入/
輸出重定向 23
1.10 獲取程式輸入參數 26
1.11 獲取命令相關的額外信息 28
1.12 小結 29
第 2章 文本與檔案處理 30
2.1 簡介 30
2.2 基本的字元串和檔案搜尋 32
2.2.1 準備工作 32
2.2.2 實戰演練 33
2.2.3 工作原理 34
2.3 使用通配符和正則表達式 36
2.3.1 準備工作 37
2.3.2 實戰演練 38
2.3.3 工作原理 39
2.4 腳本中的數學運算 43
2.4.1 準備工作 44
2.4.2 實戰演練 45
2.4.3 工作原理 47
2.5 用Bash提取/更改/排序/刪除/
搜尋字元串 49
2.5.1 準備工作 50
2.5.2 實戰演練 50
2.5.3 工作原理 54
2.6 使用sed和awk刪除/
替換子串 57
2.6.1 準備工作 57
2.6.2 實戰演練 58
2.6.3 工作原理 60
2.7 使用echo和printf格式化數據/
輸出 62
2.7.1 準備工作 63
2.7.2 實戰演練 63
2.7.3 工作原理 65
2.8 腳本國際化 66
2.8.1 準備工作 67
2.8.2 實戰演練 68
2.8.3 工作原理 70
2.9 根據檔案內容統計並減少重複 73
2.9.1 準備工作 74
2.9.2 實戰演練 74
2.9.3 工作原理 74
2.10 在條件邏輯中使用檔案屬性 76
2.10.1 準備工作 77
2.10.2 實戰演練 77
2.10.3 工作原理 78
2.11 讀取被分隔的數據並更改輸出
格式 81
2.11.1 準備工作 82
2.11.2 實戰演練 83
2.11.3 工作原理 84
第3章 精通檔案系統 86
3.1 簡介 86
3.2 多角度瀏覽檔案—head、tail、
less和more 87
3.2.1 準備工作 87
3.2.2 實戰演練 87
3.2.3 工作原理 88
3.3 按照名稱或擴展名搜尋檔案 90
3.3.1 準備工作 92
3.3.2 實戰演練 92
3.3.3 工作原理 93
3.4 用diff命令比較檔案
差異並修補 95
3.4.1 準備工作 96
3.4.2 實戰演練 96
3.4.3 工作原理 97
3.5 創建並有效地使用符號連結 99
3.5.1 實戰演練 100
3.5.2 工作原理 101
3.6 爬取檔案系統並列印樹 102
3.6.1 準備工作 102
3.6.2 實戰演練 102
3.6.3 工作原理 104
3.7 查找並刪除重複的檔案或
104
3.7.1 準備工作 105
3.7.2 實戰演練 106
3.7.3 工作原理 107
3.8 在任意位置合併和切分檔案 108
3.8.1 準備工作 109
3.8.2 實戰演練 109
3.8.3 工作原理 111
3.9 生成各種大小的數據集和隨機
檔案 112
3.9.1 準備工作 113
3.9.2 實戰演練 113
3.9.3 工作原理 115
第4章 像守護進程一樣的腳本 116
4.1 簡介 116
4.2 使用循環或遞歸持續運行
程式 117
4.2.1 準備工作 117
4.2.2 實戰演練 118
4.2.3 工作原理 119
4.3 在註銷後保持程式/腳本繼續
運行 120
4.3.1 準備工作 120
4.3.2 實戰演練 121
4.3.3 工作原理 122
4.4 調用特權命令 123
4.4.1 準備工作 124
4.4.2 實戰演練 125
4.4.3 工作原理 126
4.5 淨化用戶輸出並獲得可復現的
結果 126
4.5.1 準備工作 127
4.5.2 實戰演練 127
4.5.3 工作原理 130
4.6 使用select創建簡單的多級
選單 131
4.6.1 準備工作 131
4.6.2 實戰演練 132
4.6.3 工作原理 133
4.7 生成並捕獲信號 133
4.7.1 準備工作 134
4.7.2 實戰演練 134
4.7.3 工作原理 135
4.8 在腳本中使用臨時檔案和鎖
檔案 135
4.8.1 準備工作 136
4.8.2 實戰演練 136
4.8.3 工作原理 137
4.9 利用逾時等待命令完成 137
4.9.1 準備工作 138
4.9.2 實戰演練 138
4.9.3 工作原理 139
4.10 創建FIFO和並行進程 141
4.10.1 準備工作 141
4.10.2 實戰演練 141
4.10.3 工作原理 142
4.11 在系統啟動時執行腳本 143
4.11.1 準備工作 144
4.11.2 實戰演練 146
4.11.3 工作原理 147
第5章 系統管理腳本 148
5.1 簡介 148
5.2 收集和匯總系統信息 149
5.2.1 準備工作 149
5.2.2 實戰演練 149
5.2.3 工作原理 150
5.3 收集網路信息和診斷網路
連通性 152
5.3.1 準備工作 152
5.3.2 實戰演練 153
5.3.3 工作原理 153
5.4 配置基本的網路連線 154
5.4.1 準備工作 154
5.4.2 實戰演練 154
5.4.3 工作原理 154
5.5 監視和檔案 155
5.5.1 準備工作 155
5.5.2 實戰演練 155
5.5.3 工作原理 155
5.6 檔案的壓縮和歸檔 155
5.6.1 準備工作 156
5.6.2 實戰演練 156
5.6.3 工作原理 157
5.7 日誌檔案輪替 157
5.7.1 準備工作 158
5.7.2 實戰演練 158
5.7.3 工作原理 159
5.8 使用iptables設定Linux
防火牆 160
5.8.1 準備工作 160
5.8.2 實戰演練 160
5.8.3 工作原理 161
5.9 從遠程或本地訪問SQL
資料庫 161
5.9.1 準備工作 161
5.9.2 實戰演練 161
5.9.3 工作原理 163
5.10 創建SSH密鑰,實現無密碼
遠程訪問 163
5.10.1 準備工作 163
5.10.2 實戰演練 163
5.11 創建和配置用於任務調度的
cron作業 164
5.11.1 實戰演練 164
5.11.2 工作原理 165
5.12 系統化地創建用戶和組 166
5.12.1 實戰演練 166
5.12.2 工作原理 166
第6章 高級用戶專用腳本 167
6.1 簡介 167
6.1.1 創建syslog條目並生成
警報 168
6.1.2 實戰演練 168
6.1.3 工作原理 169
6.2 使用dd備份和擦除磁碟及
分區 169
6.2.1 準備工作 169
6.2.2 實戰演練 169
6.2.3 工作原理 170
6.3 在命令行中創建圖形化界面 170
6.3.1 準備工作 170
6.3.2 實戰演練 170
6.3.3 工作原理 171
6.4 檢查檔案完整性 172
6.4.1 準備工作 172
6.4.2 實戰演練 172
6.4.3 工作原理 173
6.5 掛載網路檔案系統 174
6.5.1 準備工作 174
6.5.2 實戰演練 174
6.5.3 工作原理 174
6.6 在命令行中瀏覽Web頁面 175
6.6.1 準備工作 175
6.6.2 實戰演練 175
6.6.3 工作原理 175
6.7 捕獲網路流量 176
6.7.1 準備工作 176
6.7.2 實戰演練 176
6.7.3 工作原理 177
6.8 查找執行檔的依賴關係 177
6.8.1 準備工作 177
6.8.2 實戰演練 177
6.8.3 工作原理 178
6.9 獲取不同時區的時間 178
6.9.1 準備工作 178
6.9.2 實戰演練 178
6.9.3 工作原理 179
6.10 在腳本中加密/解密檔案 179
6.10.1 準備工作 179
6.10.2 實戰演練 179
6.10.3 工作原理 179
第7章 Bash致勝之道 180
7.1 簡介 180
7.2 創建一個簡易實用的HTTP
伺服器 181
7.2.1 準備工作 181
7.2.2 實戰演練 181
7.2.3 工作原理 182
7.3 解析RSS feed 182
7.3.1 準備工作 182
7.3.2 實戰演練 182
7.3.3 工作原理 182
7.4 爬取Web頁面 182
7.4.1 準備工作 183
7.4.2 實戰演練 183
7.4.3 工作原理 183
7.5 製作簡單的IRC聊天機器人 183
7.5.1 準備工作 183
7.5.2 實戰演練 183
7.5.3 工作原理 184
7.6 阻止SSH訪問已失效的IP
地址 184
7.6.1 準備工作 184
7.6.2 實戰演練 185
7.6.3 工作原理 185
7.7 使用Bash播放和管理音頻
檔案 185
7.7.1 準備工作 185
7.7.2 實戰演練 186
7.7.3 工作原理 186
7.8 搭建簡單的NAT和DMZ
防火牆 186
7.8.1 準備工作 186
7.8.2 實戰演練 186
7.8.3 工作原理 187
7.9 解析GitHub項目並生成
報告 187
7.9.1 準備工作 187
7.9.2 實戰演練 187
7.9.3 工作原理 188
7.10 創建初級的遠程增量 188
7.10.1 準備工作 188
7.10.2 實戰演練 188
7.10.3 工作原理 188
7.11 使用Bash腳本監視udev
輸入 189
7.11.1 準備工作 189
7.11.2 實戰演練 189
7.11.3 工作原理 189
7.12 使用Bash監視並最佳化電池
容量 190
7.12.1 準備工作 190
7.12.2 實戰演練 190
7.12.3 工作原理 191
7.13 使用chroot和受限shell保護
腳本安全 191
7.13.1 準備工作 191
7.13.2 實戰演練 191
7.13.3 工作原理 192
第8章 高級腳本技術 193
8.1 簡介 193
8.2 計算腳本的運行時間 194
8.2.1 準備工作 194
8.2.2 實戰演練 194
8.2.3 工作原理 194
8.3 編寫單行條件語句和循環
語句 194
8.3.1 準備工作 194
8.3.2 實戰演練 194
8.3.3 工作原理 195
8.4 避免出現“command not found”
警告/錯誤 195
8.4.1 準備工作 195
8.4.2 實戰演練 195
8.4.3 工作原理 196
8.5 創建可與腳本配合使用的配置
檔案 196
8.5.1 準備工作 197
8.5.2 實戰演練 197
8.5.3 工作原理 197
8.6 更改命令行配色 198
8.6.1 準備工作 198
8.6.2 實戰演練 198
8.6.3 工作原理 199
8.7 創建命令別名 200
8.7.1 準備工作 200
8.7.2 實戰演練 200
8.7.3 工作原理 200
8.8 向原始終端設備回顯輸出 200
8.8.1 準備工作 201
8.8.2 實戰演練 201
8.8.3 工作原理 201
8.9 為Bash腳本創建簡單的前端
GUI 201
8.9.1 準備工作 202
8.9.2 實戰演練 202
8.9.3 工作原理 204
8.10 編譯並安裝自製的Bash shell
腳本 204
8.10.1 準備工作 204
8.10.2 實戰演練 204
8.10.3 工作原理 205
8.11 錄製終端會話 205
8.11.1 準備工作 205
8.11.2 實戰演練 205
8.11.3 工作原理 205
8.12 編寫高質量腳本 205
8.12.1 準備工作 206
8.12.2 實戰演練 206
8.12.3 工作原理 206

相關詞條

熱門詞條

聯絡我們