Linux命令行與shell腳本編程大全(第4版)( 簡體 字) | |
作者:[美] 理查德·布盧姆(Richard Blum) [美] 克里斯蒂娜·布雷斯納漢(Christine Bresnahan) | 類別:1. -> 作業系統 -> Linux |
出版社:人民郵電出版社 | 3dWoo書號: 55842 詢問書籍請說出此書號! 缺書 NT售價: 650 元 |
出版日:6/1/2022 | |
頁數:620 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787115592514 | 【不接受訂購】 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
第 一部分 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 這是一本關于Linux命令行與shell腳本編程的系統性教程,主要包括四大部分 :Linux命令行、shell腳本編程基礎、高級shell腳本編程,以及創建和管理實用的腳本。本書這一版針對Linux系統的新特性進行了更新,不僅涵蓋了詳盡的動手教程和現實世界中的實用信息,還提供了與所學內容相關的參考信息和背景資料。通過本書的學習,你能輕松寫出自己的shell腳本。
本書適合Linux系統管理員及相關開發人員閱讀。 |