實(shí)戰(zhàn)Linux Shell編程與服務(wù)器管理

出版時(shí)間:2010-3  出版社:電子工業(yè)出版社  作者:臥龍小三  頁數(shù):533  譯者:梁昌泰  
Tag標(biāo)簽:無  

前言

  2002年,我曾在臺南縣對全縣中、小學(xué)校的網(wǎng)管講授Shell程序設(shè)計(jì)課程。當(dāng)時(shí)關(guān)于Shell的書籍和參考資料并不多(至今仍然如此),只好自編一份入門講義,供上課的學(xué)員參考。課程結(jié)束后,我把它放到網(wǎng)絡(luò)上,讓其他同學(xué)也能參考。沒想到,這份講義,由于寫得十分清楚、易懂,受到許多人的歡迎。這幾年來,陸續(xù)接到很多網(wǎng)絡(luò)上朋友的來信,希望我能進(jìn)一步把Shell程序設(shè)計(jì)的入門講義寫成更詳細(xì)的工具書,不過,由于個(gè)人工作上的關(guān)系,一直沒有實(shí)現(xiàn)。今年,機(jī)緣巧合,各方面的條件和時(shí)機(jī)恰好配合,所以,這本書就出現(xiàn)在這里啦!  許多人可能不了解,Shell其實(shí)是操作系統(tǒng)的重要組件之一。當(dāng)我們管理一臺主機(jī)時(shí),在系統(tǒng)核心和用戶之間的接口就是Shell,我們幾乎必須時(shí)刻面對它。Shell能解譯使用者輸入的命令并執(zhí)行命令。這些命令本身,通常用來訪問文件系統(tǒng)、建立行程、管理行程、操作輸出入設(shè)備、管理內(nèi)存,以及操作和網(wǎng)絡(luò)有關(guān)的應(yīng)用。因此,對Shell的操控能力,可以說大約就等于是主機(jī)的管理能力,所以,想要對主機(jī)管理有更深一層認(rèn)識的人,不可不熟悉Shell。  筆者常說:凡是可以交給計(jì)算機(jī)做的事,不要由人來做(因?yàn)?,人會累,?jì)算機(jī)不會累)。主機(jī)管理的上乘之道,就在于能夠充分實(shí)踐這句話。換言之,就是把工作予以自動化。那么,主機(jī)管理者如何把工作自動化呢?關(guān)鍵就在于他是否具備Shell程序設(shè)計(jì)的能力。我們可以說:對Shell的操控能力和Shell程序設(shè)計(jì)的能力,是每一位主機(jī)管理者應(yīng)具備的基本知能。唯有如此,這樣的管理人員才具備強(qiáng)大的生產(chǎn)力(有生產(chǎn)力的管理者,才能偷懶,有時(shí)間做自己喜歡做的事,比如:思考如何創(chuàng)新)?! ∵@幾年來,由于自由軟件運(yùn)動蓬勃發(fā)展,一般人接觸Linux/BSD等系統(tǒng)的機(jī)會多了,較幾年前來說,真是不可同日而語。但許多人在登錄主機(jī)之后,卻往往不知道要做什么,或如何運(yùn)用它來解決問題,實(shí)在是很可惜。本書希望能帶領(lǐng)讀者了解Shell的重要性,熟悉Shell的運(yùn)用方法,建立自動化管理主機(jī)的能力,迅速、輕松地解決問題。

內(nèi)容概要

  操作系統(tǒng)Shell編程一直是系統(tǒng)管理員必備高級技能之一。主機(jī)管理的上乘之道,就在于盡量讓計(jì)算機(jī)去完成所有的瑣事。要達(dá)到這個(gè)境界,管理者必須具備相當(dāng)程度的Shell操控能力與Shell程序設(shè)計(jì)能力,筆者擁有豐富的主機(jī)管理實(shí)務(wù)經(jīng)驗(yàn),以及多年的教學(xué)經(jīng)驗(yàn),能引領(lǐng)讀者輕松跨越Bash Shell程序設(shè)計(jì)的門檻,擺脫菜鳥勞碌的命運(yùn),達(dá)到輕松管理,主機(jī)不出包的境界?! ”緯暾wBash 3.x的各項(xiàng)功能,并介紹最新Bash 4.0的重要功能;由簡入繁、循序漸進(jìn),建立扎實(shí)的Bash Shell程序設(shè)計(jì)基礎(chǔ);各章提供許多范例,充分展示Bash Shell程序設(shè)計(jì)的技巧;帶領(lǐng)讀者學(xué)習(xí)如何設(shè)計(jì)自動化程序,輕松解決問題,增進(jìn)工作效率;還包含許多管理實(shí)務(wù)的技巧,可快速提升讀者主機(jī)管理的能力?! ”緯m合系統(tǒng)管理員、網(wǎng)絡(luò)管理員、架構(gòu)師及普通學(xué)習(xí)者參考學(xué)習(xí)?! ≈鳈C(jī)管理的上乘之道,就在于盡量讓電腦去完成所有的瑣事。要達(dá)到這個(gè)境界,管理者必須具備相當(dāng)程度的Shell操控能力與Shell程序設(shè)計(jì)能力,臥龍小三擁有豐富的主機(jī)管理實(shí)務(wù)經(jīng)驗(yàn),以及多年的教學(xué)經(jīng)驗(yàn),相信這本《實(shí)戰(zhàn)Linux Shell編程與服務(wù)器管理》必能引領(lǐng)讀者輕松跨越Bash Shell程序設(shè)計(jì)的門檻,擺脫菜鳥勞碌的命運(yùn),達(dá)到輕松管理,主機(jī)不出包的境界。  ■ 完整涵蓋Bash 3.x的各項(xiàng)功能,并介紹最新Bash 4.0的重要功能?!  ?由簡入繁、循序漸進(jìn),建立扎實(shí)的Bash Shell程序設(shè)計(jì)基礎(chǔ)?!  ?各章提供許多范例,充分展示Bash Shell程序設(shè)計(jì)的技巧。  ■ 帶領(lǐng)讀者學(xué)習(xí)如何設(shè)計(jì)自動化程序,輕松解決問題,增進(jìn)工作效率?!  ?還包含許多管理實(shí)務(wù)的技巧,可快速提升讀者主機(jī)管理的能力。

書籍目錄

Chapter 1 Shell簡介1.1 Shell是什么 21.2 Shell的歷史簡介 41.3 Bash Shell的功能 51.4 第一個(gè)Bash Shell程序:“哈啰!Bash Shell!” 61.5 第一個(gè)有用的Bash Shell 7Chapter 2 布署B(yǎng)ash Shell的環(huán)境2.1 在Linux平臺布署B(yǎng)ash Shell的環(huán)境 102.2 升級B2D的Bash版本 102.3 自行編譯最新版的Bash 112.4 切換使用新版的Bash Shell 13chsh的用法 132.5 在FreeBSD平臺布署B(yǎng)ash Shell的環(huán)境 152.6 在OpenBSD平臺布署B(yǎng)ash Shell的環(huán)境 162.7 在Windows平臺布署B(yǎng)ash Shell的環(huán)境 18Chapter 3 基礎(chǔ)概念介紹3.1 登錄、注銷 22登錄主機(jī) 22注銷主機(jī)、結(jié)束終端程序 233.2 文件、目錄 23文件 23目錄 263.3 通配符與轉(zhuǎn)義字符 30通配符 30轉(zhuǎn)義字符 313.4 字符集合 333.5 括號擴(kuò)展 343.6 系統(tǒng)默認(rèn)開啟的文件 353.7 標(biāo)準(zhǔn)輸入/輸出轉(zhuǎn)向 35轉(zhuǎn)向輸出 36轉(zhuǎn)向附加 36轉(zhuǎn)向輸入 37轉(zhuǎn)向輸入和轉(zhuǎn)向輸出合用 37利用轉(zhuǎn)向輸出做簡易編輯 383.8 管道 383.9 前臺工作、后臺工作 40Chapter 4 Bash Shell程序的結(jié)構(gòu)4.1 Shell程序的組成 424.2 設(shè)定執(zhí)行權(quán)限 444.3 執(zhí)行Bash Script的方法 444.4 Bash Script排錯(cuò)的方法 454.5 Bash Script執(zhí)行的原理 47login Shell 474.6 Bash Shell的啟動配置文件 50Bash不同的運(yùn)行模式 50Chapter 5 基本操作介紹5.1 內(nèi)置命令 565.2 命令行程序 715.3 執(zhí)行多個(gè)命令的方法 885.4 記錄命令的執(zhí)行過程 905.5 命令行編輯的方法 915.6 Bash分析命令行的方式 98Chapter 6 變量與字符串操作6.1 變量是什么 1026.2 變量的命名 1036.3 設(shè)定變量 1046.4 取得變量值 1056.5 取消與清空變量 1096.6 變量和引號 1106.7 變量的有效范圍 1126.8 環(huán)境變量 113輸出變量 113取消環(huán)境變量值 1156.9 Bash的內(nèi)置變量 1156.10 調(diào)整變量的屬性 125只讀變量:使用readonly命令 125只讀變量:使用declare命令 126調(diào)整變量的屬性 1276.11 別名 128建立別名 128替換別名 129取消別名 1306.12 自定義環(huán)境 130以一般賬號的角色工作時(shí) 130以系統(tǒng)管理員的角色工作時(shí) 1336.13 數(shù)組 133數(shù)組的用法 134取出數(shù)組所有的元素 135取得數(shù)組元素的個(gè)數(shù) 135取消數(shù)組或數(shù)組元素 1366.14 Here Document 136用Here Document設(shè)定變量 136控制Here Document的格式 138利用Here Document做多行批注 139利用Here Document,打包C(或其他程序語言)的原始碼 140Chapter 7 高級變量7.1 變量擴(kuò)展:測試存在性及空值 144“變量存在”的定義 144測試變量“存在與否”的基本用法 145測試變量“不存在”或其值為空:“傳回”一個(gè)默認(rèn)值 146測試變量“不存在”或其值為空:給變量設(shè)一個(gè)默認(rèn)值 148測試變量是否“不存在”或其值為空:提示錯(cuò)誤信息 149測試變量的“存在性” 1517.2 變量擴(kuò)展:取字符串切片、字符串長度 152取字符串切片 152計(jì)算字符串長度 1557.3 變量擴(kuò)展:對比樣式 156由字符串前面對比,刪除相符者 156由字符串后面對比,刪除相符者 158取代或刪除部分字符串 159把對比符合的字符串刪除 160要求樣式在句首或句尾 1607.4 變量擴(kuò)展:取變量名稱列表、數(shù)組索引列表 162取變量名稱列表 162取數(shù)組索引列表 1627.5 命令替換 1637.6 算術(shù)擴(kuò)展 165Chapter 8 算術(shù)運(yùn)算8.1 簡介 1688.2 算術(shù)擴(kuò)展 1698.3 使用外部程序expr做算術(shù)運(yùn)算 1748.4 使用$[]做算術(shù)運(yùn)算 1778.5 使用內(nèi)置命令declare、let做算術(shù)運(yùn)算 178declare的用法 178let的用法 179Chapter 9 流程控制9.1 命令的結(jié)束狀態(tài) 1829.2 if條件判斷 183簡易的if語法:if-then-else 183if的完整語法 1849.3 條件測試的寫法 1879.4 條件判斷式的真假值 195關(guān)于文件屬性的判斷式 195關(guān)于字符串的條件判斷式 197關(guān)于算式的條件判斷式 199關(guān)于Bash選項(xiàng)的條件判斷式 2009.5 case條件判斷 200case的語法 200高級樣式 2029.6 for循環(huán) 204for的語法 204for無窮循環(huán) 2079.7 while循環(huán) 207while的語法 207使用while循環(huán),讀取文件內(nèi)容 209while無窮循環(huán) 2109.8 until循環(huán) 211until的語法 211until無窮循環(huán) 2129.9 select命令 2129.10 break和continue 214break命令 214continue命令 2169.11 綜合運(yùn)用 216Chapter 10 函數(shù)10.1 函數(shù)的用法 220函數(shù)的語法 220函數(shù)的結(jié)束狀態(tài) 22210.2 函數(shù)與變量的作用范圍 224函數(shù)的作用范圍 224變量的作用范圍 22510.3 位置參數(shù) 226傳遞參數(shù) 226命令行的位置參數(shù) 229移動位置參數(shù) 229指定位置參數(shù)值 230取用命令行的選項(xiàng)和參數(shù) 23310.4 建立函數(shù)庫 23510.5 遞歸函數(shù) 23710.6 實(shí)例應(yīng)用 238Chapter 11 轉(zhuǎn)向11.1 文件代碼 24411.2 操作文件 244開啟文件 244關(guān)閉文件 245復(fù)制文件代碼,建立文件連接 24511.3 轉(zhuǎn)向的用法 247轉(zhuǎn)向輸入 247轉(zhuǎn)向輸出 248轉(zhuǎn)向附加 250標(biāo)準(zhǔn)錯(cuò)誤伴隨標(biāo)準(zhǔn)輸出做轉(zhuǎn)向 250Here Document轉(zhuǎn)向 251Chapter 12 trap——陷阱觸發(fā)12.1 信號(signal) 254進(jìn)程編號PID 254信號列表 255傳送信號的方法 256常用的信號 25712.2 trap的運(yùn)用 260trap的語法1 260trap的語法2 261trap的語法3 261trap的語法4 262Chapter 13 sed和awk入門13.1 正則表達(dá)式 264何謂正則表達(dá)式 26413.2 sed的用法 266實(shí)例應(yīng)用 26813.3 awk的用法 271實(shí)例應(yīng)用 272Chapter 14 進(jìn)程管理和工作控制14.1 進(jìn)程管理 276ps命令 276top命令 281htop命令 283傳送信號 284調(diào)整進(jìn)程的優(yōu)先級 284nice命令 285renice命令 286PRI和NI 28714.2 工作控制 287以實(shí)例說明工作控制 287常用的工作控制命令 29014.3 進(jìn)程替換 292Chapter 15 歷史指令15.1 歷史指令的功能 296history命令 297fc命令 29815.2 歷史指令擴(kuò)展 298Chapter 16 使用Shell Script撰寫文字和圖形接口程序16.1 使用dialog撰寫文本接口程序 306是或否對話框(yesno) 309多選一對話框(radiolist) 310選單對話框(menu) 312單行輸入對話框(inputbox) 314輸入密碼對話框(passwordbox) 315顯示進(jìn)度對話框(gauge) 317核查列表對話框(checklist) 320文件對話框(textbox) 321信息對話框(infobox) 321調(diào)整時(shí)間對話框(timebox) 322倒數(shù)計(jì)時(shí)對話框(pause) 322選擇文本區(qū)對話框(fselect) 32216.2 使用xdialog撰寫圖形接口程序 323顯示信息(msgbox) 323多選一對話框(radiolist) 324單行輸入對話框(inputbox) 325雙行輸入對話框(2inputsbox) 326三行輸入對話框(3inputsbox) 328下拉列表對話框(combobox) 329重設(shè)大小范圍的對話框(rangebox) 329兩個(gè)滾動條的對話框 3303個(gè)滾動條的對話框 330spinbox對話框 331編輯對話框(editbox) 331Chapter 17 文件操作17.1 取得目錄內(nèi)容:文件列表 334利用ls取得目錄內(nèi)容 33417.2 判斷文件是否存在 33617.3 建立文件 338建立一般文件 338建立目錄 340建立區(qū)塊設(shè)備文件 341建立字符設(shè)備文件 343建立FIFO文件 343建立Socket文件 345建立符號鏈接文件 34517.4 取得文件的屬性 34617.5 對比文件的差異 352diff的其他用法 35517.6 搜尋文件內(nèi)容 35817.7 建立臨時(shí)文件 36117.8 復(fù)制文件 36317.9 大、小寫文件名互換 36617.10 轉(zhuǎn)換編碼 371轉(zhuǎn)換編碼的工具 372大量轉(zhuǎn)換編碼 373Chapter 18 主機(jī)系統(tǒng)管理18.1 賬號管理 37618.2 DNS自動產(chǎn)生器 38918.3 DHCP自動產(chǎn)生器 40218.4 檢測主機(jī)存在 407Chapter 19 Bash在TCP/IP方面的運(yùn)用19.1 Bash網(wǎng)絡(luò)轉(zhuǎn)向 416wget.sh程序說明 418Echo服務(wù)器 41919.2 自動登錄FTP 42119.3 自動登錄SSH 424Chapter 20 主機(jī)安全管理20.1 收集主機(jī)信息 428列出主機(jī)IP 428找出主機(jī)名 428列出核心信息 430列出內(nèi)存使用情況 430列出磁盤種類 432列出磁盤容量 433列出磁盤用量 435列出主機(jī)系統(tǒng)平均負(fù)載 437列出系統(tǒng)中的隱藏文件/有特殊權(quán)限的文件 438列出占用磁盤空間較多的目錄 44020.2 主機(jī)服務(wù)信道 441基本概念 441通信狀態(tài) 443管理主機(jī)服務(wù)信道 44420.3 限制連接來源 446使用TCP Wrapper 446自動建立hosts.allow和hosts.deny 44920.4 限制連接來源:使用iptables 452關(guān)于Netfilter 452關(guān)于iptables 452iptables的語法 453iptables的用例 454自動建立iptables配置文件 45520.5 文件完整性審核 465關(guān)于checksum 465使用md5sum 466使用sha1sum 466使用Shell自制文件完整性的審核工具 46720.6 郵件通知 470郵件方法 470監(jiān)測分區(qū)磁盤空間使用量 471安排郵件內(nèi)容的格式 475使用Bash Shell郵件和附件 478二進(jìn)制文件編碼/譯碼的方法 479郵寄附件 480Chapter 21 備份21.1 使用tar做備份 488基本用法 489使用tar做完整備份 492完整備份和差異性備份 493使用tar進(jìn)行差異性備份 494還原備份文件的方法 49421.2 使用磁帶備份 495操作磁帶的方法 495建立常用函數(shù) 50121.3 使用cpio做備份 502關(guān)于cpio 502基本操作法 503使用cpio備份到磁帶 504使用cpio備份到遠(yuǎn)程的主機(jī) 50421.4 使用dump/restore做備份/恢復(fù) 505關(guān)于dump和restore 505/etc/fstab和dump的關(guān)系 505dump和文件屬性 505dump的基本操作 506備份至磁帶 50921.5 使用cp、dd做備份 509使用cp 509使用dd 51021.6 使用光盤做備份 51321.7 使用rsync做備份 514關(guān)于rsync 514設(shè)定rsync server 515設(shè)定rsync client 517安全性 519rsync設(shè)定產(chǎn)生器 520附錄 Bash 4新功能

編輯推薦

  架構(gòu)、流程、管理 系統(tǒng)維護(hù) 備份還原 安全管理  主機(jī)管理的上乘之道,就在于盡量讓電腦去完成所有的瑣事。要達(dá)到這個(gè)境界,管理者必須具備相當(dāng)程度的Shell操控能力與Shell程序設(shè)計(jì)能力,臥龍小三擁有豐富的主機(jī)管理實(shí)務(wù)經(jīng)驗(yàn),以及多年的教學(xué)經(jīng)驗(yàn),相信這本《實(shí)戰(zhàn)Linux Shell編程與服務(wù)器管理》必能引領(lǐng)讀者輕松跨越Bash Shell程序設(shè)計(jì)的門檻,擺脫菜鳥勞碌的命運(yùn),達(dá)到輕松管理,主機(jī)不出包的境界?!  秾?shí)戰(zhàn)Linux Shell編程與服務(wù)器管理》特點(diǎn):  完整涵蓋Bash 3.x的各項(xiàng)功能,并介紹最新Bash 4.0的重要功能?! ∮珊喨敕?、循序漸進(jìn),建立扎實(shí)的Bash Shell程序設(shè)計(jì)基礎(chǔ)。  各章提供許多范例,充分展示Bash Shell程序設(shè)計(jì)的技巧。  帶領(lǐng)讀者學(xué)習(xí)如何設(shè)計(jì)自動化程序,輕松解決問題,增進(jìn)工作效率?! ∵€包含許多管理實(shí)務(wù)的技巧,可快速提升讀者主機(jī)管理的能力。

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    實(shí)戰(zhàn)Linux Shell編程與服務(wù)器管理 PDF格式下載


用戶評論 (總計(jì)7條)

 
 

  •   dsdd
  •   剛?cè)胧诌€沒細(xì)看
  •   實(shí)戰(zhàn)shell腳本
  •   實(shí)戰(zhàn)Linux Shell編程
  •   技術(shù)性數(shù)據(jù),要好好看才能彌補(bǔ)不足
  •   買給我哥的
  •   很不錯(cuò)的一本數(shù)
 

250萬本中文圖書簡介、評論、評分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號-7