| | | bash shell腳本編程經典實例(第2版)(圖靈出品) | 該商品所屬分類:圖書 -> 人民郵電出版社 | 【市場價】 | 1523-2208元 | 【優惠價】 | 952-1380元 | 【作者】 | 卡爾·阿爾賓JP·沃森門佳 | 【出版社】 | 人民郵電出版社 | 【ISBN】 | 9787115553782 | 【折扣說明】 | 一次購物滿999元台幣免運費+贈品 一次購物滿2000元台幣95折+免運費+贈品 一次購物滿3000元台幣92折+免運費+贈品 一次購物滿4000元台幣88折+免運費+贈品
| 【本期贈品】 | ①優質無紡布環保袋,做工棒!②品牌簽字筆 ③品牌手帕紙巾
| |
版本 | 正版全新電子版PDF檔 | 您已选择: | 正版全新 | 溫馨提示:如果有多種選項,請先選擇再點擊加入購物車。*. 電子圖書價格是0.69折,例如了得網價格是100元,電子書pdf的價格則是69元。 *. 購買電子書不支持貨到付款,購買時選擇atm或者超商、PayPal付款。付款後1-24小時內通過郵件傳輸給您。 *. 如果收到的電子書不滿意,可以聯絡我們退款。謝謝。 | | | | 內容介紹 | |
![](/c49/99/12794671.jpg)
出版社:人民郵電出版社 ISBN:9787115553782 版次:01 商品編碼:12794671 品牌:iTuring 包裝:平裝 開本:16開 出版時間:2021-01-01 用紙:膠版紙 頁數:557 正文語種:中文 作者:卡爾·阿爾賓,JP·沃森,門佳
" 編輯推薦 對於繫統管理員、程序員和最終用戶而言,shell命令或精心設計的shell腳本不僅能時間和精力,還可以提升各種常見任務的一致性和可重復性。作為一款流行的Unix shell,bash讓你能夠利用和自定義Unix或Linux繫統的任意功能。
本書將全面講述bash,內容適用於所有Unix和Linux用戶,無論新人還是老手(包括熟練的Windows用戶和管理員)。 書中提供了300多個bash實例,每個實例均包含一個或多個示例腳本,能夠幫你解決各種各樣的問題。 你將學到如何處理輸入/輸出、文件操作、程序執行、管理任務以及許多其他挑戰。
本書實例包括: 標準輸出和輸入以及執行命令 shell變量、shell邏輯和算術 中級shell工具和高級腳本編寫 使用find、locate和slocate查找文件 處理日期和時間 為各種最終用戶任務創建shell腳本 處理涉及解析操作的任務 編寫安全的shell腳本 配置和自定義bash 內容簡介 bash是Linux下常用的shell。用戶可以通過bash,以命令的形式操控Linux繫統。作為一本bash用法速查手冊,本書主要內容包括:標準輸出和輸入以及執行命令;shell變量、shell邏輯和算術;中級shell工具和高級腳本;使用find、locate和slocate查找文件;處理日期和時間;編寫安全的shell腳本;配置和自定義bash。第2版更新至Git,每個實例均包含一個或多個示例腳本,並討論了解決方案的工作原理。 作者簡介 卡爾·阿爾賓(Carl Albing),計算機科學博士,美國海軍學院計算機科學繫客座教授,曾就職於各種規模的公司,擁有豐富的軟件經驗。
JP·沃森(JP Vossen),20世紀80年代初開始與計算機打交道,90年代末開始專注於信息安全工作,曾供稿於《信息安全雜志》和SearchSecurity網站等媒體。
【譯者介紹】 門佳,GNU/Linux深度用戶,喜歡溯本求源,挖掘技術背後的來龍去脈,對程序語言設計理論、編譯技術、操作繫統設計與實現、Web開發等領域均有涉獵,譯著包括《TCP Sockets編程》《精通JavaScript(第2版)》《Linux命令行與shell腳本編程大全(第3版)》《Linux Shell腳本攻略》《shell腳本實戰(第2版)》等。 目錄 前言 xv 第1 章 bash入門1 1.1為什麼是bash2 1.2bash shell3 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安裝為默認shell15 1.12持續更新bash17 1.13獲取Linux版的bash18 1.14獲取xBSD版的bash19 1.15獲取macOS版的bash20 1.16獲取Unix版的bash20 1.17獲取Windows版的bash22 1.18不獲取bash的情況下使用bash24 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和STDOUT49 2.21避免意外覆蓋文件50 2.22有意覆蓋文件51 第3 章 標準輸入53 3.1從文件獲取輸入53 3.2將數據與腳本存放在一起54 3.3避免here-document中的怪異行為55 3.4縮進here-document57 3.5獲取用戶輸入58 3.6獲取yes或no59 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實現basename102 5.21用bash實現dirname103 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在循環中使用read125 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搜索SSN148 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.3IP 地址排序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你不知道的less178 第9 章 查找文件:find、locate、slocate180 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刻錄CD239 12.5比較文檔241 第13 章 與解析相關的任務245 13.1解析shell腳本參數245 13.2解析參數時使用自定義錯誤消息248 13.3解析HTML250 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將數據文件轉換為CSV275 13.20解析CSV數據文件276 第14 章 編寫安全的shell腳本277 14.1避開常見的安全問題278 14.2避免解釋器欺騙279 14.3設置安全的$PATH280 14.4清除所有的別名282 14.5清除命令散列283 14.6防止核心轉儲283 14.7設置安全的$IFS284 14.8設置安全的umask285 14.9在$PATH中查找人皆可寫的目錄286 14.10將當前目錄加入$PATH288 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更安全地使用sudo301 14.20在腳本中使用密碼303 14.21使用無密碼的SSH304 14.22限制SSH命令311 14.23斷開非活躍會話314 第15 章 高級腳本編程315 15.1以可移植的方式查找bash316 15.2設置兼容POSIX工具的$PATH317 15.3開發可移植的shell腳本318 15.4用虛擬機測試腳本320 15.5使用可移植的循環321 15.6使用可移植的echo323 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正確地使用logger338 15.16在腳本中發送電子郵件339 15.17用階段自動化進程343 15.18一心二用345 15.19在多個主機上執行SSH命令347 第16 章 bash的配置與自定義349 16.1bash啟動選項349 16.2自定義提示符350 16.3在程序運行前出現的提示符357 16.4永久修改$PATH359 16.5臨時修改$PATH360 16.6設置$CDPATH364 16.7當找不到命令時366 16.8縮短或修改命令名稱367 16.9調整shell行為及環境368 16.10用.inputrc調整readline的行為369 16.11通過添加~/bin來存放個人工具370 16.12使用輔助提示符:$PS2、$PS3、$PS4371 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和info409 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和patch418 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將腳本命名為test465 19.5試圖修改已導出的變量465 19.6賦值時忘記加引號467 19.7忘記模式匹配的結果是按字母順序排列的468 19.8忘記管道會產生子shell469 19.9使終端恢復正常471 19.10用空變量刪除文件472 19.11printf的怪異行為473 19.12測試bash腳本語法475 19.13調試腳本475 19.14使用函數時避免出現“command not found”錯誤477 19.15混淆了shell通配符和正則表達式478 附錄A參考481 附錄Bbash自帶的示例513 附錄C命令行處理523 附錄D修訂控制528 附錄E從源代碼構建bash552 關於作者557 關於封面557 查看全部↓
" | | | | | |