《Linux命令列與shell指令碼編程大全:第2版》
基本資料
作者: (美)布盧姆(Blum,R.) 布雷斯納漢(Bresnahan.C.) [作譯者介紹]
譯者: 武海峰
叢書名: 圖靈程式設計叢書
出版社:人民郵電出版社
ISBN:9787115288899
上架時間:2012-8-15
出版日期:2012 年8月
開本:16開
頁碼:1
版次:1-1
所屬分類: 電腦 > 作業系統 > Linux
更多關於 》》》《Linux命令列與shell指令碼編程大全:第2版》
內容簡介
書籍
電腦書籍
《linux命令列與shell指令碼編程大全:第2版》是一本關於linux 命令列與shell 指令碼編程的全面教程。全書分為四部分:第一部分介紹linuxshell 命令列;第二部分介紹shell 指令碼編程基礎;第三部分深入探討shell 指令碼編程的進階內容;第四部分介紹如何在現實環境中使用shell 指令碼。本書不僅涵蓋了詳盡的動手教程和現實世界中的實用資訊,還提供了與所學內容相關的參考資訊和背景資料。
《linux命令列與shell指令碼編程大全:第2版》內容全面,語言簡練,樣本豐富,適合於linux 系統管理員及linux 愛好者閱讀參考。
目錄
《linux命令列與shell指令碼編程大全:第2版》
第一部分 linux 命令列
第1章 初識linux shell 2
1.1 什麼是linux 2
1.1.1 深入探究linux核心 3
1.1.2 gnu工具鏈 10
1.1.3 linux案頭環境 11
1.2 linux發行版 16
1.2.1 核心linux發行版 16
1.2.2 專業linux發行版 17
1.2.3 linux livecd 17
1.3 小結 19
第2章 走進shell 20
2.1 終端類比 20
2.1.1 圖形功能 21
2.1.2 鍵盤 24
2.2 terminfo資料庫 25
2.3 linux控制台 28
2.4 xterm終端 29
2.4.1 命令列參數 30
2.4.2 xterm主菜單 31
2.4.3 vt選項菜單 32
2.4.4 vt字型菜單 34
2.5 konsole終端 36
2.5.1 命令列參數 36
2.5.2 標籤式視窗會話 37
2.5.3 設定檔 38
2.5.4 功能表列 39
2.6 gnome terminal 43
2.6.1 命令列參數 43
2.6.2 標籤 43
2.6.3 功能表列 44
2.7 小結 47
第3章 基本的bash shell命令 48
3.1 啟動shell 48
3.2 shell提示符 49
3.3 bash手冊 51
3.4 瀏覽檔案系統 52
3.4.1 linux檔案系統 52
3.4.2 遍曆目錄 54
3.5 檔案和目錄列表 56
3.5.1 基本欄表功能 56
3.5.2 修改輸出資訊 57
3.5.3 完整的參數列表 58
3.5.4 過濾輸出資料行表 60
3.6 處理檔案 61
3.6.1 建立檔案 61
3.6.2 複製檔案 61
3.6.3 連結檔案 63
3.6.4 重新命名檔案 65
3.6.5 刪除檔案 65
3.7 處理目錄 67
3.7.1 建立目錄 67
3.7.2 刪除目錄 67
3.8 查看檔案內容 68
3.8.1 查看檔案統計資訊 68
3.8.2 查看檔案類型 69
3.8.3 查看整個檔案 69
3.8.4 查看部分檔案 72
3.9 小結 73
第4章 更多的bash shell命令 75
4.1 監測程式 75
4.1.1 探查進程 75
4.1.2 即時監測進程 82
4.1.3 結束進程 84
4.2 監測磁碟空間 85
4.2.1 掛載儲存媒體 86
4.2.2 使用df命令 89
4.2.3 使用du命令 89
4.3 處理資料檔案 90
4.3.1 排序資料 91
4.3.2 搜尋資料 94
4.3.3 壓縮資料 96
4.3.4 歸檔資料 99
4.4 小結 100
第5章 使用linux環境變數 101
5.1 什麼是環境變數 101
5.1.1 全域環境變數 102
5.1.2 局部環境變數 103
5.2 設定環境變數 106
5.2.1 設定局部環境變數 106
5.2.2 設定全域環境變數 107
5.3 刪除環境變數 107
5.4 預設shell環境變數 108
5.5 設定path環境變數 111
5.6 定位系統內容變數 112
5.6.1 登入shell 112
5.6.2 互動式shell 116
5.6.3 非互動式shell 118
5.7 可變數組 118
5.8 使用命令別名 119
5.9 小結 120
第6章 理解linux檔案許可權 122
6.1 linux的安全性 122
6.1.1 /etc/passwd檔案 122
6.1.2 /etc/shadow檔案 124
6.1.3 添加新使用者 125
6.1.4 刪除使用者 127
6.1.5 修改使用者 128
6.2 使用linux組 130
6.2.1 /etc/group檔案 131
6.2.2 建立新群組 131
6.2.3 修改組 132
6.3 理解檔案許可權 133
6.3.1 使用檔案許可權符 133
6.3.2 預設檔案許可權 134
6.4 改變安全性設定 136
6.4.1 改變許可權 136
6.4.2 改變所屬關係 137
6.5 共用檔案 138
6.6 小結 139
第7章 管理檔案系統 141
7.1 探索linux檔案系統 141
7.1.1 基本的linux檔案系統 141
7.1.2 記錄檔系統 142
7.1.3 擴充的linux記錄檔系統 143
7.2 操作檔案系統 145
7.2.1 建立分區 145
7.2.2 建立檔案系統 147
7.2.3 如果出錯了 149
7.3 邏輯卷管理器 150
7.3.1 邏輯卷管理布局 150
7.3.2 linux中的lvm 151
7.3.3 使用linux lvm 153
7.4 小結 157
第8章 安裝軟體程式 158
8.1 包管理基礎 158
8.2 基於debian的系統 159
8.2.1 用aptitude管理軟體包 159
8.2.2 用aptitude安裝軟體包 161
8.2.3 用aptitude更新軟體 163
8.2.4 用aptitude卸載軟體 164
8.2.5 aptitude庫 164
8.3 基於red hat的系統 166
8.3.1 列出已安裝包 166
8.3.2 用yum安裝軟體 167
8.3.3 用yum更新軟體 168
8.3.4 用yum卸載軟體 169
8.3.5 處理損壞的包依賴關係 169
8.3.6 yum軟體庫 171
8.4 從源碼安裝 172
8.5 小結 174
第9章 使用編輯器 176
9.1 vim編輯器 176
9.1.1 vim基礎 176
9.1.2 編輯資料 178
9.1.3 複製和粘貼 179
9.1.4 尋找和替換 180
9.2 emacs編輯器 180
9.2.1 在控制台上使用emacs 180
9.2.2 在x window中使用emacs 185
9.3 kde系編輯器 186
9.3.1 kwrite編輯器 186
9.3.2 kate編輯器 190
9.4 gnome編輯器 192
9.4.1 啟動gedit 192
9.4.2 基本的gedit功能 193
9.4.3 設定喜好設定 194
9.5 小結 196
第二部分 shell指令碼編程基礎
第10章 構建基本指令碼 200
10.1 使用多個命令 200
10.2 建立shell指令檔 201
10.3 顯示訊息 202
10.4 使用變數 203
10.4.1 環境變數 204
10.4.2 使用者變數 205
10.4.3 反引號 206
10.5 重新導向輸入和輸出 207
10.5.1 輸出重新導向 208
10.5.2 輸入重新導向 208
10.6 管道 209
10.7 執行數學運算 212
10.7.1 expr命令 212
10.7.2 使用方括弧 214
10.7.3 浮點解決方案 215
10.8 退出指令碼 218
10.8.1 查看退出狀態代碼 218
10.8.2 exit命令 219
10.9 小結 221
第11章 使用結構化命令 222
11.1 使用if-then語句 222
11.2 if-then-else語句 224
11.3 嵌套if 225
11.4 test命令 226
11.4.1 數值比較 227
11.4.2 字串比較 228
11.4.3 檔案比較 232
11.5 複合條件測試 239
11.6 if-then的進階特性 240
11.6.1 使用雙角括弧 240
11.6.2 使用雙方括弧 241
11.7 case命令 242
11.8 小結 243
第12章 更多的結構化命令 245
12.1 for命令 245
12.1.1 讀取列表中的值 246
12.1.2 讀取列表中的複雜值 247
12.1.3 從變數讀取列表 248
12.1.4 從命令讀取值 249
12.1.5 更改欄位分隔符號 250
12.1.6 用萬用字元讀取目錄 251
12.2 c語言風格的for命令 253
12.2.1 c語言的for命令 253
12.2.2 使用多個變數 255
12.3 while命令 255
12.3.1 while的基本格式 255
12.3.2 使用多個測試命令 256
12.4 until命令 258
12.5 嵌套迴圈 259
12.6 迴圈處理檔案資料 261
12.7 控制迴圈 262
12.7.1 break命令 262
12.7.2 continue命令 265
12.8 處理迴圈的輸出 267
12.9 小結 269
第13章 處理使用者輸入 270
13.1 命令列參數 270
13.1.1 讀取參數 270
13.1.2 讀取程式名 272
13.1.3 測試參數 274
13.2 特殊參數變數 274
13.2.1 參數計數 274
13.2.2 抓取所有的資料 276
13.3 移動變數 277
13.4 處理選項 278
13.4.1 尋找選項 279
13.4.2 使用getopt命令 282
13.4.3 使用更進階的getopts 284
13.5 將選項標準化 286
13.6 獲得使用者輸入 287
13.6.1 基本的讀取 287
13.6.2 逾時 289
13.6.3 隱藏方式讀取 290
13.6.4 從檔案中讀取 290
13.7 小結 291
第14章 呈現資料 293
14.1 理解輸入和輸出 293
14.1.1 標準檔案描述符 293
14.1.2 重新導向錯誤 295
14.2 在指令碼中重新導向輸出 297
14.2.1 臨時重新導向 297
14.2.2 永久重新導向 298
14.3 在指令碼中重新導向輸入 299
14.4 建立自己的重新導向 299
14.4.1 建立輸出檔案描述符 300
14.4.2 重新導向檔案描述符 300
14.4.3 建立輸入檔案描述符 301
14.4.4 建立讀寫檔案描述符 302
14.4.5 關閉檔案描述符 303
14.5 列出開啟的檔案描述符 304
14.6 阻止命令輸出 305
14.7 建立臨時檔案 306
14.7.1 建立本地臨時檔案 306
14.7.2 在/tmp目錄建立臨時檔案 308
14.7.3 建立臨時目錄 308
14.8 記錄訊息 309
14.9 小結 310
第15章 控制指令碼 312
15.1 處理訊號 312
15.1.1 重溫linux訊號 312
15.1.2 產生訊號 313
15.1.3 捕捉訊號 314
15.1.4 捕捉指令碼的退出 315
15.1.5 移除捕捉 316
15.2 以後台模式運行指令碼 317
15.2.1 後台運行指令碼 317
15.2.2 運行多個後台作業 318
15.2.3 退出終端 319
15.3 在非控制台下運行指令碼 319
15.4 作業控制 320
15.4.1 查看作業 320
15.4.2 重啟停止的作業 322
15.5 調整謙讓度 323
15.5.1 nice命令 323
15.5.2 renice命令 324
15.6 定時運行作業 324
15.6.1 用at命令來計劃執行作業 325
15.6.2 計劃定期執行指令碼 328
15.7 啟動時運行 330
15.7.1 開機時運行指令碼 330
15.7.2 在新shell中啟動 332
15.8 小結 333
第三部分 進階shell指令碼編程
第16章 建立函數 336
16.1 基本的指令碼函數 336
16.1.1 建立函數 337
16.1.2 使用函數 337
16.2 傳回值 339
16.2.1 預設退出狀態代碼 339
16.2.2 使用return命令 340
16.2.3 使用函數輸出 341
16.3 在函數中使用變數 342
16.3.1 向函數傳遞參數 342
16.3.2 在函數中處理變數 344
16.4 陣列變數和函數 346
16.4.1 向函數傳數組參數 346
16.4.2 從函數返回數組 348
16.5 函數遞迴 349
16.6 建立庫 350
16.7 在命令列上使用函數 351
16.7.1 在命令列上建立函數 352
16.7.2 在.bashrc檔案中定義函數 352
16.8 小結 354
第17章 圖形化案頭上的指令碼編程 355
17.1 建立文本菜單 355
17.1.1 建立菜單布局 356
17.1.2 建立菜單函數 356
17.1.3 添加菜單邏輯 357
17.1.4 整合shell指令碼菜單 358
17.1.5 使用select命令 359
17.2 使用視窗 360
17.2.1 dialog包 361
17.2.2 dialog選項 366
17.2.3 在指令碼中使用dialog命令 368
17.3 使用圖形 369
17.3.1 kde環境 369
17.3.2 gnome環境 372
17.4 小結 376
第18章 初識sed和gawk 377
18.1 文本處理 377
18.1.1 sed編輯器 377
18.1.2 gawk程式 380
18.2 sed編輯器基礎 385
18.2.1 更多的替換選項 385
18.2.2 使用地址 387
18.2.3 刪除行 389
18.2.4 插入和附加文本 391
18.2.5 修改行 392
18.2.6 轉換命令 393
18.2.7 回顧列印 394
18.2.8 用sed和檔案一起工作 396
18.3 小結 398
第19章 Regex 399
19.1 什麼是Regex 399
19.1.1 定義 399
19.1.2 Regex的類型 400
19.2 定義bre模式 401
19.2.1 純文字 401
19.2.2 特殊字元 402
19.2.3 錨字元 403
19.2.4 點字元 405
19.2.5 字元組 405
19.2.6 排除字元組 407
19.2.7 使用區間 408
19.2.8 特殊字元組 409
19.2.9 星號 409
19.3 擴充Regex 411
19.3.1 問號 411
19.3.2 加號 412
19.3.3 使用花括弧 412
19.3.4 管道符號 413
19.3.5 彙總運算式 414
19.4 實用中的Regex 414
19.4.1 目錄檔案計數 415
19.4.2 驗證電話號碼 416
19.4.3 解析郵件地址 417
19.5 小結 419
第20章 sed進階 420
20.1 多行命令 420
20.1.1 next命令 421
20.1.2 多行刪除命令 424
20.1.3 多行列印命令 424
20.2 保持空間 425
20.3 排除命令 426
20.4 改變流 428
20.4.1 跳轉 429
20.4.2 測試 430
20.5 模式替代 431
20.5.1 and符號 431
20.5.2 替換單獨的單詞 432
20.6 在指令碼中使用sed 433
20.6.1 使用封裝指令碼 433
20.6.2 重新導向sed的輸出 434
20.7 建立sed工具 + 生產力 434
20.7.1 加倍行間距 434
20.7.2 對可能含有空白行的檔案加倍行間距 435
20.7.3 給檔案中的行編號 436
20.7.4 列印末尾行 437
20.7.5 刪除行 437
20.7.6 刪除html標籤 439
20.8 小結 441
第21章 gawk進階 442
21.1 使用變數 442
21.1.1 內建變數 442
21.1.2 自訂變數 447
21.2 處理數組 449
21.2.1 定義陣列變數 449
21.2.2 遍曆陣列變數 450
21.2.3 刪除陣列變數 451
21.3 使用模式 451
21.3.1 Regex 451
21.3.2 匹配操作符 452
21.3.3 數學運算式 452
21.4 結構化命令 453
21.4.1 if語句 453
21.4.2 while語句 455
21.4.3 do-while語句 456
21.4.4 for語句 457
21.5 格式化列印 457
21.6 內建函數 460
21.6.1 數學函數 460
21.6.2 字串函數 461
21.6.3 時間函數 463
21.7 自訂函數 463
21.7.1 定義函數 463
21.7.2 使用自訂函數 464
21.7.3 建立函數庫 464
21.8 小結 465
第22章 使用其他shell 467
22.1 什麼是dash shell 467
22.2 dash shell的特性 468
22.2.1 dash命令列參數 468
22.2.2 dash環境變數 469
22.2.3 dash內建命令 471
22.3 dash指令碼編程 472
22.3.1 建立dash指令碼 473
22.3.2 不能使用的功能 473
22.4 zsh shell 477
22.5 zsh shell的組成 478
22.5.1 shell選項 478
22.5.2 內建命令 480
22.6 zsh指令碼編程 485
22.6.1 數學運算 485
22.6.2 結構化命令 487
22.6.3 函數 487
22.7 小結 489
第四部分 進階shell指令碼編程主題
第23章 使用資料庫 492
23.1 mysql資料庫 492
23.1.1 安裝mysql 492
23.1.2 mysql用戶端介面 494
23.1.3 建立mysql資料庫物件 498
23.2 postgresql資料庫 500
23.2.1 安裝postgresql 501
23.2.2 postgresql命令列介面 501
23.2.3 建立postgresql資料庫物件 503
23.3 使用資料表 505
23.3.1 建立資料表 505
23.3.2 插入和刪除資料 507
23.3.3 查詢資料 508
23.4 在指令碼中使用資料庫 509
23.4.1 串連到資料庫 509
23.4.2 向伺服器發送命令 511
23.4.3 格式化資料 514
23.5 小結 516
第24章 使用web 517
24.1 lynx程式 517
24.1.1 安裝lynx 518
24.1.2 lynx命令列 518
24.1.3 lynx設定檔 523
24.1.4 lynx環境變數 524
24.1.5 從lynx中抓取資料 524
24.2 curl程式 527
24.2.1 安裝curl 527
24.2.2 探索curl 527
24.3 使用zsh處理網路 528
24.3.1 tcp模組 528
24.3.2 用戶端/伺服器模式 529
24.3.3 使用zsh進行c/s編程 530
24.4 小結 533
第25章 使用e-mail 534
25.1 linux e-mail基礎 534
25.1.1 linux中的e-mail 534
25.1.2 郵件傳送代理 535
25.1.3 郵件投遞代理 536
25.1.4 郵件使用者代理 537
25.2 建立伺服器 540
25.2.1 sendmail 541
25.2.2 postfix 543
25.3 使用mailx發送訊息 545
25.4 mutt程式 548
25.4.1 安裝mutt 548
25.4.2 mutt命令列 548
25.4.3 使用mutt 549
25.5 小結 551
第26章 編寫指令碼工具 + 生產力 552
26.1 監測磁碟空間 552
26.1.1 需要的功能 552
26.1.2 建立指令碼 555
26.1.3 運行指令碼 556
26.2 進行備份 557
26.3 系統管理使用者賬戶 563
26.3.1 需要的功能 563
26.3.2 建立指令碼 569
26.4 小結 575
第27章 shell指令碼編程進階 576
27.1 監測系統統計資料 576
27.1.1 系統快照報告 576
27.1.2 系統統計資料報告 582
27.2 問題追蹤資料庫 589
27.2.1 建立資料庫 589
27.2.2 記錄問題 591
27.2.3 更新問題 594
27.2.4 尋找問題 599
27.3 小結 602
附錄a bash命令快速指南 604
附錄b sed和gawk快速指南 611
本圖書資訊來源於:中國互動出版網