第1章 小試牛刀 1
1.1 簡介 1
1.2 終端打印 3
1.2.1 實戰演練 4
1.2.2 工作原理 5
1.2.3 補充內容 5
1.3 玩轉變量和環境變量 6
1.3.1 預備知識 6
1.3.2 實戰演練 7
1.3.3 補充內容 9
1.4 使用函數添加環境變量 10
1.4.1 實戰演練 11
1.4.2 工作原理 11
1.5 使用shell進行數學運算 11
1.5.1 預備知識 12
1.5.2 實戰演練 12
1.6 玩轉文件描述符及重定嚮 14
1.6.1 預備知識 14
1.6.2 實戰演練 14
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 實戰演練 24
1.10.3 工作原理 26
1.10.4 補充內容 26
1.11 調試腳本 27
1.11.1 實戰演練 27
1.11.2 工作原理 28
1.11.3 補充內容 28
1.12 函數和參數 29
1.12.1 實戰演練 29
1.12.2 補充內容 30
1.13 將命令序列的輸齣讀入變量 31
1.13.1 預備知識 31
1.13.2 實戰演練 32
1.13.3 補充內容 32
1.14 不使用迴車鍵來讀取n個字符 33
1.15 運行命令直至執行成功 34
1.15.1 實戰演練 34
1.15.2 工作原理 35
1.15.3 補充內容 35
1.16 字段分隔符和迭代器 35
1.16.1 預備知識 36
1.16.2 實戰演練 36
1.17 比較與測試 38
第2章 命令之樂 42
2.1 簡介 42
2.2 用cat進行拼接 42
2.2.1 實戰演練 43
2.2.2 工作原理 43
2.2.3 補充內容 43
2.3 錄製並迴放終端會話 45
2.3.1 預備知識 45
2.3.2 實戰演練 45
2.3.3 工作原理 46
2.4 文件查找與文件列錶 46
2.4.1 預備知識 46
2.4.2 實戰演練 46
2.4.3 補充內容 47
2.5 玩轉xargs 54
2.5.1 預備知識 54
2.5.2 實戰演練 55
2.5.3 工作原理 55
2.5.4 補充內容 56
2.6 用tr進行轉換 59
2.6.1 預備知識 59
2.6.2 實戰演練 59
2.6.3 工作原理 60
2.6.4 補充內容 60
2.7 校驗和與核實 63
2.7.1 預備知識 63
2.7.2 實戰演練 63
2.7.3 工作原理 64
2.7.4 補充內容 65
2.8 加密工具與散列 65
2.9 排序、唯一與重復 68
2.9.1 預備知識 68
2.9.2 實戰演練 68
2.9.3 工作原理 69
2.9.4 補充內容 69
2.10 臨時文件命名與隨機數 72
2.10.1 實戰演練 72
2.10.2 工作原理 73
2.11 分割文件和數據 73
2.11.1 工作原理 74
2.11.2 補充內容 74
2.12 根據擴展名切分文件名 76
2.12.1 實戰演練 76
2.12.2 工作原理 76
2.13 批量重命名和移動 78
2.13.1 預備知識 78
2.13.2 實戰演練 78
2.13.3 工作原理 79
2.14 拼寫檢查與詞典操作 80
2.14.1 實戰演練 80
2.14.2 工作原理 81
2.15 交互輸入自動化 82
2.15.1 預備知識 82
2.15.2 實戰演練 82
2.15.3 工作原理 82
2.15.4 補充內容 83
2.16 利用並行進程加速命令執行 84
2.16.1 實戰演練 84
2.16.2 工作原理 85
第3章 以文件之名 86
3.1 簡介 86
3.2 生成任意大小的文件 86
3.3 文本文件的交集與差集 88
3.3.1 預備知識 88
3.3.2 實戰演練 88
3.3.3 工作原理 90
3.4 查找並刪除重復文件 90
3.4.1 預備知識 90
3.4.2 實戰演練 91
3.4.3 工作原理 92
3.5 文件權限、所有權和粘滯位 93
3.5.1 實戰演練 95
3.5.2 補充內容 96
3.6 創建不可修改的文件 97
3.6.1 預備知識 98
3.6.2 實戰演練 98
3.7 批量生成空白文件 98
3.7.1 預備知識 98
3.7.2 實戰演練 98
3.8 查找符號鏈接及其指嚮目標 99
3.8.1 實戰演練 99
3.8.2 工作原理 100
3.9 列舉文件類型統計信息 100
3.9.1 預備知識 100
3.9.2 實戰演練 100
3.9.3 工作原理 102
3.10 使用環迴文件 102
3.10.1 實戰演練 103
3.10.2 工作原理 104
3.10.3 補充內容 104
3.11 生成ISO文件及混閤型ISO 106
3.11.1 預備知識 106
3.11.2 實戰演練 106
3.11.3 補充內容 107
3.12 查找文件差異並進行修補 108
3.12.1 實戰演練 108
3.12.2 補充內容 110
3.13 使用head與tail打印文件的前10行和後10行 110
3.14 隻列齣目錄的各種方法 113
3.14.1 預備知識 113
3.14.2 實戰演練 113
3.14.3 工作原理 113
3.15 在命令行中使用pushd和popd進行快速定位 114
3.15.1 預備知識 114
3.15.2 實戰演練 114
3.15.3 補充內容 115
3.16 統計文件的行數、單詞數和字符數 115
3.17 打印目錄樹 116
3.17.1 預備知識 117
3.17.2 實戰演練 117
3.17.3 補充內容 118
第4章 讓文本飛 119
4.1 簡介 119
4.2 使用正則錶達式 119
4.2.1 實戰演練 120
4.2.2 工作原理 120
4.2.3 補充內容 121
4.3 用grep在文件中搜索文本 122
4.3.1 實戰演練 122
4.3.2 補充內容 125
4.4 用cut按列切分文件 128
4.4.1 實戰演練 128
4.4.2 補充內容 130
4.5 使用sed進行文本替換 131
4.5.1 實戰演練 131
4.5.2 補充內容 132
4.6 使用awk進行高級文本處理 135
4.6.1 預備知識 135
4.6.2 實戰演練 135
4.6.3 工作原理 136
4.6.4 補充內容 137
4.7 統計特定文件中的詞頻 141
4.7.1 預備知識 141
4.7.2 實戰演練 141
4.7.3 工作原理 142
4.7.4 參考 142
4.8 壓縮或解壓縮JavaScript 142
4.8.1 預備知識 142
4.8.2 實戰演練 143
4.8.3 工作原理 144
4.8.4 參考 145
4.9 按列閤並多個文件 145
4.9.1 實戰演練 145
4.9.2 參考 146
4.10 打印文件或行中的第n個單詞或列 146
4.10.1 實戰演練 146
4.10.2 參考 146
4.11 打印行或樣式之間的文本 146
4.11.1 預備知識 146
4.11.2 實戰演練 147
4.11.3 參考 147
4.12 以逆序形式打印行 147
4.12.1 預備知識 148
4.12.2 實戰演練 148
4.12.3 工作原理 148
4.13 解析文本中的電子郵件地址和URL 149
4.13.1 實戰演練 149
4.13.2 工作原理 149
4.13.3 參考 150
4.14 在文件中移除包含某個單詞的句子 150
4.14.1 預備知識 150
4.14.2 實戰演練 150
4.14.3 工作原理 151
4.14.4 參考 151
4.15 對目錄中的所有文件進行文本替換 151
4.15.1 實戰演練 151
4.15.2 工作原理 151
4.15.3 補充內容 152
4.16 文本切片及參數操作 152
4.16.1 實戰演練 152
4.16.2 參考 153
第5章 一團亂麻?沒這迴事 154
5.1 入門 154
5.2 Web頁麵下載 154
5.2.1 預備知識 154
5.2.2 實戰演練 155
5.2.3 工作原理 155
5.2.4 補充內容 156
5.3 以純文本形式下載網頁 157
5.4 cURL入門 157
5.4.1 預備知識 158
5.4.2 實戰演練 158
5.4.3 工作原理 158
5.4.4 補充內容 159
5.4.5 參考 161
5.5 從命令行訪問Gmail 161
5.5.1 實戰演練 162
5.5.2 工作原理 162
5.5.3 參考 163
5.6 解析網站數據 163
5.6.1 實戰演練 163
5.6.2 工作原理 164
5.6.3 參考 164
5.7 圖片抓取器及下載工具 164
5.7.1 實戰演練 164
5.7.2 工作原理 165
5.7.3 參考 166
5.8 網頁相冊生成器 167
5.8.1 預備知識 167
5.8.2 實戰演練 167
5.8.3 工作原理 169
5.8.4 參考 169
5.9 Twitter命令行客戶端 169
5.9.1 預備知識 169
5.9.2 實戰演練 171
5.9.3 工作原理 173
5.9.4 參考 173
5.10 基於Web後端的定義查詢工具 173
5.10.1 預備知識 173
5.10.2 實戰演練 175
5.10.3 工作原理 175
5.10.4 參考 175
5.11 查找網站中的無效鏈接 175
5.11.1 預備知識 176
5.11.2 實戰演練 176
5.11.3 工作原理 177
5.11.4 參考 177
5.12 跟蹤網站變動 177
5.12.1 預備知識 177
5.12.2 實戰演練 177
5.12.3 工作原理 179
5.12.4 參考 179
5.13 以POST方式發送網頁並讀取響應 179
5.13.1 預備知識 179
5.13.2 實戰演練 180
5.13.3 工作原理 180
5.13.4 參考 181
第6章 B計劃 182
6.1 簡介 182
6.2 用tar歸檔 182
6.2.1 預備知識 182
6.2.2 實戰演練 183
6.2.3 工作原理 183
6.2.4 補充知識 184
6.2.5 參考 188
6.3 用cpio歸檔 188
6.3.1 實戰演練 188
6.3.2 工作原理 189
6.4 使用gzip壓縮數據 189
6.4.1 實戰演練 189
6.4.2 補充內容 190
6.4.3 參考 193
6.5 用zip歸檔和壓縮 193
6.5.1 實戰演練 193
6.5.2 工作原理 194
6.6 更快速的歸檔工具pbzip2 194
6.6.1 預備知識 194
6.6.2 實戰演練 194
6.6.3 工作原理 195
6.6.4 補充內容 195
6.7 創建壓縮文件係統 195
6.7.1 預備知識 196
6.7.2 實戰演練 196
6.7.3 補充內容 196
6.8 使用rsync備份係統快照 197
6.8.1 實戰演練 197
6.8.2 工作原理 199
6.8.3 補充內容 199
6.9 用Git進行基於版本控製的備份 200
6.9.1 預備知識 200
6.9.2 實戰演練 201
6.10 用fsarchiver創建全盤鏡像 203
6.10.1 預備知識 203
6.10.2 實戰演練 203
6.10.3 工作原理 204
第7章 無網不利 205
7.1 簡介 205
7.2 網絡設置 205
7.2.1 預備知識 206
7.2.2 實戰演練 206
7.2.3 補充內容 207
7.2.4 參考 210
7.3 使用ping 210
7.3.1 實戰演練 211
7.3.2 補充內容 212
7.4 列齣網絡上所有的活動主機 213
7.4.1 預備知識 214
7.4.2 實戰演練 214
7.4.3 工作原理 215
7.4.4 補充內容 215
7.4.5 參考 216
7.5 使用SSH在遠程主機上運行命令 216
7.5.1 預備知識 216
7.5.2 實戰演練 217
7.5.3 補充內容 219
7.5.4 參考 220
7.6 通過網絡傳輸文件 220
7.6.1 預備知識 220
7.6.2 實戰演練 220
7.6.3 補充內容 221
7.6.4 參考 223
7.7 連接無綫網絡 223
7.7.1 預備知識 223
7.7.2 實戰演練 223
7.7.3 工作原理 224
7.7.4 參考 225
7.8 用SSH實現無密碼自動登錄 225
7.8.1 預備知識 225
7.8.2 實戰演練 225
7.9 使用SSH進行端口轉發 227
7.9.1 實戰演練 227
7.9.2 補充內容 227
7.10 在本地掛載點上掛載遠程驅動器 228
7.10.1 預備知識 228
7.10.2 實戰演練 228
7.10.3 參考 228
7.11 網絡流量與端口分析 229
7.11.1 預備知識 229
7.11.2 實戰演練 229
7.11.3 工作原理 230
7.11.4 補充內容 230
7.12 創建套接字 230
7.12.1 預備知識 231
7.12.2 實戰演練 231
7.12.3 補充內容 231
7.13 互聯網連接共享 231
7.13.1 預備知識 232
7.13.2 實戰演練 232
7.14 使用iptables架設簡易防火牆 233
7.14.1 實戰演練 233
7.14.2 工作原理 233
7.14.3 補充內容 234
第8章 當個好管傢 235
8.1 簡介 235
8.2 監視磁盤使用情況 235
8.2.1 預備知識 236
8.2.2 實戰演練 236
8.2.3 補充內容 237
8.3 計算命令執行時間 240
8.3.1 實戰演練 240
8.3.2 工作原理 242
8.4 收集與當前登錄用戶、啓動日誌及啓動故障的相關信息 243
8.4.1 預備知識 243
8.4.2 實戰演練 243
8.5 列齣1小時內占用CPU最多的10個進程 245
8.5.1 預備知識 245
8.5.2 實戰演練 245
8.5.3 工作原理 247
8.5.4 參考 247
8.6 使用watch監視命令輸齣 247
8.6.1 實戰演練 247
8.6.2 補充內容 248
8.7 記錄文件及目錄訪問 248
8.7.1 預備知識 248
8.7.2 實戰演練 248
8.7.3 工作原理 249
8.8 用logrotate管理日誌文件 249
8.8.1 預備知識 250
8.8.2 實戰演練 250
8.8.3 工作原理 250
8.9 用syslog記錄日誌 251
8.9.1 預備知識 251
8.9.2 實戰演練 252
8.9.3 參考 252
8.10 通過監視用戶登錄找齣入侵者 252
8.10.1 預備知識 253
8.10.2 實戰演練 253
8.10.3 工作原理 254
8.11 監視遠程磁盤的健康情況 255
8.11.1 預備知識 256
8.11.2 實戰演練 256
8.11.3 工作原理 257
8.11.4 參考 258
8.12 找齣係統中用戶的活躍時段 258
8.12.1 預備知識 258
8.12.2 實戰演練 258
8.12.3 工作原理 259
8.13 電源使用的測量與優化 260
8.13.1 預備知識 260
8.13.2 實戰演練 260
8.14 監視磁盤活動 261
8.14.1 預備知識 261
8.14.2 實戰演練 262
8.15 檢查磁盤及文件係統錯誤 262
8.15.1 預備知識 262
8.15.2 實戰演練 262
8.15.3 工作原理 263
第9章 管理重任 264
9.1 簡介 264
9.2 收集進程信息 264
9.2.1 預備知識 264
9.2.2 實戰演練 265
9.2.3 工作原理 266
9.2.4 補充內容 267
9.2.5 參考 273
9.3 殺死進程以及發送或響應信號 273
9.3.1 預備知識 273
9.3.2 實戰演練 274
9.3.3 補充內容 274
9.4 嚮用戶終端發送消息 276
9.4.1 預備知識 276
9.4.2 實戰演練 276
9.4.3 工作原理 278
9.5 采集係統信息 278
9.6 使用proc采集信息 279
9.7 用cron進行調度 280
9.7.1 預備知識 280
9.7.2 實戰演練 280
9.7.3 工作原理 281
9.7.4 補充內容 282
9.8 從Bash中讀寫MySQL數據庫 283
9.8.1 預備知識 283
9.8.2 實戰演練 283
9.8.3 工作原理 286
9.9 用戶管理腳本 287
9.9.1 實戰演練 287
9.9.2 工作原理 289
9.10 圖像文件的縮放及格式轉換 291
9.10.1 預備知識 291
9.10.2 實戰演練 291
9.10.3 工作原理 294
9.10.4 參考 294
9.11 從終端截圖 294
9.11.1 預備知識 295
9.11.2 實戰演練 295
9.12 管理多個終端 295
9.12.1 預備知識 295
9.12.2 實戰演練 295
· · · · · · (
收起)