91精品国产综合久久四虎久久_国产成人午夜高潮毛片_99er视频精品免费观看_2020亚洲熟女在线观看_日本女优人体写真_国内黄色毛片_年轻的老师中文版在线_丰满女邻居做爰_久久久久久精品成人免费图片

 
bash shell腳本編程經(jīng)典實例(第2版)
bash shell腳本編程經(jīng)典實例(第2版)
Carl Albing, JP Vossen
門佳 譯
出版時間:2021年01月
頁數(shù):557
“本書包含豐富的提示和竅門。讀者可以從中發(fā)現(xiàn)各種新鮮的實用技巧,這些技巧不僅能揭示shell的威力,還能幫助他們完成手頭工作?!?br /> ——Chet Ramey,GNU Bash和Readline的維護人
對于系統(tǒng)管理員、程序員和最終用戶而言,shell命令或精心設(shè)計的shell腳本不僅能節(jié)省時間和精力,還可以提升各種常見任務(wù)的一致性和可重復(fù)性。作為一款流行的Unix shell,bash讓你能夠利用和自定義Unix或 Linux系統(tǒng)的任意功能。
本書將全面講述bash,內(nèi)容適用于所有Unix和Linux用戶,無論新人還是 老手(包括熟練的Windows用戶和管理員)。書中提供了300多個bash實例,每個實例均包含一個或多個示例腳本,能夠幫你解決各種各樣的問題。你將學(xué)到如何處理輸入/輸出、文件操作、程序執(zhí)行、管理任務(wù)以及許多其他挑戰(zhàn)。
本書實例包括:
● 標準輸出和輸入以及執(zhí)行命令
● shell變量、shell邏輯和算術(shù)
● 中級shell工具和高級腳本編寫
● 使用find、locate和slocate查找文件
● 處理日期和時間
● 為各種最終用戶任務(wù)創(chuàng)建 腳本 shell
● 處理涉及解析操作的任務(wù)
● 編寫安全的shell腳本
● 配置和自定義bash
  1. 前言
  2. 第1章 bash入門 
  3. 1.1 為什么是bash 
  4. 1.2 bash shell 
  5. 1.3 提示符揭秘 
  6. 1.4 顯示D前位置 
  7. 1.5 查找并運行命令 
  8. 1.6 獲取文件的相關(guān)信息
  9. 1.7 顯示D前目錄下的所有隱藏(點號)文件 
  10. 1.8 使用shell引用 
  11. 1.9 使用或替換內(nèi)建命令與外部命令 
  12. 1.10 確定是否處于交互模式 
  13. 1.11 將bash安裝為默認shell 
  14. 1.12 持續(xù)更新bash 
  15. 1.13 獲取Linux版的bash 
  16. 1.14 獲取xBSD版的bash 
  17. 1.15 獲取macOS版的bash 
  18. 1.16 獲取Unix版的bash 
  19. 1.17 獲取Windows版的bash 
  20. 1.18 不獲取bash的情況下使用bash 
  21. 1.19 更多的bash文檔 
  22. 第2章 標準輸出 
  23. 2.1 輸出到終端/終端窗口 
  24. 2.2 保留輸出中的空白字符 
  25. 2.3 在輸出中加入更多格式控制 
  26. 2.4 消除輸出中的換行符 
  27. 2.5 保存命令輸出 
  28. 2.6 將輸出保存到其他文件 
  29. 2.7 保存ls命令的輸出 
  30. 2.8 將輸出和錯誤消息發(fā)送到不同文件 
  31. 2.9 將輸出和錯誤消息發(fā)送到同一文件 
  32. 2.10 追加輸出 
  33. 2.11 僅使用文件的起始或結(jié)尾部分 
  34. 2.12 跳過文件標題 
  35. 2.13 丟棄輸出 
  36. 2.14 保存或分組多個命令的輸出 
  37. 2.15 將輸出作為輸入,連接兩個程序 
  38. 2.16 將輸出作為輸入,同時保留其副本 
  39. 2.17 以輸出為參數(shù)連接兩個程序 
  40. 2.18 在一行中多次重定向 
  41. 2.19 重定向不起作用時保存輸出 
  42. 2.20 交換STDERR和STDOUT 
  43. 2.21 避免意外覆蓋文件 
  44. 2.22 有意覆蓋文件 
  45. 第3章 標準輸入 
  46. 3.1 從文件獲取輸入 
  47. 3.2 將數(shù)據(jù)與腳本存放在一起 
  48. 3.3 避免here-document中的怪異行為 
  49. 3.4 縮進here-document 
  50. 3.5 獲取用戶輸入 
  51. 3.6 獲取yes或D 
  52. 3.7 選擇選項列表 
  53. 3.8 提示輸入密碼 
  54. 第4章 執(zhí)行命令 
  55. 4.1 運行程序 
  56. 4.2 依次執(zhí)行多個命令 
  57. 4.3 同時執(zhí)行多個命令 
  58. 4.4 了解命令是否成功運行 
  59. 4.5 僅D一個命令運行成功后才執(zhí)行下一個命令 
  60. 4.6 減少if語句的數(shù)量 
  61. 4.7 無人值守下運行耗時作業(yè) 
  62. 4.8 出現(xiàn)故障時顯示錯誤消息 
  63. 4.9 執(zhí)行變量中的命令 
  64. 4.10 執(zhí)行目錄中的所有腳本 
  65. 第5章 腳本編程基礎(chǔ):shell變量 
  66. 5.1 記錄腳本 
  67. 5.2 在shell腳本中嵌入文檔 
  68. 5.3 提高腳本可讀性 
  69. 5.4 將變量名與周圍的文本分開 
  70. 5.5 導(dǎo)出變量 
  71. 5.6 查看所有的變量值 
  72. 5.7 在shell腳本中使用參數(shù) 
  73. 5.8 遍歷傳入腳本的參數(shù) 
  74. 5.9 處理包含空格的參數(shù) 
  75. 5.10 處理包含空格的參數(shù)列表 
  76. 5.11 統(tǒng)計參數(shù)數(shù)量 
  77. 5.12 丟棄參數(shù) 
  78. 5.13 獲取默認值 
  79. 5.14 設(shè)置默認值 
  80. 5.15 使用空值作為有效的默認值 
  81. 5.16 不只使用字符串常量作為默認值 
  82. 5.17 對不存在的參數(shù)輸出錯誤消息 
  83. 5.18 修改部分字符串 99
  84. 5.19 獲得某個數(shù)的JD值 101
  85. 5.20 用bash實現(xiàn)basename 102
  86. 5.21 用bash實現(xiàn)dirname 103
  87. 5.22 選取CSV的替換值 103
  88. 5.23 使用數(shù)組變量 104
  89. 5.24 轉(zhuǎn)換大小寫 105
  90. 5.25 轉(zhuǎn)換為駝峰命名法 106
  91. 第6章 shell邏輯與算術(shù) 107
  92. 6.1 在shell腳本中執(zhí)行算術(shù)操作 
  93. 6.2 條件分支 109
  94. 6.3 測試文件特性 
  95. 6.4 測試多個特性 
  96. 6.5 測試字符串特性 
  97. 6.6 測試等量關(guān)系 
  98. 6.7 用模式匹配進行測試 
  99. 6.8 用正則表達式測試 
  100. 6.9 用重定向改變腳本行為 
  101. 6.10 循環(huán)一段時間 
  102. 6.11 在循環(huán)中使用read 
  103. 6.12 循環(huán)若干次 
  104. 6.13 在循環(huán)中使用浮點值 
  105. 6.14 多路分支 
  106. 6.15 解析命令行參數(shù) 
  107. 6.16 創(chuàng)建簡單的菜單 
  108. 6.17 修改簡單菜單的提示符 
  109. 6.18 創(chuàng)建簡單的RPN計算器 
  110. 6.19 創(chuàng)建命令行計算器 
  111. 第7章 中級shell工具 
  112. 7.1 在文件中查找字符串 
  113. 7.2 只顯示包含搜索結(jié)果的文件名 
  114. 7.3 了解搜索是否成功 
  115. 7.4 不區(qū)分大小寫搜索 
  116. 7.5 在管道中進行搜索 
  117. 7.6 縮減搜索結(jié)果 
  118. 7.7 搜索更復(fù)雜的模式 
  119. 7.8 搜索SSN 
  120. 7.9 搜索壓縮文件 
  121. 7.10 保留部分輸出 
  122. 7.11 僅保留部分輸入行 
  123. 7.12 顛倒每行的單詞 
  124. 7.13 匯z數(shù)字列表 
  125. 7.14 用awk統(tǒng)計字符串出現(xiàn)次數(shù) 
  126. 7.15 用bash統(tǒng)計字符串出現(xiàn)次數(shù) 
  127. 7.16 用便捷的直方圖展示數(shù)據(jù) 
  128. 7.17 用bash輕松實現(xiàn)直方圖 
  129. 7.18 顯示匹配短語之后的文本段落 
  130. 第8章 中級shell工具(續(xù)) 
  131. 8.1 輸出排序 
  132. 8.2 數(shù)字排序 
  133. 8.3 IP地址排序 
  134. 8.4 提取部分輸出 
  135. 8.5 刪除重復(fù)行 
  136. 8.6 壓縮文件 
  137. 8.7 解壓文件 
  138. 8.8 檢查tar歸檔文件中不重復(fù)的目錄 
  139. 8.9 轉(zhuǎn)換字符 
  140. 8.10 將大寫字母轉(zhuǎn)換為小寫字母 
  141. 8.11 將DOS文件轉(zhuǎn)換為Linux格式 
  142. 8.12 刪除智能引號 
  143. 8.13 統(tǒng)計文件的行數(shù)、單詞數(shù)或字符數(shù) 
  144. 8.14 重新編排段落 
  145. 8.15 你不知道的less 
  146. 第9章 查找文件:find、locate、slocate 
  147. 9.1 查找所有的MP3文件 
  148. 9.2 處理文件名中的怪異字符 
  149. 9.3 提升已找到文件的處理速度 
  150. 9.4 跟隨符號鏈接查找文件 
  151. 9.5 查找文件時不區(qū)分大小寫 
  152. 9.6 按日期查找文件 
  153. 9.7 按類型查找文件 
  154. 9.8 按大小查找文件 
  155. 9.9 按內(nèi)容查找文件 
  156. 9.10 快速查找現(xiàn)有文件及其內(nèi)容 
  157. 9.11 在可能的位置上查找文件 
  158. 第10章 腳本編程的附加特性 
  159. 10.1 腳本“守護進程化” 
  160. 10.2 代碼重用 
  161. 10.3 在腳本中使用配置文件 
  162. 10.4 定義函數(shù) 
  163. 10.5 使用函數(shù):參數(shù)和返回值 
  164. 10.6 中斷陷阱 
  165. 10.7 用別名重新定義命令 
  166. 10.8 避開別名和函數(shù) 
  167. 10.9 計算已過去的時間 
  168. 10.10 編寫包裝器 
  169. 第11章 處理日期和時間 
  170. 11.1 格式化日期顯示 
  171. 11.2 提供默認日期 
  172. 11.3 自動生成日期范圍 
  173. 11.4 將日期和時間轉(zhuǎn)換為紀元秒 
  174. 11.5 將紀元秒轉(zhuǎn)換為日期和時間 
  175. 11.6 用Perl獲得昨天或明天的日期 
  176. 11.7 日期與時間運算 
  177. 11.8 處理時區(qū)、夏令時和閏年 
  178. 11.9 用date和cron在DN天運行腳本 
  179. 11.10 輸出帶有日期的日志 
  180. 第12章 幫助Z終用戶完成任務(wù)的shell腳本 
  181. 12.1 輸出連字符 
  182. 12.2 瀏覽相冊 
  183. 12.3 填裝MP3播放器 
  184. 12.4 刻錄CD 
  185. 12.5 比較文檔 
  186. 第13章 與解析相關(guān)的任務(wù) 
  187. 13.1 解析shell腳本參數(shù) 
  188. 13.2 解析參數(shù)時使用自定義錯誤消息 
  189. 13.3 解析HTML 
  190. 13.4 將輸出解析到數(shù)組 
  191. 13.5 用函數(shù)調(diào)用解析輸出 
  192. 13.6 用read語句解析文本 
  193. 13.7 用read將輸入解析至數(shù)組 
  194. 13.8 讀取整個文件 
  195. 13.9 正確書寫復(fù)數(shù)形式 
  196. 13.10 一次提取一個字符 
  197. 13.11 清理svn源代碼樹 
  198. 13.12 用MySQL設(shè)置數(shù)據(jù)庫 
  199. 13.13 提取數(shù)據(jù)中的特定字段 
  200. 13.14 更新數(shù)據(jù)文件中的特定字段 
  201. 13.15 修剪空白字符 
  202. 13.16 壓縮空白字符 
  203. 13.17 處理固定長度記錄 
  204. 13.18 處理沒有換行的文件 
  205. 13.19 將數(shù)據(jù)文件轉(zhuǎn)換為CSV 
  206. 13.20 解析CSV數(shù)據(jù)文件 
  207. 第14章 編寫安全的shell腳本 
  208. 14.1 避開常見的安全問題 
  209. 14.2 避免解釋器欺騙 
  210. 14.3 設(shè)置安全的$PATH 
  211. 14.4 清除所有的別名 
  212. 14.5 清除命令散列 
  213. 14.6 防止核心轉(zhuǎn)儲 
  214. 14.7 設(shè)置安全的$IFS 
  215. 14.8 設(shè)置安全的umask 
  216. 14.9 在$PATH中查找人皆可寫的目錄 
  217. 14.10 將D前目錄加入$PATH 
  218. 14.11 使用安全的臨時文件 
  219. 14.12 驗證輸入 
  220. 14.13 設(shè)置權(quán)限 
  221. 14.14 密碼被泄露到進程列表 
  222. 14.15 編寫setuid或setgid腳本 
  223. 14.16 限制訪客 
  224. 14.17 使用chroot囚牢 
  225. 14.18 以非root用戶身份運行 
  226. 14.19 更安全地使用sudo 
  227. 14.20 在腳本中使用密碼 
  228. 14.21 使用無密碼的SSH 
  229. 14.22 限制SSH命令 
  230. 14.23 斷開非活躍會話 
  231. 第15章 GJ腳本編程 
  232. 15.1 以可移植的方式查找bash 
  233. 15.2 設(shè)置兼容POSIX工具的$PATH 
  234. 15.3 開發(fā)可移植的shell腳本 
  235. 15.4 用虛擬機測試腳本 
  236. 15.5 使用可移植的循環(huán) 
  237. 15.6 使用可移植的echo 
  238. 15.7 僅在必要時分割輸出 
  239. 15.8 以十六進制形式查看輸出 
  240. 15.9 使用bash的網(wǎng)絡(luò)重定向 
  241. 15.10 查找自己的IP地址 
  242. 15.11 從另一臺機器獲取輸入 
  243. 15.12 在腳本運行期間重定向輸出 
  244. 15.13 解決“Argument list too long”錯誤 
  245. 15.14 向syslog記錄腳本日志 
  246. 15.15 正確地使用logger 
  247. 15.16 在腳本中發(fā)送電子郵件 
  248. 15.17 用階段自動化進程 
  249. 15.18 一心二用 
  250. 15.19 在多個主機上執(zhí)行SSH命令 
  251. 第16章 bash的配置與自定義 
  252. 16.1 bash啟動選項 
  253. 16.2 自定義提示符 
  254. 16.3 在程序運行前出現(xiàn)的提示符 
  255. 16.4 YJ修改$PATH 
  256. 16.5 臨時修改$PATH 
  257. 16.6 設(shè)置$CDPATH 
  258. 16.7 D找不到命令時 
  259. 16.8 縮短或修改命令名稱 
  260. 16.9 調(diào)整shell行為及環(huán)境 
  261. 16.10 用.inputrc調(diào)整readline的行為 
  262. 16.11 通過添加~/bin來存放個人工具 
  263. 16.12 使用輔助提示符:$PS2、$PS3、$PS4 
  264. 16.13 在會話間同步shell歷史記錄 
  265. 16.14 設(shè)置shell的歷史選項 
  266. 16.15 創(chuàng)建更好的cd命令 
  267. 16.16 一次性創(chuàng)建并切換到新目錄 
  268. 16.17 直達底部 
  269. 16.18 用可裝載的內(nèi)建命令為bash添加新特性 
  270. 16.19 改善可編程補全 
  271. 16.20 正確使用初始化文件 
  272. 16.21 創(chuàng)建自包含的可移植rc文件 
  273. 16.22 自定義配置入門 
  274. 第17章 內(nèi)務(wù)及管理任務(wù) 
  275. 17.1 批量重命名文件 
  276. 17.2 在Linux中使用GUN Texinfo和info 
  277. 17.3 批量解壓ZIP文件 
  278. 17.4 用screen恢復(fù)斷開的會話 
  279. 17.5 共享單個bash會話 
  280. 17.6 記錄整個會話或批量作業(yè) 
  281. 17.7 注銷時清除屏幕 
  282. 17.8 獲取用于數(shù)據(jù)恢復(fù)的文件元數(shù)據(jù) 
  283. 17.9 為多個文件創(chuàng)建索引 
  284. 17.10 使用diff和patch 
  285. 17.11 統(tǒng)計文件間存在多少差異 
  286. 17.12 刪除或重命名名稱中包含特殊字符的文件 
  287. 17.13 將數(shù)據(jù)追加到文件開頭 
  288. 17.14 J地編輯文件 
  289. 17.15 將sudo應(yīng)用于一組命令 
  290. 17.16 查找僅出現(xiàn)在一個文件中的行 
  291. 17.17 保留Z近的N個對象 
  292. 17.18 寫入循環(huán)日志 
  293. 17.19 循環(huán)備份 
  294. 17.20 搜索不包含grep進程自身在內(nèi)的ps輸出 
  295. 17.21 確定某個進程是否正在運行 
  296. 17.22 為輸出添加前綴或后綴 
  297. 17.23 對行進行編號 
  298. 17.24 生成序列 
  299. 17.25 模擬DOS的pause命令 
  300. 17.26 為數(shù)值添加逗號 
  301. 第18章 寫得少,干得快 
  302. 18.1 在任意目錄之間快速移動 
  303. 18.2 重復(fù)上一個命令 
  304. 18.3 執(zhí)行類似命令 
  305. 18.4 快速替換 
  306. 18.5 參數(shù)重用 
  307. 18.6 名稱補全 
  308. 18.7 安全DI一 
  309. 18.8 修改多個命令 
  310. 第19章 竅門與陷阱:新手常見錯誤 
  311. 19.1 忘記設(shè)置可執(zhí)行權(quán)限 
  312. 19.2 修復(fù)“No such file or directory”錯誤 
  313. 19.3 忘記D前目錄不在$PATH中 
  314. 19.4 將腳本命名為test 
  315. 19.5 試圖修改已導(dǎo)出的變量 
  316. 19.6 賦值時忘記加引號 
  317. 19.7 忘記模式匹配的結(jié)果是按字母順序排列的 
  318. 19.8 忘記管道會產(chǎn)生子shell 
  319. 19.9 使終端恢復(fù)正?!?
  320. 19.10 用空變量刪除文件 
  321. 19.11 printf的怪異行為 
  322. 19.12 測試bash腳本語法 
  323. 19.13 調(diào)試腳本 
  324. 19.14 使用函數(shù)時避免出現(xiàn)“command Dt found”錯誤 
  325. 19.15 混淆了shell通配符和正則表達式 
  326. 附錄A 參考 
  327. 附錄B bash自帶的示例 
  328. 附錄C 命令行處理 
  329. 附錄D 修訂控制 
  330. 附錄E 從源代碼構(gòu)建bash 
  331. 關(guān)于作者 
  332. 關(guān)于封面 
書名:bash shell腳本編程經(jīng)典實例(第2版)
作者:Carl Albing, JP Vossen
譯者:門佳 譯
國內(nèi)出版社:人民郵電出版社
出版時間:2021年01月
頁數(shù):557
書號:978-7-115-55378-2
原版書書名:bash Cookbook: Solutions and Examples for bash Users
原版書出版商:O'Reilly Media
Carl Albing
 
卡爾·阿爾賓(Carl Albing),計算機科學(xué)博士,美國海軍學(xué)院計算機科學(xué)系客座教授,曾就職于各種規(guī)模的公司,擁有豐富的軟件經(jīng)驗。
 
 
JP Vossen
 
JP·沃森(JP Vossen),20世紀80年代初開始與計算機打交道,90年代末開始專注于信息安全工作,曾供稿于《信息安 全雜志》和SearchSecurity網(wǎng)站等媒體。
 
 
購買選項
定價:159.00元
書號:978-7-115-55378-2
出版社:人民郵電出版社