Linux Shell腳本攻略(第3版)

Linux Shell腳本攻略(第3版)

《Linux Shell腳本攻略(第3版)》是2020年4月人民郵電出版社出版的圖書,作者是[美]克里夫·弗林特、 [印]薩拉特·拉克什曼、[印]山塔努·圖沙爾。

基本介紹

  • 書名:Linux Shell腳本攻略(第3版)
  • 作者:[美]克里夫·弗林特、[印]薩拉特·拉克什曼、[印]山塔努·圖沙爾
  • ISBN:9787115477385
  • 頁數:386頁
  • 定價:89元
  • 出版社:人民郵電出版社
  • 出版時間:2020年4月
  • 裝幀:平裝
  • 開本:16開
內容簡介,圖書目錄,

內容簡介

本書結合豐富的實際案例介紹了如何利用shell命令實現與Linux作業系統的高效溝通,具體內容包括:各類日常任務以及如何利用shell命令更快速地解決問題;編寫腳本從Web中挖掘數據並進行處理;在腳本中與簡單的Web API進行互動;任務的執行及自動化;創建及維護檔案和資料夾歸檔,利用shell進行壓縮和加密。第3版講解了* 新的Linux發行版中加入的令人激動的新特性,幫助你完成從未想到過的功能。
本書適合Linux系統管理員和程式設計師閱讀,是編寫shell腳本的絕 佳參考資料。

圖書目錄

* 1章 小試牛刀 1
1.1 簡介 1
1.2 在終端中顯示輸出 2
1.2.1 預備知識 2
1.2.2 實戰演練 4
1.2.3 工作原理 6
1.2.4 補充內容 6
1.3 使用變數與環境變數 7
1.3.1 預備知識 7
1.3.2 實戰演練 8
1.3.3 補充內容 9
1.4 使用函式添加環境變數 11
1.4.1 實戰演練 11
1.4.2 工作原理 12
1.5 使用shell進行數學運算 12
1.6 玩轉檔案描述符與重定向 14
1.6.1 預備知識 14
1.6.2 實戰演練 15
1.6.3 工作原理 17
1.6.4 補充內容 17
1.7 數組與關聯數組 19
1.7.1 預備知識 19
1.7.2 實戰演練 20
1.7.3 補充內容 20
1.8 別名 21
1.8.1 實戰演練 21
1.8.2 補充內容 22
1.9 採集終端信息 23
1.9.1 預備知識 23
1.9.2 實戰演練 23
1.10 獲取並設定日期及延時 24
1.10.1 預備知識 24
1.10.2 實戰演練 25
1.10.3 工作原理 26
1.10.4 補充內容 27
1.11 調試腳本 27
1.11.1 實戰演練 28
1.11.2 工作原理 29
1.11.3 補充內容 29
1.12 函式和參數 29
1.12.1 實戰演練 30
1.12.2 補充內容 31
1.13 將一個命令的輸出傳送給另一個命令 33
1.13.1 預備知識 33
1.13.2 實戰演練 34
1.13.3 補充內容 34
1.14 在不按下回車鍵的情況下讀入n個字元 35
1.15 持續運行命令直* 執行成功 36
1.15.1 實戰演練 36
1.15.2 工作原理 37
1.15.3 補充內容 37
1.16 欄位分隔設定與疊代器 37
1.16.1 預備知識 38
1.16.2 實戰演練 38
1.17 比較與測試 40
1.18 使用配置檔案定製bash 43
* 2 章 命令之樂 46
2.1 簡介 46
2.2 用cat進行拼接 46
2.2.1 實戰演練 46
2.2.2 補充內容 47
2.3 錄製並回放終端會話 49
2.3.1 預備知識 49
2.3.2 實戰演練 49
2.3.3 工作原理 50
2.4 查找並列出檔案 50
2.4.1 預備知識 50
2.4.2 實戰演練 50
2.4.3 補充內容 51
2.5 玩轉xargs 58
2.5.1 預備知識 59
2.5.2 實戰演練 59
2.5.3 工作原理 60
2.5.4 補充內容 60
2.6 用tr進行轉換 63
2.6.1 預備知識 63
2.6.2 實戰演練 64
2.6.3 工作原理 64
2.6.4 補充內容 65
2.7 校驗和與核實 67
2.7.1 預備知識 68
2.7.2 實戰演練 68
2.7.3 工作原理 68
2.7.4 補充內容 69
2.8 加密工具與散列 71
2.9 行排序 72
2.9.1 預備知識 72
2.9.2 實戰演練 72
2.9.3 工作原理 73
2.9.4 補充內容 73
2.10 臨時檔案命名與隨機數 76
2.10.1 實戰演練 77
2.10.2 工作原理 77
2.11 分割檔案與數據 77
2.11.1 工作原理 78
2.11.2 補充內容 78
2.12 根據擴展名切分檔案名稱 80
2.12.1 實戰演練 80
2.12.2 工作原理 80
2.13 多個檔案的重命名與移動 82
2.13.1 預備知識 82
2.13.2 實戰演練 82
2.13.3 工作原理 83
2.14 拼寫檢查與詞典操作 84
2.14.1 實戰演練 84
2.14.2 工作原理 84
2.15 互動輸入自動化 85
2.15.1 預備知識 86
2.15.2 實戰演練 86
2.15.3 工作原理 86
2.15.4 補充內容 87
2.16 利用並行進程加速命令執行 88
2.16.1 實戰演練 88
2.16.2 工作原理 89
2.16.3 補充內容 89
2.17 檢查以及其中的檔案與子 89
2.17.1 預備知識 90
2.17.2 實戰演練 90
第3 章 以檔案之名 92
3.1 簡介 92
3.2 生成任意大小的檔案 92
3.3 文本檔案的交集與差集 94
3.3.1 預備知識 94
3.3.2 實戰演練 94
3.3.3 工作原理 96
3.4 查找並刪除重複檔案 97
3.4.1 預備知識 97
3.4.2 實戰演練 97
3.4.3 工作原理 98
3.5 檔案許可權、所有權與粘滯位 99
3.5.1 實戰演練 101
3.5.2 補充內容 102
3.6 將檔案設定為不可修改 104
3.6.1 預備知識 104
3.6.2 實戰演練 104
3.7 批量生成空白檔案 105
3.7.1 預備知識 105
3.7.2 實戰演練 105
3.8 查找符號連結及其指向目標 106
3.8.1 實戰演練 106
3.8.2 工作原理 107
3.9 枚舉檔案類型統計信息 107
3.9.1 預備知識 107
3.9.2 實戰演練 107
3.9.3 工作原理 108
3.10 使用環回檔案 109
3.10.1 實戰演練 110
3.10.2 工作原理 111
3.10.3 補充內容 111
3.11 生成ISO及混合型ISO檔案 113
3.11.1 預備知識 113
3.11.2 實戰演練 113
3.11.3 補充內容 114
3.12 查找並修補檔案差異 115
3.12.1 實戰演練 115
3.12.2 補充內容 117
3.13 使用head與tail列印檔案的前10行和後10行 117
3.14 只列出的各種方法 120
3.14.1 預備知識 120
3.14.2 實戰演練 120
3.14.3 工作原理 120
3.15 在命令行中使用pushd和popd實現快速定位 121
3.15.1 預備知識 121
3.15.2 實戰演練 121
3.15.3 補充內容 122
3.16 統計檔案的行數、單詞數和字元數 122
3.17 列印樹 123
3.17.1 預備知識 123
3.17.2 實戰演練 123
3.17.3 補充內容 124
3.18 處理視頻與圖像檔案 125
3.18.1 預備知識 125
3.18.2 實戰演練 126
第4 章 讓文本飛 128
4.1 簡介 128
4.2 使用正則表達式 128
4.2.1 實戰演練 129
4.2.2 工作原理 131
4.2.3 補充內容 131
4.3 使用grep在檔案中搜尋文本 132
4.3.1 實戰演練 132
4.3.2 補充內容 134
4.4 使用cut按列切分檔案 138
4.4.1 實戰演練 138
4.4.2 補充內容 139
4.5 使用sed替換文本 140
4.5.1 實戰演練 140
4.5.2 補充內容 141
4.6 使用awk進行高 級文本處理 144
4.6.1 預備知識 144
4.6.2 實戰演練 144
4.6.3 工作原理 144
4.6.4 補充內容 146
4.7 統計特定檔案中的詞頻 149
4.7.1 預備知識 149
4.7.2 實戰演練 150
4.7.3 工作原理 150
4.7.4 參考 151
4.8 壓縮或解壓縮JavaScript 151
4.8.1 預備知識 151
4.8.2 實戰演練 152
4.8.3 工作原理 152
4.8.4 參考 153
4.9 按列合併多個檔案 153
4.9.1 實戰演練 154
4.9.2 參考 154
4.10 列印檔案或行中的第n個單詞或列 154
4.10.1 實戰演練 154
4.10.2 參考 155
4.11 列印指 定行或模式之間的文本 155
4.11.1 預備知識 155
4.11.2 實戰演練 155
4.11.3 參考 156
4.12 以逆序形式列印行 156
4.12.1 預備知識 156
4.12.2 實戰演練 156
4.12.3 工作原理 157
4.13 解析文本中的電子郵件地址和URL 157
4.13.1 實戰演練 157
4.13.2 工作原理 158
4.13.3 參考 158
4.14 刪除檔案中包含特定單詞的句子 158
4.14.1 預備知識 158
4.14.2 實戰演練 159
4.14.3 工作原理 159
4.14.4 參考 159
4.15 對中的所有檔案進行文本替換 159
4.15.1 實戰演練 160
4.15.2 工作原理 160
4.15.3 補充內容 160
4.16 文本切片與參數操作 160
4.16.1 實戰演練 160
4.16.2 參考 161
第5 章 一團亂麻·沒這回事! 162
5.1 簡介 162
5.2 Web 頁面下載 162
5.2.1 預備知識 162
5.2.2 實戰演練 163
5.2.3 工作原理 163
5.2.4 補充內容 164
5.3 以純文本形式下載頁面 165
5.3.1 預備知識 165
5.3.2 實戰演練 165
5.4 cURL入門 166
5.4.1 預備知識 166
5.4.2 實戰演練 166
5.4.3 工作原理 167
5.4.4 補充內容 167
5.4.5 參考 169
5.5 從命令行訪問未讀的Gmail郵件 170
5.5.1 實戰演練 170
5.5.2 工作原理 170
5.5.3 參考 171
5.6 解析網站數據 171
5.6.1 實戰演練 171
5.6.2 工作原理 172
5.6.3 參考 172
5.7 圖片爬取器及下載工具 172
5.7.1 實戰演練 172
5.7.2 工作原理 173
5.7.3 參考 174
5.8 網頁相冊生成器 174
5.8.1 預備知識 175
5.8.2 實戰演練 175
5.8.3 工作原理 176
5.8.4 參考 176
5.9 Twitter命令行客戶端 176
5.9.1 預備知識 177
5.9.2 實戰演練 177
5.9.3 工作原理 178
5.9.4 參考 179
5.10 通過Web伺服器查詢單詞含義 179
5.10.1 預備知識 179
5.10.2 實戰演練 180
5.10.3 工作原理 180
5.10.4 參考 180
5.11 查找網站中的無效連結 181
5.11.1 預備知識 181
5.11.2 實戰演練 181
5.11.3 工作原理 182
5.11.4 參考 182
5.12 跟蹤網站變動 182
5.12.1 預備知識 182
5.12.2 實戰演練 182
5.12.3 工作原理 184
5.12.4 參考 184
5.13 傳送Web頁面並讀取回響 184
5.13.1 預備知識 184
5.13.2 實戰演練 185
5.13.3 參考 186
5.14 從Internet下載視頻 186
5.14.1 預備知識 186
5.14.2 實戰演練 186
5.14.3 工作原理 186
5.15 使用OTS匯總文本 187
5.15.1 預備知識 187
5.15.2 實戰演練 187
5.15.3 工作原理 187
5.16 在命令行中翻譯文本 187
5.16.1 預備知識 188
5.16.2 實戰演練 188
5.16.3 工作原理 188
第6 章 倉儲管理 189
6.1 簡介 189
6.2 創建新的git倉庫 190
6.2.1 預備知識 190
6.2.2 實戰演練 190
6.2.3 工作原理 190
6.3 克隆遠程git倉庫 191
6.4 使用git添加與提交變更 191
6.5 使用git創建與合併分支 192
6.5.1 預備知識 193
6.5.2 實戰演練 193
6.5.3 工作原理 193
6.5.4 補充內容 193
6.6 分享工作成果 194
6.7 推送分支 196
6.8 檢查git倉庫狀態 197
6.8.1 實戰演練 197
6.8.2 工作原理 198
6.9 查看git歷史記錄 198
6.10 查找bug 198
6.10.1 實戰演練 199
6.10.2 補充內容 199
6.11 快照標籤 200
6.12 提交信息規範 201
6.13 使用fossil 202
6.13.1 預備知識 202
6.13.2 實戰演練 202
6.14 創建新的fossil倉庫 202
6.14.1 實戰演練 203
6.14.2 工作原理 203
6.14.3 補充內容 203
6.15 克隆遠程fossil倉庫 204
6.15.1 實戰演練 204
6.15.2 工作原理 204
6.16 打開fossil項目 204
6.16.1 實戰演練 204
6.16.2 工作原理 205
6.16.3 補充內容 205
6.17 使用fossil添加與提交變更 205
6.17.1 實戰演練 205
6.17.2 補充內容 206
6.18 使用fossil分支與fork 206
6.18.1 實戰演練 207
6.18.2 工作原理 207
6.18.3 補充內容 208
6.19 使用fossil分享工作成果 208
6.19.1 實戰演練 208
6.19.2 工作原理 209
6.20 更新本地fossil倉庫 209
6.21 檢查fossil倉庫狀態 209
6.22 查看fossil歷史記錄 210
第7 章 B 計畫 215
7.1 簡介 215
7.2 使用tar歸檔 215
7.2.1 預備知識 215
7.2.2 實戰演練 216
7.2.3 工作原理 216
7.2.4 補充內容 216
7.2.5 參考 220
7.3 使用cpio歸檔 221
7.3.1 實戰演練 221
7.3.2 工作原理 221
7.4 使用gzip壓縮數據 222
7.4.1 實戰演練 222
7.4.2 補充內容 223
7.4.3 參考 225
7.5 使用zip歸檔及壓縮 225
7.5.1 實戰演練 225
7.5.2 工作原理 226
7.6 更快的歸檔工具pbzip2 226
7.6.1 預備知識 226
7.6.2 實戰演練 226
7.6.3 工作原理 227
7.6.4 補充內容 227
7.7 創建壓縮檔案系統 228
7.7.1 預備知識 228
7.7.2 實戰演練 228
7.7.3 補充內容 229
7.8 使用rsync備份系統快照 229
7.8.1 實戰演練 229
7.8.2 工作原理 230
7.8.3 補充內容 231
7.9 差異化歸檔 232
7.9.1 實戰演練 232
7.9.2 工作原理 232
7.10 使用fsarchiver創建全盤鏡像 233
7.10.1 預備知識 233
7.10.2 實戰演練 233
7.10.3 工作原理 234
第8 章 無網不利 235
8.1 簡介 235
8.2 網路設定 236
8.2.1 預備知識 236
8.2.2 實戰演練 236
8.2.3 補充內容 237
8.2.4 參考 241
8.3 ping! 241
8.3.1 實戰演練 241
8.3.2 補充內容 242
8.4 跟蹤IP路由 244
8.5 列出網路中所有的活動主機 245
8.5.1 預備知識 245
8.5.2 實戰演練 245
8.5.3 工作原理 245
8.5.4 補充內容 246
8.5.5 參考 247
8.6 使用SSH在遠程主機上執行命令 247
8.6.1 預備知識 247
8.6.2 實戰演練 248
8.6.3 補充內容 249
8.7 在遠程主機上執行圖形化命令 250
8.7.1 實戰演練 250
8.7.2 參考 251
8.8 通過網路傳輸檔案 251
8.8.1 預備知識 251
8.8.2 實戰演練 251
8.8.3 補充內容 252
8.8.4 參考 254
8.9 連線無線網路 254
8.9.1 預備知識 254
8.9.2 實戰演練 254
8.9.3 工作原理 255
8.9.4 參考 256
8.10 實現SSH的無密碼自動登錄 256
8.10.1 預備知識 256
8.10.2 實戰演練 256
8.11 使用SSH實現連線埠轉發 257
8.11.1 實戰演練 257
8.11.2 補充內容 258
8.12 在本地掛載點上掛載遠程驅動器 259
8.12.1 預備知識 259
8.12.2 實戰演練 259
8.12.3 參考 259
8.13 分析網路流量與連線埠 259
8.13.1 預備知識 259
8.13.2 實戰演練 260
8.13.3 工作原理 260
8.13.4 補充內容 261
8.14 測量網路頻寬 261
8.15 創建套接字 262
8.15.1 預備知識 262
8.15.2 實戰演練 262
8.15.3 補充內容 263
8.15.4 工作原理 263
8.16 搭建網橋 264
8.16.1 預備知識 264
8.16.2 實戰演練 264
8.17 Internet連線共享 265
8.17.1 預備知識 265
8.17.2 實戰演練 265
8.17.3 工作原理 266
8.18 使用iptables架設簡易防火牆 266
8.18.1 實戰演練 267
8.18.2 工作原理 267
8.18.3 補充內容 268
8.19 創建虛擬私有網路 268
8.19.1 預備知識 268
8.19.2 實戰演練 269
第9 章 明察秋毫 274
9.1 簡介 274
9.2 監視磁碟使用情況 274
9.2.1 預備知識 275
9.2.2 實戰演練 275
9.2.3 補充內容 275
9.3 計算命令執行時間 279
9.3.1 實戰演練 279
9.3.2 工作原理 281
9.4 收集登錄用戶、啟動日誌及啟動故障的相關信息 281
9.4.1 預備知識 282
9.4.2 實戰演練 282
9.5 列出1小時內占用CPU* 多的10個進程 284
9.5.1 預備知識 284
9.5.2 實戰演練 284
9.5.3 工作原理 285
9.5.4 參考 286
9.6 使用watch監視命令輸出 286
9.6.1 實戰演練 286
9.6.2 補充內容 286
9.7 記錄檔案及訪問情況 287
9.7.1 預備知識 287
9.7.2 實戰演練 287
9.7.3 工作原理 287
9.8 使用syslog記錄日誌 288
9.8.1 預備知識 288
9.8.2 實戰演練 289
9.8.3 參考 289
9.9 使用logrotate管理日誌檔案 290
9.9.1 預備知識 290
9.9.2 實戰演練 290
9.9.3 工作原理 290
9.10 通過監視用戶登錄找出入侵者 291
9.10.1 預備知識 291
9.10.2 實戰演練 291
9.10.3 工作原理 293
9.11 監視遠程磁碟的健康情況 293
9.11.1 預備知識 293
9.11.2 實戰演練 294
9.11.3 工作原理 295
9.11.4 參考 295
9.12 確定系統中用戶的活躍時段 295
9.12.1 預備知識 296
9.12.2 實戰演練 296
9.12.3 工作原理 297
9.13 電源使用情況的測量與最佳化 297
9.13.1 預備知識 298
9.13.2 實戰演練 298
9.14 監視磁碟活動 298
9.14.1 預備知識 298
9.14.2 實戰演練 299
9.15 檢查磁碟及檔案系統錯誤 299
9.15.1 預備知識 299
9.15.2 實戰演練 299
9.15.3 工作原理 300
9.16 檢查磁碟健康情況 300
9.16.1 預備知識 301
9.16.2 實戰演練 301
9.16.3 工作原理 303
9.17 獲取磁碟統計數據 303
9.17.1 預備知識 303
9.17.2 實戰演練 303
9.17.3 工作原理 304
9.17.4 補充內容 304
* 10 章 管理重任 305
10.1 簡介 305
10.2 收集進程信息 305
10.2.1 預備知識 305
10.2.2 實戰演練 306
10.2.3 工作原理 307
10.2.4 補充內容 307
10.2.5 參考 312
10.3 which、whereis、whatis與file 312
10.4 殺死進程以及傳送和回響信號 313
10.4.1 預備知識 313
10.4.2 實戰演練 313
10.4.3 補充內容 314
10.5 向用戶終端傳送訊息 316
10.5.1 預備知識 316
10.5.2 實戰演練 317
10.6 /proc檔案系統 318
10.7 收集系統信息 319
10.8 使用cron進行調度 321
10.8.1 預備知識 321
10.8.2 實戰演練 321
10.8.3 工作原理 322
10.8.4 補充內容 323
10.9 資料庫的形式及用法 324
10.9.1 預備知識 324
10.9.2 實戰演練 325
10.9.3 補充內容 325
10.10 讀寫SQLite資料庫 326
10.10.1 預備知識 326
10.10.2 實戰演練 327
10.10.3 工作原理 327
10.10.4 補充內容 327
10.11 讀寫MySQL資料庫 328
10.11.1 預備知識 329
10.11.2 實戰演練 329
10.11.3 工作原理 332
10.12 用戶管理腳本 333
10.12.1 實戰演練 333
10.12.2 工作原理 335
10.13 圖像檔案的批量縮放及格式轉換 336
10.13.1 預備知識 336
10.13.2 實戰演練 336
10.13.3 工作原理 338
10.13.4 參考 339
10.14 終端截圖 339
10.14.1 預備知識 339
10.14.2 實戰演練 340
10.15 集中管理多個終端 340
10.15.1 預備知識 340
10.15.2 實戰演練 341
* 11 章 覓跡尋蹤 342
11.1 簡介 342
11.2 使用tcpdump跟蹤分組 342
11.2.1 預備知識 342
11.2.2 實戰演練 343
11.2.3 工作原理 345
11.3 使用ngrep查找分組 346
11.3.1 預備知識 346
11.3.2 實戰演練 346
11.3.3 工作原理 347
11.3.4 補充內容 347
11.4 使用ip跟蹤網路路由 347
11.4.1 預備知識 347
11.4.2 實戰演練 348
11.4.3 工作原理 349
11.5 使用strace跟蹤系統調用 349
11.5.1 預備知識 350
11.5.2 實戰演練 350
11.5.3 工作原理 351
11.6 使用ltrace跟蹤動態庫函式 352
11.6.1 預備知識 352
11.6.2 實戰演練 352
11.6.3 工作原理 353
11.6.4 補充內容 353
* 12 章 系統調優 355
12.1 簡介 355
12.2 識別服務 356
12.2.1 預備知識 356
12.2.2 實戰演練 357
12.2.3 補充內容 359
12.3 使用ss收集套接字數據 360
12.3.1 預備知識 360
12.3.2 實戰演練 360
12.3.3 工作原理 361
12.4 使用dstat收集系統I/O使用情況 362
12.4.1 預備知識 362
12.4.2 實戰演練 362
12.4.3 工作原理 363
12.4.4 補充內容 363
12.5 使用pidstat找出資源占用大戶 364
12.5.1 預備知識 364
12.5.2 實戰演練 364
12.5.3 工作原理 364
12.6 使用sysctl調優Linux核心 365
12.6.1 預備知識 365
12.6.2 實戰演練 365
12.6.3 工作原理 366
12.6.4 補充內容 366
12.7 使用配置檔案調優Linux系統 366
12.7.1 預備知識 367
12.7.2 實戰演練 367
12.7.3 工作原理 367
12.8 使用nice命令更改調度器優先權 367
12.8.1 實戰演練 367
12.8.2 工作原理 368
12.8.3 補充內容 368
* 13 章 在雲端 369
13.1 簡介 369
13.2 使用Linux容器 370
13.2.1 預備知識 370
13.2.2 實戰演練 371
13.2.3 工作原理 377
13.3 使用Docker 377
13.3.1 預備知識 377
13.3.2 實戰演練 378
13.3.3 工作原理 381
13.4 在Linux中使用虛擬機 381
13.4.1 預備知識 381
13.4.2 實戰演練 382
13.5 雲端的Linux 382
13.5.1 預備知識 382
13.5.2 實戰演練 384
13.5.3 補充內容 384

相關詞條

熱門詞條

聯絡我們