-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

Linux Shell核心編程指南

( 簡體 字)
作者:丁明一類別:1. -> 作業系統 -> Linux
譯者:
出版社:電子工業出版社Linux Shell核心編程指南 3dWoo書號: 52022
詢問書籍請說出此書號!

缺書
NT售價: 445

出版日:11/1/2019
頁數:452
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787121375712
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

推薦序1
非常高興得知好友丁明一老師的新書《Linux Shell核心編程指南》即將出版。同時有幸第一時間拜讀了本書的電子版。本書所有內容皆源于丁老師的日常工作積累,作為一個有著十多年行業經驗的一線Linux專家級講師,丁老師將多年的教學與實踐經驗進行了總結,融會貫通,皆為精華。本書不單講解Shell的各種語法及功能,還包含大量的有趣案例,都是丁老師在教學中積累的,極具參考價值。
目前市場上的IT類書籍琳瑯滿目,但許多是翻譯國外現有書籍或趕工之作,在內容的專業性及文筆上或有欠缺,甚至讓人產生更多的困惑。這也是很多專家和老師推薦直接閱讀和學習外文原版書籍的原因,當然這對學員的科技英文閱讀能力是小小的挑戰。如今,有口皆碑的IT類書籍無不來自于作者在本專業的長期研究和思考,所幸《Linux Shell 核心編程指南》即屬于此類濃縮作者經驗的書籍,這也是我在此鄭重推薦這本書的原因。
如今的IT領域,掌握自動化運維技能真的相當重要。無論是基礎的Linux,還是云平臺,運維、開發和測試人員均以DevOps思想來指導和開展工作,各種自動化運維工具如Python、Perl、Ansible、Puppet等不斷涌現,但是Shell永遠是一切的基礎。Shell可以將Linux中的每條專注而高效的任務命令組合起來,從而完成復雜而美妙的事務。每位Linux工程師和學員皆明白腳本的重要性,尤其是在這個對自動化運維及運維開發工程師需求日益強烈的時代。Shell可以很簡單,更可以很高效。類似于所有編程語言,如想掌握Shell編程的精華,一是要非常熟悉Linux中的各種命令參數,二是要勤于實踐,三是要參考大師寫的代碼實例。初學者可在閱讀本書的基礎上,先模擬老師的案例代碼,然后通過記憶來復現,最后舉一反三,融會貫通。有經驗的工程師則可以從本書中直接產生共鳴,獲取靈感。
我相信,每位讀者皆可以從本書中覓得驚喜。希望大家都能由此愛上Shell編程,愛上Linux,愛上開源。最后,再次衷心感謝丁明一老師對開源事業的辛勤付出!

賀正剛
紅帽中國技術交付經理、高級認證考官



推薦序2
多年來,一直希望工作在IT運維或培訓第一線的技術人員能不斷總結經驗,將其寫成實用的小段子,甚至整理成書籍出版。今天很高興看到了丁老師的書稿。
計算機技術既有高深的理論,又有非常強的實踐性,很多相關操作必須自己動手做實驗,甚至要經過多次失敗才能夠達到自己理想的目標。本書所涉及的Shell是既古老又年輕的技術。從UNIX、Linux使用的初始階段,Shell就伴隨著用戶。而今在IT市場充斥著數字化轉型等新名詞的階段,Shell腳本仍然在諸多方面起到至關重要的作用。
本書的特點是深入淺出,注重實用和實例。作為開源培訓領域的資深講師,丁老師在循序漸進地講解技術方面有著多年的成功經驗。與學院派的風格不同,職業教育更注重每項技術、技能在實際工作場合中的用途,相信讀者在邊讀邊做的過程中會有自己的切身體會。

淮晉陽
紅帽中國培訓渠道客戶經理



推薦序3
很多剛開始學習Shell腳本編程的人,在學習了基本語法后,都會因為缺乏腳本案例而沒有編寫腳本的思路,很多人還沒有開始真正的編程就已經放棄,這也是目前市面上其他類似圖書的缺陷。而本書的亮點是既講解了Shell的語法格式,又能讓讀者通過大量案例腳本,驗證所學知識,構建編寫腳本的思路,難能可貴。

周華飛
達內集團Python人工智能教學研發總監



推薦序4
以云計算、大數據、物聯網和人工智能為代表的ICT技術在過去20年取得了巨大的進步,今天云化IT基礎設施已經成為很多企業的選擇,極大地降低了企業的創新門檻和業務成本。大數據分析技術也在科技、商業、制造領域得到廣泛應用,通過對海量數據的分析,我們對這個世界的運行方式有了更深入的理解。圖像識別、語音識別在很多場景下都得到了廣泛應用,各種智能機器人也從工業領域走向日常生活,讓我們的生活變得越來越智慧和便捷。
信息技術的發展,以及和行業的深入結合,讓行業的智能化水平不斷提升,生產效率快速提高,可以毫不夸張地說,ICT技術已經成為行業發展的動力引擎。
Linux是信息世界最重要的基礎技術之一,也是云計算的關鍵技術,掌握Linux這個工具對于進一步探索智能世界有著極為重要的作用和意義。丁老師的作品《Linux Shell核心編程指南》深入淺出地介紹了Linux Shell編程技術,通過許多精心設計的小游戲把枯燥的技術變得生動有趣,大量的實戰案例讓讀者獲得真實的生產經驗,相信這本書無論是對于初學者還是對于系統管理員和設計維護人員,都有極大的幫助。
信息技術和各行各業的結合僅僅是一個開始,未來幾十年的發展必然會更加精彩和激動人心,未來已來,快抓緊Linux這把鑰匙,踏上信息技術的高速列車,迎接未來的新時代吧!

陸海翔
華為云教育行業解決方案總經理


推薦序5
在當下的智能數據時代,無論是出于對效率的提升,還是出于對大規模系統的運維,自動化、智能化已是企業的必然選擇。Shell腳本也成為每一位工程師必備的技能之一。
這本書是作者繼《Linux運維之道》之后的又一力作,作者的著作我都詳細閱讀過,內容通俗易懂,實用性強,讓人受益匪淺。《Linux Shell核心編程指南》也不例外,本書從Shell腳本的編寫規范、基礎理論,再到對Shell腳本執行過程的深度剖析,由淺入深、層次清晰,讓讀者能夠知其因,曉其理;同時配備了大量適用于生產的實戰案例,可見作者心思縝密,為本書費盡心血。
很多人會說,學了Shell和Linux相關技術,不知道怎么將其應用到企業中。那么我想說,這是一本可以從中獲取答案的著作。初學者(新手)能從本書中系統地學習與掌握如何規范編寫和使用Shell腳本,以及如何通過現有的知識點結合實戰案例舉一反三,應用到生產環境中,少走彎路。對于老司機們,本書系統闡述了Shell的知識點與大量實戰案例,可以幫助你們獲取新的啟發與指導,讓你們更高效、更智能化、更自動化地完成自己的工作,這是一本難得的且值得經常翻閱的工具書。書中內容讀起來豐富精彩、層次有序、干貨十足,值得各個層次的工程師閱讀。

羅俊
亞馬遜(Amazon)云架構師
撰寫本書的起因
云計算時代的到來,為企業帶來了新的機遇與挑戰。有了云計算,所有的資源都可以按需購買,類似于訂火車票這樣的問題迎刃而解。但是,云計算也給我們帶來了新的難題,那就是如何更好地實現自動化運維、智能化運維!我們可以通過Shell、Python、Perl等腳本語言編寫自動化腳本實現這樣的目標。雖然Python在一些大的自動化項目中已經得到了充分的歷練,但是作為Linux自動化運維的主流編程語言,Shell腳本依然不可替代,大量的自動化運維腳本依然需要使用Shell編寫。而目前市面上常見的Shell腳本書籍,絕大多數還停留在講解語法格式、知識點這個層面,很多讀者讀完類似Shell腳本的圖書,發現語法格式學會了,但是在實際編寫腳本時卻又無從下手。編寫本書的出發點就是希望在簡單、直觀地展現語法格式的同時,通過大量、深入的應用案例,幫助讀者朋友們鍛煉實際編寫腳本的能力,培養思考問題、解決問題的能力。
Shell是一門非常容易上手且功能強大的編程語言,很多Linux系統維護者在工作中都會經常使用Shell腳本,但并不是每個人都擅長編寫Shell腳本,一旦掌握了編寫Shell腳本的規則與技巧,未來你的工作會更加輕松、更加高效!從1991年起至今,Linux已經快速成長為企業服務器產品的首選操作系統,越來越多的IT企業采用Linux作為其服務器端平臺操作系統,為客戶提供高性能、高可用的業務服務。本書在選擇操作系統發行版本時,綜合了各個發行版本的特點,最終選擇了CentOS作為本書的基礎系統平臺。CentOS是眾多Linux發行版本之一,但因為其源自RedHat框架,同時該版本完全開源,包括開放的軟件YUM源,可以為用戶帶來更加方便的升級方法。另外,目前國內很多企業對于CentOS發行版也非常熱衷,這也增加了本書的實用性。
本書結構
本書分為7章。
第1章主要講述編寫Shell腳本的基本格式及執行腳本的各種方式,如何通過腳本處理變量、使用正則過濾數據、在腳本中進行算術運算。
主要內容包括:
? 腳本的書寫格式、執行腳本的各種方式。
? 數據的輸入與輸出、如何正確使用變量。
? 數據過濾與正則表達式。
? 算術運算。

第2章主要討論如何讓腳本變得更加智能,通過判斷語句對各種業務可能出現的狀況做出分析與判斷,并根據判斷結果進行相應的處理。本章會通過大量的案例展示如何編寫一個更加健全、智能的自動化腳本。
主要內容包括:
? 如何在腳本中實現各種測試和判斷。
? if語句與case語句的基本語法格式。
? 模式匹配、通配符與擴展通配符。
? 編寫行業項目案例。

第3章主要講解如何使用循環避免人為執行工作中大量重復性的任務,大量且重復的機械式任務更適合讓機器來完成。當人們找到解決問題的思路和方法后,機器可以更加高效地按照人類的思路和方法處理數據,最終獲得我們需要的結果。
主要內容包括:
? for與while循環的基本語法格式。
? 解決猴子吃香蕉的問題。
? 神奇的循環嵌套。
? 猜隨機數字的游戲。
? until和select的基本語法格式。
? 循環的中斷與退出。
? 機選雙色球。

第4章主要講解數組、子Shell與函數。講解數組在實際業務中的應用案例,分析子Shell對腳本的影響,講解函數式編程思想,使用Shell腳本分析目前主流的排序算法。
主要內容包括:
? 斐波那契數列。
? 網站日志分析腳本。
? 啟動進程的若干種方式。
? 函數與變量的作用域。
? 多進程腳本。
? 文件描述符與命名管道。
? 排序算法。

第5章主要講解日常工作中編寫腳本的一些技巧與方法,利用Shell的眾多功能特性,可以讓我們更加輕松地編寫功能完善的腳本。本章還通過案例介紹了Shell腳本排錯的方法與技巧。
主要內容包括:
? Shell的擴展功能。
? Shell解釋器的屬性與初始化命令行終端。
? trap信號捕獲。
? 腳本排錯技巧。
? xargs與shift。
? 編寫行業項目案例。

第6章主要講解文本編輯器sed,腳本借助于sed可以實現非交互編輯文件。在云計算運維工作中,我們經常需要修改或查看配置文件,本章通過大量案例演示如何通過腳本非交互地修改各種服務的配置文件。我們通過sed還可以在海量的數據中過濾需要的數據,可以編寫網絡爬蟲腳本。
主要內容包括:
? sed語法格式。
? 自動配置FTP、DHCP、SSH等網絡服務。
? 自動化克隆與修改KVM虛擬機。
? 網絡爬蟲。
? 抽獎器。

第7章主要講解awk編程語言,我們可以通過awk在腳本中實現更加靈活的數據過濾功能,可以通過awk進行數據統計工作,使用awk編寫網絡爬蟲腳本。
主要內容包括:
? awk基本語法格式。
? 監控主機網絡連接狀態。
? 性能監控腳本。
? 數據庫監控腳本。
? 網絡爬蟲。
排版說明
關于本書中的排版,對于需要讀者輸入的命令,書中將使用等比例黑體加粗顯示;對于計算機命令的返回結果,書中將使用等比例斜體字顯示。當需要在文件中編寫腳本時,對于打開及修改文本文件中的內容,書中會把文件中的內容放置于方框中排版和書寫;對于需要讀者注意的地方,書中會給出明確的注意提示。
本書讀者
本書可以作為學習Shell編程的一本指南,主要針對具有Linux相關經驗的從業人員,本書可以指導我們編寫工作中需要的自動化運維腳本。另外,本書可以作為計算機培訓參考教材。
關于配置文件及代碼
本書部分主要的配置文件及代碼可以在GitHub下載。
勘誤
作者在編寫本書的過程中已經花了大量的時間對內容進行審核與校驗,但因為時間緊迫、精力有限,書中難免出現一些錯漏,敬請廣大專家和讀者批評、指正。
關于本書,您有任何意見或建議,都可以發送郵件或使用博客平臺與我交流。
致謝
由于本書是我利用業余時間編寫的,占用了大量本應該和家人在一起的歡樂時光,在此感謝家人對我的支持與勉勵,感謝我的兒子(子墨)和女兒(紫悅)給家庭帶來的無限歡樂。感謝我所有的同事對此項任務的全力配合與支持。感謝我的學生對本書的期待,是他們的無形支持促成了我編寫本書。感謝生活中所有給予我幫助的朋友,是他們的支持讓我不斷地進步與創新,不管是工作中還是生活中,好朋友都是我成功的堅實后盾。感謝電子工業出版社的董英編輯為本書的出版提供的大力支持。感謝趙瑞杰為本書的修訂提供的建議。

丁明一 .北京
內容簡介:

在IT產業鏈中開源的理念已成為絕大多數企業的共識。隨著開源技術的不斷進步與創新,云計算也逐步深入到了每個互聯網企業的內部。但是,隨之而來的便是管理成本的提高,大量的物理或者虛擬主機需要管理與維護,如何能夠更好地實現自動化運維,成為企業需要迫切解決的問題。行業中自動化運維的軟件很多,Puppet、Saltstack、Ansible等讓我們在云時代依然可以輕松管理和維護設備與業務,然而像Ansible這樣的自動化工具,雖然已經內置了很多模塊,但是在解決每個企業的個性化需求時還需要編寫自動化腳本。本書將圍繞Linux系統中最常用的Shell腳本語言,講解如何通過Shell編寫自動化、智能化腳本。全書以案例貫穿,對每個知識點都可以找到與之對應的案例,完成本書中的每個案例對于未來在企業中的實際應用極具意義。另外,在本書中配套有很多游戲案例,通過編寫游戲腳本可以極大地提升學習的樂趣。本書中的代碼可以下載,現在的商業環境是一個充滿競爭的環境,很多企業的業務量在不斷地增長,對服務質量的要求也越來越高。特別是互聯網企業為了滿足客戶更高的需求,提升用戶使用體驗,IT部門需要維護的設備數量從早期的幾臺,發展到了目前的數以萬計,如此龐大的服務器維護量,通常會讓IT管理人員頭疼不已。本書介紹的自動化運維內容可以讓我們快速掌握大規模批量處理的簡單方法。本書從基礎知識講到數據分析、數據過濾等高級應用,適合Linux運維人員、Shell編程愛好者閱讀,可作為Linux運維人員的一本優秀的案頭書。
目錄:

第1章 從這里開始,起飛了 1
1.1 腳本文件的書寫格式 1
1.2 腳本文件的各種執行方式 3
1.3 如何在腳本文件中實現數據的輸入與輸出 6
1.4 輸入與輸出的重定向 17
1.5 各種引號的正確使用姿勢 24
1.6 千變萬化的變量 28
1.7 數據過濾與正則表達式 33
1.8 各式各樣的算術運算 40
第2章 人工智能,很人工、很智能的腳本 46
2.1 智能化腳本的基礎之測試 46
2.2 字符串的判斷與比較 47
2.3 整數的判斷與比較 49
2.4 文件屬性的判斷與比較 51
2.5 探究[[]]和[]的區別 55
2.6 實戰案例:系統性能監控腳本 60
2.7 實戰案例:單分支if語句 62
2.8 實戰案例:雙分支if語句 68
2.9 實戰案例:如何監控HTTP服務狀態 72
2.10 實戰案例:多分支if語句 81
2.11 實戰案例:簡單、高效的case語句 87
2.12 實戰案例:編寫Nginx啟動腳本 92
2.13 揭秘模式匹配與通配符、擴展通配符 94
2.14 Shell小游戲之石頭剪刀布 100
第3章 根本停不下來的循環和中斷控制 104
3.1 玩轉for循環語句 104
3.2 實戰案例:猴子吃香蕉的問題 114
3.3 實戰案例:進化版HTTP狀態監控腳本 116
3.4 神奇的循環嵌套 117
3.5 非常重要的IFS 124
3.6 實戰案例:while循環 130
3.7 Shell小游戲之猜隨機數字 134
3.8 實戰案例:如何通過read命令讀取文件中的數據 136
3.9 until和select循環 140
3.10 中斷與退出控制 143
3.11 Shell小游戲之機選雙色球 149
第4章 請開始你的表演,數組、Subshell與函數 152
4.1 強悍的數組 152
4.2 實戰案例:斐波那契數列 157
4.3 實戰案例:網站日志分析腳本 159
4.4 常犯錯誤的SubShell 164
4.5 啟動進程的若干種方式 172
4.6 非常實用的函數功能 176
4.7 變量的作用域與return返回值 179
4.8 實戰案例:多進程的ping腳本 185
4.9 控制進程數量的核心技術——文件描述符和命名管道 187
4.10 實戰案例:一鍵源碼部署LNMP的腳本 197
4.11 遞歸函數 204
4.12 排序算法之冒泡排序 206
4.13 排序算法之快速排序 209
4.14 排序算法之插入排序 213
4.15 排序算法之計數排序 215
4.16 Shell小游戲之單詞拼接puzzle 218
第5章 一大波腳本技巧正向你走來 221
5.1 Shell八大擴展功能之花括號 221
5.2 Shell八大擴展功能之波浪號 223
5.3 Shell八大擴展功能之變量替換 224
5.4 Shell八大擴展功能之命令替換 234
5.5 Shell八大擴展功能之算術替換 234
5.6 Shell八大擴展功能之進程替換 236
5.7 Shell八大擴展功能之單詞切割 238
5.8 Shell八大擴展功能之路徑替換 239
5.9 實戰案例:生成隨機密碼的若干種方式 240
5.10 Shell解釋器的屬性與初始化命令行終端 247
5.11 trap信號捕獲 257
5.12 實戰案例:電子時鐘 259
5.13 Shell小游戲之抓住小老鼠算你贏 263
5.14 實戰案例:腳本排錯技巧 267
5.15 實戰案例:Shell版本的進度條功能 270
5.16 再談參數傳遞之xargs 276
5.17 使用shift移動位置參數 280
5.18 實戰案例:Nginx日志切割腳本 281
第6章 上古神兵利器sed 285
6.1 sed基本指令 285
6.2 sed高級指令 305
6.3 實戰案例:自動化配置vsftpd腳本 318
6.4 實戰案例:自動化配置DHCP腳本 325
6.5 實戰案例:自動化克隆KVM虛擬機腳本 329
6.6 實戰案例:通過libguestfs管理KVM虛擬機腳本 337
6.7 實戰案例:自動化配置SSH安全策略腳本 343
6.8 實戰案例:基于GRUB配置文件修改內核啟動參數腳本 345
6.9 實戰案例:網絡爬蟲腳本 348
6.10 Shell小游戲之點名抽獎器 354
第7章 不可思議的編程語言awk 356
7.1 awk基礎語法 356
7.2 awk條件判斷 374
7.3 awk數組與循環 379
7.4 awk函數 388
7.5 實戰案例:awk版網站日志分析 398
7.6 實戰案例:監控網絡連接狀態 403
7.7 實戰案例:獲取SSH暴力破解攻擊黑名單列表 412
7.8 實戰案例:性能監控腳本 418
7.9 實戰案例:數據庫監控腳本 420
7.10 實戰案例:awk版網絡爬蟲 429
序: