| | | bash shell腳本編程經典實例 第2版 | 該商品所屬分類:圖書 -> 科技 | 【市場價】 | 905-1312元 | 【優惠價】 | 566-820元 | 【作者】 | 卡爾·阿爾賓JP·沃森 | 【出版社】 | 人民郵電出版社 | 【ISBN】 | 9787115553782 | 【折扣說明】 | 一次購物滿999元台幣免運費+贈品 一次購物滿2000元台幣95折+免運費+贈品 一次購物滿3000元台幣92折+免運費+贈品 一次購物滿4000元台幣88折+免運費+贈品
| 【本期贈品】 | ①優質無紡布環保袋,做工棒!②品牌簽字筆 ③品牌手帕紙巾
| |
版本 | 正版全新電子版PDF檔 | 您已选择: | 正版全新 | 溫馨提示:如果有多種選項,請先選擇再點擊加入購物車。*. 電子圖書價格是0.69折,例如了得網價格是100元,電子書pdf的價格則是69元。 *. 購買電子書不支持貨到付款,購買時選擇atm或者超商、PayPal付款。付款後1-24小時內通過郵件傳輸給您。 *. 如果收到的電子書不滿意,可以聯絡我們退款。謝謝。 | | | | 內容介紹 | |
![](/c3/10026557088905.jpg)
出版社:人民郵電出版社 ISBN:9787115553782 商品編碼:10026557088905 品牌:文軒 出版時間:2021-01-01 代碼:159 作者:卡爾·阿爾賓,JP·沃森
"![](http://img14.360buyimg.com/cms/jfs/t1/203358/9/26405/134589/62f4a34cEcdefae53/84e082ed3b03dbc0.jpg) 作 者:(美)卡爾·阿爾賓,(美)JP·沃森 著 門佳 譯 定 價:159 出 版 社:人民郵電出版社 出版日期:2021年01月01日 頁 數:580 裝 幀:平裝 ISBN:9787115553782 對於繫統管理員、程序員和最終用戶而言,shell命令或精心設計的shell腳本不僅能時間和精力,還可以提升各種常見任務的一致性和可重復性。作為一款流行的Unix shell,bash讓你能夠利用和自定義Unix或Linux繫統的任意功能。本書將全面講述bash,內容適用於所有Unix和Linux用戶,無論新人還是老手(包括熟練的Windows用戶和管理員)。書中提供了300多個bash實例,每個實例均包含一個或多個示例腳本,能夠幫你解決各種各樣的問題。你將學到如何處理輸入/輸出、文件等 ●前言 xv 第1章 bash入門 1 1.1 為什麼是bash 2 1.2 bash shell 3 1.3 提示符揭秘 3 1.4 顯示當前位置 4 1.5 查找並運行命令 5 1.6 獲取文件的相關信息 7 1.7 顯示當前目錄下的所有隱藏(點號)文件 9 1.8 使用shell引用 12 1.9 使用或替換內建命令與外部命令 13 1.10 確定是否處於交互模式 15 1.11 將bash安裝為默認shell 15 1.12 持續更新bash 17 1.13 獲取Linux版的bash 18 1.14 獲取xBSD版的bash 19 1.15 獲取macOS版的bash 20 1.16 獲取Unix版的bash 20 1.17 獲取Windows版的bash 22 1.18 不獲取bash的情況下使用bash 24 1.19 更多的bash文檔 25 第2章 標準輸出 28 2.1 輸出到終端/終端窗口 29 2.2 保留輸出中的空白字符 30 2.3 在輸出中加入更多格式控制 31 2.4 消除輸出中的換行符 32 2.5 保存命令輸出 33 2.6 將輸出保存到其他文件 34 2.7 保存ls命令的輸出 34 2.8 將輸出和錯誤消息發送到不同文件 36 2.9 將輸出和錯誤消息發送到同一文件 36 2.10 追加輸出 38 2.11 僅使用文件的起始或結尾部分 38 2.12 跳過文件標題 39 2.13 丟棄輸出 40 2.14 保存或分組多個命令的輸出 40 2.15 將輸出作為輸入,連接兩個程序 42 2.16 將輸出作為輸入,同時保留其副本 43 2.17 以輸出為參數連接兩個程序 44 2.18 在一行中多次重定向 46 2.19 重定向不起作用時保存輸出 47 2.20 交換STDERR和STDOUT 49 2.21 避免意外覆蓋文件 50 2.22 有意覆蓋文件 51 第3章 標準輸入 53 3.1 從文件獲取輸入 53 3.2 將數據與腳本存放在一起 54 3.3 避免here-document中的怪異行為 55 3.4 縮進here-document 57 3.5 獲取用戶輸入 58 3.6 獲取yes或no 59 3.7 選擇選項列表 61 3.8 提示輸入密碼 62 第4章 執行命令 64 4.1 運行程序 64 4.2 依次執行多個命令 66 4.3 同時執行多個命令 67 4.4 了解命令是否成功運行 68 4.5 僅當一個命令運行成功後纔執行下一個命令 70 4.6 減少if語句的數量 71 4.7 無人值守下運行耗時作業 72 4.8 出現故障時顯示錯誤消息 73 4.9 執行變量中的命令 74 4.10 執行目錄中的所有腳本 75 第5章 腳本編程基礎:shell變量 76 5.1 記錄腳本 77 5.2 在shell腳本中嵌入文檔 78 5.3 提高腳本可讀性 80 5.4 將變量名與周圍的文本分開 82 5.5 導出變量 82 5.6 查看所有的變量值 84 5.7 在shell腳本中使用參數 85 5.8 遍歷傳入腳本的參數 86 5.9 處理包含空格的參數 87 5.10 處理包含空格的參數列表 89 5.11 統計參數數量 91 5.12 丟棄參數 92 5.13 獲取默認值 94 5.14 設置默認值 94 5.15 使用空值作為有效的默認值 95 5.16 不隻使用字符串常量作為默認值 96 5.17 對不存在的參數輸出錯誤消息 97 5.18 修改部分字符串 99 5.19 獲得某個數的絕對值 101 5.20 用bash實現basename 102 5.21 用bash實現dirname 103 5.22 選取CSV的替換值 103 5.23 使用數組變量 104 5.24 轉換大小寫 105 5.25 轉換為駝峰命名法 106 第6章 shell邏輯與算術 107 6.1 在shell腳本中執行算術操作 107 6.2 條件分支 109 6.3 測試文件特性 113 6.4 測試多個特性 115 6.5 測試字符串特性 116 6.6 測試等量關繫 117 6.7 用模式匹配進行測試 119 6.8 用正則表達式測試 120 6.9 用重定向改變腳本行為 122 6.10 循環一段時間 123 6.11 在循環中使用read 125 6.12 循環若干次 127 6.13 在循環中使用浮點值 128 6.14 多路分支 128 6.15 解析命令行參數 130 6.16 創建簡單的菜單 133 6.17 修改簡單菜單的提示符 134 6.18 創建簡單的RPN計算器 136 6.19 創建命令行計算器 138 第7章 中級shell工具 140 7.1 在文件中查找字符串 141 7.2 隻顯示包含搜索結果的文件名 142 7.3 了解搜索是否成功 143 7.4 不區分大小寫搜索 144 7.5 在管道中進行搜索 145 7.6 縮減搜索結果 146 7.7 搜索更復雜的模式 147 7.8 搜索SSN 148 7.9 搜索壓縮文件 149 7.10 保留部分輸出 150 7.11 僅保留部分輸入行 151 7.12 顛倒每行的單詞 152 7.13 彙總數字列表 153 7.14 用awk統計字符串出現次數 154 7.15 用bash統計字符串出現次數 156 7.16 用便捷的直方圖展示數據 157 7.17 用bash輕松實現直方圖 159 7.18 顯示匹配短語之後的文本段落 160 第8章 中級shell工具(續) 162 8.1 輸出排序 162 8.2 數字排序 163 8.3 IP 地址排序 164 8.4 提取部分輸出 167 8.5 刪除重復行 168 8.6 壓縮文件 169 8.7 解壓文件 171 8.8 檢查tar歸檔文件中不重復的目錄 172 8.9 轉換字符 173 8.10 將大寫字母轉換為小寫字母 173 8.11 將DOS文件轉換為Linux格式 174 8.12 刪除智能引號 175 8.13 統計文件的行數、單詞數或字符數 176 8.14 重新編排段落 177 8.15 你不知道的less 178 第9章 查找文件:find、locate、slocate 180 9.1 查找所有的MP3文件 180 9.2 處理文件名中的怪異字符 182 9.3 提升已找到文件的處理速度 183 9.4 跟隨符號鏈接查找文件 183 9.5 查找文件時不區分大小寫 184 9.6 按日期查找文件 185 9.7 按類型查找文件 185 9.8 按大小查找文件 186 9.9 按內容查找文件 187 9.10 快速查找現有文件及其內容 188 9.11 在可能的位置上查找文件 189 第10章 腳本編程的附加特性 193 10.1 腳本“守護進程化” 193 10.2 代碼重用 194 10.3 在腳本中使用配置文件 196 10.4 定義函數 197 10.5 使用函數:參數和返回值 198 10.6 中斷陷阱 200 10.7 用別名重新定義命令 204 10.8 避開別名和函數 206 10.9 計算已過去的時間 207 10.10 編寫包裝器 209 第11章 處理日期和時間 214 11.1 格式化日期顯示 214 11.2 提供默認日期 216 11.3 自動生成日期範圍 217 11.4 將日期和時間轉秒 220 11.5秒轉換為日期和時間 221 11.6 用Perl獲得昨天或明天的日期 222 11.7 日期與時間運算 222 11.8 處理時區、夏令時和閏年 224 11.9 用date和cron在第N天運行腳本 225 11.10 輸出帶有日期的日志 226 第12章 幫助最終用戶完成任務的shell腳本 228 12.1 輸出連字符 228 12.2 瀏覽相冊 230 12.3 填裝MP3播放器 235 12.4 CD 239 12.5 比較文檔 241 第13章 與解析相關的任務 245 13.1 解析shell腳本參數 245 13.2 解析參數時使用自定義錯誤消息 248 13.3 解析HTML 250 13.4 將輸出解析到數組 251 13.5 用函數調用解析輸出 252 13.6 用read語句解析文本 254 13.7 用read將輸入解析至數組 255 13.8 讀取整個文件 255 13.9 正確書寫復數形式 257 13.10 一次提取一個字符 258 13.11 清理svn源代碼樹 259 13.12 用MySQL設置數據庫 260 13.13 提取數據中的特定字段 261 13.14 更新數據文件中的特定字段 264 13.15 修剪空白字符 269 13.16 壓縮空白字符 269 13.17 處理固定長度記錄 271 13.18 處理沒有換行的文件 273 13.19 將數據文件轉換為CSV 275 13.20 解析CSV數據文件 276 第14章 編寫安全的shell腳本 277 14.1 避開常見的安全問題 278 14.2 避免解釋器欺騙 279 14.3 設置安全的$PATH 280 14.4 清除所有的別名 282 14.5 清除命令散列 283 14.6 防止核心轉儲 283 14.7 設置安全的$IFS 284 14.8 設置安全的umask 285 14.9 在$PATH中查找人皆可寫的目錄 286 14.10 將當前目錄加入$PATH 288 14.11 使用安全的臨時文件 289 14.12 驗證輸入 293 14.13 設置權限 294 14.14 密碼被洩露到進程列表 296 14.15 編寫setuid或setgid腳本 297 14.16 訪客 298 14.17 使用chroot囚牢 300 14.18 以非root用戶身份運行 301 14.19 更安全地使用sudo 301 14.20 在腳本中使用密碼 303 14.21 使用無密碼的SSH 304 14.22 SSH命令 311 14.23 斷開非活躍會話 314 第15章 高級腳本編程 315 15.1 以可移植的方式查找bash 316 15.2 設置兼容 IX工具的$PATH 317 15.3 開發可移植的shell腳本 318 15.4 用虛擬機測試腳本 320 15.5 使用可移植的循環 321 15.6 使用可移植的echo 323 15.7 僅在必要時分割輸出 325 15.8 以十六進制形式查看輸出 327 15.9 使用bash的網絡重定向 328 15.10 查找自己的IP地址 329 15.11 從另一臺機器獲取輸入 333 15.12 在腳本運行期間重定向輸出 335 15.13 解決“Argument list too long”錯誤 335 15.14 向syslog記錄腳本日志 337 15.15 正確地使用logger 338 15.16 在腳本中發送電子郵件 339 15.17 用階段自動化進程 343 15.18 一心二用 345 15.19 在多個主機上執行SSH命令 347 第16章 bash的配置與自定義 349 16.1 bash啟動選項 349 16.2 自定義提示符 350 16.3 在程序運行前出現的提示符 357 16.4 較為修改$PATH 359 16.5 臨時修改$PATH 360 16.6 設置$CDPATH 364 16.7 當找不到命令時 366 16.8 縮短或修改命令名稱 367 16.9 調整shell行為及環境 368 16.10 用.inputrc調整readline的行為 369 16.11 通過添加~/bin來存放個人工具 370 16.12 使用輔助提示符:$PS2、$PS3、$PS4 371 16.13 在會話間同步shell歷史記錄 373 16.14 設置shell的歷史選項 374 16.15 創建更好的cd命令 376 16.16 一次性創建並切換到新目錄 378 16.17 直達底部 379 16.18 用可裝載的內建命令為bash添加新特性 380 16.19 改善可編程補全 385 16.20 正確使用初始化文件 389 16.21 創建自包含的可移植rc文件 392 16.22 自定義配置入門 394 第17章 內務及管理任務 407 17.1 批量重命名文件 407 17.2 在Linux中使用GUN Texinfo和info 409 17.3 批量解壓ZIP文件 410 17.4 用screen恢復斷開的會話 411 17.5 共享單個bash會話 413 17.6 記錄整個會話或批量作業 414 17.7 注銷時清除屏幕 415 17.8 獲取用於數據恢復數據 416 17.9 為多個文件創建索引 417 17.10 使用diff和patch 418 17.11 統計文件間存在多少差異 421 17.12 刪除或重命名名稱中包含特殊字符的文件 423 17.13 將數據追加到文件開頭 424 17.14 就地編輯文件 427 17.15 將sudo應用於一組命令 429 17.16 查找僅出現在一個文件中的行 431 17.17 保留最近的N個對像 433 17.18 寫入循環日志 436 17.19 循環備份 438 17.20 搜索不包含grep進程自身在內的ps輸出 440 17.21 確定某個進程是否正在運行 441 17.22 為輸出添加前綴或後綴 443 17.23 對行進行編號 444 17.24 生成序列 446 17.25 模擬DOS的pause命令 448 17.26 為數值添加逗號 449 第18章 寫得少,干得快 451 18.1 在任意目錄之間快速移動 451 18.2 重復上一個命令 453 18.3 執行類似命令 454 18.4 快速替換 455 18.5 參數重用 456 18.6 名稱補全 457 18.7 安全第一 458 18.8 修改多個命令 459 第19章 竅門與陷阱:新手常見錯誤 461 19.1 忘記設置可執行權限 461 19.2 修復“No such file or directory”錯誤 462 19.3 忘記當前目錄不在$PATH中 463 19.4 將腳本命名為test 465 19.5 試圖修改已導出的變量 465 19.6 賦值時忘記加引號 467 19.7 忘記模式匹配的結果是按字母順序排列的 468 19.8 忘記管道會產生子shell 469 19.9 使終端恢復正常 471 19.10 用空變量刪除文件 472 19.11 printf的怪異行為 473 19.12 測試bash腳本語法 475 19.13 調試腳本 475 19.14 使用函數時避免出現“command not found”錯誤 477 19.15 混淆了shell通配符和正則表達式 478 附錄A 參考 481 附錄B bash自帶的示例 513 附錄C 命令行處理 523 附錄D 修訂控制 528 附錄E 從源代碼構建bash 552 關於作者 557 關於封面 557 bash是Linux下常用的shell。用戶可以通過bash,以命令的形式操控Linux繫統。作為一本bash用法速查手冊,本書主要內容包括:標準輸出和輸入以及執行命令;shell變量、shell邏輯和算術;中級shell工具和高級腳本;使用find、locate和slocate查找文件;處理日期和時間;編寫安全的shell腳本;配置和自定義bash。第2版更新至Git,每個實例均包含一個或多個示例腳本,並討論了解決方案的工作原理。本書適合所有Unix和Linux用戶閱讀。 ![](https://img10.360buyimg.com/imgzone/jfs/t1/147514/7/5440/73116/5f34a3beE3ba58783/f5b2391383f5625c.jpg)
" | | | | | |