Linux命令行與shell腳本編程大全(第4版)(2022年6月1日人民郵電出版社出版的圖書)

本詞條是多義詞,共2個義項
更多義項 ▼ 收起列表 ▲

《Linux命令行與shell腳本編程大全(第4版)》是一本2022年6月1日人民郵電出版社出版的圖書,作者[美] 理察·布盧姆,[美] 克里斯蒂娜·布雷斯納漢。

基本介紹

  • 中文名:Linux命令行與shell腳本編程大全(第4版)
  • 作者:[美] 理察·布盧姆,[美] 克里斯蒂娜·布雷斯納漢
  • 譯者:門佳
  • 出版社: 人民郵電出版社
  • 出版時間:2022年6月1日
  • 頁數:620 頁
  • 定價:129.80 元
  • 開本:16 開
  • 裝幀:平裝
  • ISBN:9787115592514
內容簡介,圖書目錄,作者簡介,

內容簡介

這是一本關於Linux命令行與shell腳本編程的全面性教程,主要包括四大部分 :Linux命令行、shell腳本編程基礎、高級shell腳本編程,以及創建和管理實用的腳本。本書這一版針對Linux系統的新特性進行了全面更新,不僅涵蓋了詳盡的動手教程和現實世界中的實用信息,還提供了與所學內容相關的參考信息和背景資料。通過本書的學習,你能輕鬆寫出自己的shell腳本。
本書適合Linux系統管理員及相關開發人員閱讀。

圖書目錄

第 一部分 Linux命令行
第 1 章 初識Linux shell 2
1.1 Linux初探 2
1.1.1 深入探究Linux核心 3
1.1.2 GNU實用工具 7
1.1.3 Linux桌面環境 9
1.2 Linux發行版 13
1.2.1 核心Linux發行版 14
1.2.2 特定用途的Linux發行版 14
1.3 小結 15
第 2 章 走進shell 16
2.1 進入命令行 16
2.1.1 控制台終端 16
2.1.2 圖形化終端 17
2.2 通過Linux控制台終端訪問CLI 18
2.3 通過圖形化終端仿真器訪問CLI 20
2.4 使用GNOME Terminal終端仿真器 21
2.4.1 訪問GNOME Terminal 21
2.4.2 選單欄 25
2.5 使用Konsole終端仿真器 27
2.5.1 訪問Konsole終端仿真器 27
2.5.2 選單欄 29
2.6 使用xterm終端仿真器 32
2.6.1 訪問xterm 33
2.6.2 命令行選項 33
2.7 小結 34
第 3 章 bash shell基礎命令 36
3.1 啟動shell 36
3.2 使用shell提示符 37
3.3 與bash手冊互動 37
3.4 瀏覽檔案系統 41
3.4.1 Linux檔案系統 41
3.4.2 遍歷目錄 44
3.5 列出檔案和目錄 46
3.5.1 顯示基本列表 46
3.5.2 顯示長列表 48
3.5.3 過濾輸出列表 49
3.6 處理檔案 51
3.6.1 創建檔案 51
3.6.2 複製檔案 51
3.6.3 使用命令行補全 53
3.6.4 連結檔案 54
3.6.5 檔案重命名 55
3.6.6 刪除檔案 57
3.7 管理目錄 57
3.7.1 創建目錄 57
3.7.2 刪除目錄 58
3.8 查看檔案內容 60
3.8.1 查看檔案類型 60
3.8.2 查看整個檔案 61
3.8.3 查看部分檔案 63
3.9 小結 64
第 4 章 更多的bash shell命令 66
4.1 監測程式 66
4.1.1 探查進程 66
4.1.2 實時監測進程 72
4.1.3 結束進程 74
4.2 監測磁碟空間 75
4.2.1 掛載存儲設備 75
4.2.2 使用df命令 78
4.2.3 使用du命令 79
4.3 處理數據檔案 80
4.3.1 數據排序 80
4.3.2 數據搜尋 83
4.3.3 數據壓縮 85
4.3.4 數據歸檔 86
4.4 小結 87
第 5 章 理解shell 88
5.1 shell的類型 88
5.2 shell的父子關係 91
5.2.1 查看進程列表 95
5.2.2 別出心裁的子shell用法 96
5.3 理解外部命令和內建命令 99
5.3.1 外部命令 100
5.3.2 內建命令 101
5.4 小結 106
第 6 章 Linux環境變數 107
6.1 什麼是環境變數 107
6.1.1 全局環境變數 108
6.1.2 局部環境變數 109
6.2 設定用戶自定義變數 110
6.2.1 設定局部用戶自定義變數 110
6.2.2 設定全局環境變數 111
6.3 刪除環境變數 113
6.4 默認的shell環境變數 113
6.5 設定PATH環境變數 117
6.6 定位系統環境變數 118
6.6.1 登錄shell 119
6.6.2 互動式shell進程 123
6.6.3 非互動式shell 124
6.6.4 環境變數持久化 124
6.7 數組變數 125
6.8 小結 126
第 7 章 理解Linux檔案許可權 127
7.1 Linux的安全性 127
7.1.1 etc passwd檔案 127
7.1.2 etc shadow檔案 129
7.1.3 添加新用戶 129
7.1.4 刪除用戶 132
7.1.5 修改用戶 132
7.2 使用Linux組 135
7.2.1 etc group檔案 135
7.2.2 創建新組 136
7.2.3 修改組 137
7.3 理解檔案許可權 137
7.3.1 使用檔案許可權符號 137
7.3.2 默認檔案許可權 139
7.4 更改安全設定 140
7.4.1 修改許可權 140
7.4.2 改變所屬關係 141
7.5 已分享檔案 142
7.6 訪問控制列表 144
7.7 小結 145
第 8 章 管理檔案系統 147
8.1 探索Linux檔案系統 147
8.1.1 Linux檔案系統的演進 147
8.1.2 日誌檔案系統 148
8.1.3 卷管理檔案系統 150
8.2 使用檔案系統 151
8.2.1 創建分區 151
8.2.2 創建檔案系統 155
8.2.3 檔案系統的檢查與修復 157
8.3 邏輯卷管理 158
8.3.1 LVM布局 159
8.3.2 Linux中的LVM 159
8.3.3 使用Linux LVM 162
8.4 小結 163
第 9 章 安裝軟體 164
9.1 軟體包管理基礎 164
9.2 基於Debian的系統 165
9.2.1 使用apt管理軟體包 165
9.2.2 使用apt安裝軟體包 167
9.2.3 使用apt升級軟體 169
9.2.4 使用apt卸載軟體包 170
9.2.5 apt倉庫 171
9.3 基於Red Hat的系統 173
9.3.1 列出已安裝的軟體包 173
9.3.2 使用dnf安裝軟體 174
9.3.3 使用dnf升級軟體 175
9.3.4 使用dnf卸載軟體 176
9.3.5 處理損壞的依賴關係 176
9.3.6 RPM倉庫 176
9.4 使用容器管理軟體 177
9.4.1 使用snap容器 177
9.4.2 使用flatpak容器 179
9.5 從原始碼安裝 180
9.6 小結 183
第 10 章 文本編輯器 185
10.1 vim編輯器 185
10.1.1 檢查vim軟體包 185
10.1.2 vim基礎 187
10.1.3 編輯數據 189
10.1.4 複製和貼上 189
10.1.5 查找和替換 190
10.2 nano編輯器 191
10.3 Emacs編輯器 193
10.3.1 檢查Emacs軟體包 193
10.3.2 在控制台中使用Emacs 194
10.3.3 在GUI中使用Emacs 199
10.4 KDE系編輯器 200
10.4.1 KWrite編輯器 200
10.4.2 Kate編輯器 204
10.5 GNOME編輯器 208
10.5.1 啟動gedit 208
10.5.2 gedit的基本功能 209
10.5.3 管理外掛程式 211
10.6 小結 213
第二部分 shell腳本編程基礎
第 11 章 構建基礎腳本 216
11.1 使用多個命令 216
11.2 創建shell腳本檔案 217
11.3 顯示訊息 218
11.4 使用變數 220
11.4.1 環境變數 220
11.4.2 用戶自定義變數 221
11.4.3 命令替換 222
11.5 重定向輸入和輸出 224
11.5.1 輸出重定向 224
11.5.2 輸入重定向 225
11.6 管道 226
11.7 執行數學運算 228
11.7.1 expr命令 228
11.7.2 使用方括弧 230
11.7.3 浮點數解決方案 231
11.8 退出腳本 234
11.8.1 查看退出狀態碼 234
11.8.2 exit命令 235
11.9 實戰演練 237
11.10 小結 238
第 12 章 結構化命令 239
12.1 使用if-then語句 239
12.2 if-then-else語句 242
12.3 嵌套if語句 243
12.4 test命令 246
12.4.1 數值比較 248
12.4.2 字元串比較 249
12.4.3 檔案比較 253
12.5 複合條件測試 262
12.6 if-then的高級特性 263
12.6.1 使用單括弧 264
12.6.2 使用雙括弧 265
12.6.3 使用雙方括弧 266
12.7 case命令 267
12.8 實戰演練 268
12.9 小結 273
第 13 章 更多的結構化命令 274
13.1 for命令 274
13.1.1 讀取列表中的值 275
13.1.2 讀取列表中的複雜值 276
13.1.3 從變數中讀取值列表 277
13.1.4 從命令中讀取值列表 278
13.1.5 更改欄位分隔設定 279
13.1.6 使用通配符讀取目錄 280
13.2 C語言風格的for命令 282
13.2.1 C語言中的for命令 282
13.2.2 使用多個變數 283
13.3 while命令 284
13.3.1 while的基本格式 284
13.3.2 使用多個測試命令 285
13.4 until命令 286
13.5 嵌套循環 287
13.6 循環處理檔案數據 290
13.7 循環控制 291
13.7.1 break命令 291
13.7.2 continue命令 294
13.8 處理循環的輸出 296
13.9 實戰演練 297
13.9.1 查找執行檔 297
13.9.2 創建多個用戶賬戶 299
13.10 小結 300
第 14 章 處理用戶輸入 301
14.1 傳遞參數 301
14.1.1 讀取參數 301
14.1.2 讀取腳本名 303
14.1.3 參數測試 305
14.2 特殊參數變數 305
14.2.1 參數統計 305
14.2.2 獲取所有的數據 307
14.3 移動參數 309
14.4 處理選項 310
14.4.1 查找選項 311
14.4.2 使用getopt命令 314
14.4.3 使用getopts命令 317
14.5 選項標準化 319
14.6 獲取用戶輸入 320
14.6.1 基本的讀取 320
14.6.2 逾時 322
14.6.3 無顯示讀取 323
14.6.4 從檔案中讀取 323
14.7 實戰演練 324
14.8 小結 328
第 15 章 呈現數據 329
15.1 理解輸入和輸出 329
15.1.1 標準檔案描述符 329
15.1.2 重定向錯誤 332
15.2 在腳本中重定向輸出 333
15.2.1 臨時重定向 333
15.2.2 永久重定向 334
15.3 在腳本中重定向輸入 335
15.4 創建自己的重定向 336
15.4.1 創建輸出檔案描述符 336
15.4.2 重定向檔案描述符 337
15.4.3 創建輸入檔案描述符 337
15.4.4 創建讀 寫檔案描述符 338
15.4.5 關閉檔案描述符 339
15.5 列出打開的檔案描述符 340
15.6 抑制命令輸出 341
15.7 使用臨時檔案 342
15.7.1 創建本地臨時檔案 342
15.7.2 在 tmp目錄中創建臨時檔案 344
15.7.3 創建臨時目錄 344
15.8 記錄訊息 345
15.9 實戰演練 346
15.10 小結 348
第 16 章 腳本控制 349
16.1 處理信號 349
16.1.1 重溫Linux信號 349
16.1.2 產生信號 350
16.1.3 捕獲信號 352
16.1.4 捕獲腳本退出 353
16.1.5 修改或移除信號捕獲 354
16.2 以後台模式運行腳本 356
16.2.1 後台運行腳本 356
16.2.2 運行多個後台作業 358
16.3 在非控制台下運行腳本 359
16.4 作業控制 360
16.4.1 查看作業 360
16.4.2 重啟已停止的作業 362
16.5 調整謙讓度 363
16.5.1 nice命令 363
16.5.2 renice命令 364
16.6 定時運行作業 364
16.6.1 使用at命令調度作業 364
16.6.2 調度需要定期運行的腳本 368
16.7 使用新shell啟動腳本 371
16.8 實戰演練 372
16.9 小結 378
第三部分 高級shell腳本編程
第 17 章 創建函式 380
17.1 腳本函式基礎 380
17.1.1 創建函式 381
17.1.2 使用函式 381
17.2 函式返回值 383
17.2.1 默認的退出狀態碼 383
17.2.2 使用return命令 384
17.2.3 使用函式輸出 385
17.3 在函式中使用變數 386
17.3.1 向函式傳遞參數 386
17.3.2 在函式中處理變數 388
17.4 數組變數和函式 390
17.4.1 向函式傳遞數組 390
17.4.2 從函式返回數組 392
17.5 函式遞歸 392
17.6 創建庫 393
17.7 在命令行中使用函式 395
17.7.1 在命令行中創建函式 395
17.7.2 在.bashrc檔案中定義函式 396
17.8 實戰演練 398
17.8.1 下載及安裝 398
17.8.2 構建庫 398
17.8.3 shtool庫函式 399
17.8.4 使用庫 400
17.9 小結 401
第 18 章 圖形化桌面環境中的腳本編程 402
18.1 創建文本選單 402
18.1.1 創建選單布局 403
18.1.2 創建選單函式 404
18.1.3 添加選單邏輯 404
18.1.4 整合shell腳本選單 405
18.1.5 使用select命令 406
18.2 創建文本視窗部件 407
18.2.1 dialog軟體包 408
18.2.2 dialog選項 413
18.2.3 在腳本中使用dialog命令 415
18.3 圖形化視窗部件 417
18.3.1 KDE環境 417
18.3.2 GNOME環境 420
18.4 實戰演練 424
18.5 小結 427
第 19 章 初識sed和gawk 428
19.1 文本處理 428
19.1.1 sed編輯器 428
19.1.2 gawk編輯器 431
19.2 sed編輯器基礎命令 437
19.2.1 更多的替換選項 437
19.2.2 使用地址 438
19.2.3 刪除行 441
19.2.4 插入和附加文本 443
19.2.5 修改行 445
19.2.6 轉換命令 446
19.2.7 再探列印 447
19.2.8 使用sed處理檔案 449
19.3 實戰演練 451
19.4 小結 456
第 20 章 正則表達式 457
20.1 正則表達式基礎 457
20.1.1 定義 457
20.1.2 正則表達式的類型 458
20.2 定義BRE模式 459
20.2.1 普通文本 459
20.2.2 特殊字元 460
20.2.3 錨點字元 461
20.2.4 點號字元 463
20.2.5 字元組 464
20.2.6 排除型字元組 466
20.2.7 區間 466
20.2.8 特殊的字元組 467
20.2.9 星號 468
20.3 擴展正則表達式 469
20.3.1 問號 469
20.3.2 加號 470
20.3.3 花括弧 470
20.3.4 豎線符號 472
20.3.5 表達式分組 472
20.4 實戰演練 473
20.4.1 目錄檔案計數 473
20.4.2 驗證電話號碼 474
20.4.3 解析email地址 476
20.5 小結 477
第 21 章 sed進階 478
21.1 多行命令 478
21.1.1 next命令 479
21.1.2 多行刪除命令 482
21.1.3 多行列印命令 482
21.2 保留空間 483
21.3 排除命令 485
21.4 改變執行流程 487
21.4.1 分支 487
21.4.2 測試 489
21.5 模式替換 490
21.5.1 &符號 491
21.5.2 替換單獨的單詞 491
21.6 在腳本中使用sed 492
21.6.1 使用包裝器 492
21.6.2 重定向sed的輸出 493
21.7 創建sed實用工具 494
21.7.1 加倍行間距 494
21.7.2 對可能含有空行的檔案加倍行間距 495
21.7.3 給檔案中的行編號 495
21.7.4 列印末尾行 496
21.7.5 刪除行 498
21.7.6 刪除HTML標籤 500
21.8 實戰演練 502
21.9 小結 506
第 22 章 gawk進階 508
22.1 使用變數 508
22.1.1 內建變數 508
22.1.2 自定義變數 514
22.2 處理數組 515
22.2.1 定義數組變數 515
22.2.2 遍歷數組變數 516
22.2.3 刪除數組變數 517
22.3 使用模式 517
22.3.1 正則表達式 517
22.3.2 匹配操作符 518
22.3.3 數學表達式 519
22.4 結構化命令 519
22.4.1 if語句 519
22.4.2 while語句 521
22.4.3 do-while語句 522
22.4.4 for語句 523
22.5 格式化列印 523
22.6 內建函式 526
22.6.1 數學函式 526
22.6.2 字元串函式 527
22.6.3 時間函式 529
22.7 自定義函式 529
22.7.1 定義函式 529
22.7.2 使用自定義函式 530
22.7.3 創建函式館 530
22.8 實戰演練 531
22.9 小結 532
第 23 章 使用其他shell 534
23.1 什麼是dash shell 534
23.2 dash shell的特性 535
23.2.1 dash命令行選項 535
23.2.2 dash環境變數 536
23.2.3 dash內建命令 538
23.3 dash腳本編程 539
23.3.1 創建dash腳本 539
23.3.2 不能使用的特性 539
23.4 zsh shell 541
23.5 zsh shell的組成 542
23.5.1 shell選項 542
23.5.2 內建命令 543
23.6 zsh腳本編程 546
23.6.1 數學運算 547
23.6.2 結構化命令 548
23.6.3 函式 549
23.7 實戰演練 549
23.8 小結 550
第四部分 創建和管理實用的腳本
第 24 章 編寫簡單的腳本實用工具 552
24.1 備份 552
24.1.1 日常備份 552
24.1.2 創建按小時歸檔的腳本 559
24.2 刪除賬戶 562
24.2.1 功能需求 562
24.2.2 創建腳本 570
24.2.3 運行腳本 575
24.3 系統監控 577
24.3.1 獲得默認的shell審計功能 577
24.3.2 許可權審計功能 581
24.3.3 創建腳本 582
24.3.4 運行腳本 585
24.4 小結 586
第 25 章 井井有條 588
25.1 理解版本控制 588
25.1.1 工作目錄 589
25.1.2 暫存區 590
25.1.3 本地倉庫 590
25.1.4 遠程倉庫 590
25.1.5 分支 590
25.1.6 克隆 591
25.1.7 使用Git作為VCS 591
25.2 設定Git環境 591
25.3 使用Git提交檔案 595
25.4 小結 601
附錄 A bash命令快速指南 602
附錄 B sed和gawk快速指南 612

作者簡介

理察.布盧姆(Richard Blum),從事系統管理和網路管理工作近40年,在Unix、Linux、Novell、Windows Server等領域身經百戰,著有多部Linux圖書。此外,他的Linux線上課程被世界多所大學和學院採用。
克里斯蒂娜.布雷斯納漢(Christine Bresnahan),擁有近40年的系統管理經驗,Udemy講師,講授兩門Linux線上課程,持有CompTIA Linux+、LPIC-1、Linux Essentials認證。
【譯者介紹】
門佳,GNU Linux深度用戶,喜歡溯本求源,挖掘技術背後的來龍去脈,對程式語言設計理論、編譯技術、作業系統設計與實現、Web開發等領域均有涉獵,譯著包括《Linux Shell腳本攻略》《shell腳本實戰(第2版)》《bash shell腳本編程經典實例(第2版)》以及本書第2版和第3版等。

相關詞條

熱門詞條

聯絡我們