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

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

前言

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

內(nèi)容概要

  操作系統(tǒng)Shell編程一直是系統(tǒng)管理員必備高級(jí)技能之一。主機(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ì)的門(mén)檻,擺脫菜鳥(niǎo)勞碌的命運(yùn),達(dá)到輕松管理,主機(jī)不出包的境界。  本書(shū)完整涵蓋Bash 3.x的各項(xiàng)功能,并介紹最新Bash 4.0的重要功能;由簡(jiǎn)入繁、循序漸進(jìn),建立扎實(shí)的Bash Shell程序設(shè)計(jì)基礎(chǔ);各章提供許多范例,充分展示Bash Shell程序設(shè)計(jì)的技巧;帶領(lǐng)讀者學(xué)習(xí)如何設(shè)計(jì)自動(dòng)化程序,輕松解決問(wèn)題,增進(jìn)工作效率;還包含許多管理實(shí)務(wù)的技巧,可快速提升讀者主機(jī)管理的能力?! ”緯?shū)適合系統(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ì)的門(mén)檻,擺脫菜鳥(niǎo)勞碌的命運(yùn),達(dá)到輕松管理,主機(jī)不出包的境界。  ■ 完整涵蓋Bash 3.x的各項(xiàng)功能,并介紹最新Bash 4.0的重要功能?!  ?由簡(jiǎn)入繁、循序漸進(jìn),建立扎實(shí)的Bash Shell程序設(shè)計(jì)基礎(chǔ)。  ■ 各章提供許多范例,充分展示Bash Shell程序設(shè)計(jì)的技巧?!  ?帶領(lǐng)讀者學(xué)習(xí)如何設(shè)計(jì)自動(dòng)化程序,輕松解決問(wèn)題,增進(jìn)工作效率?!  ?還包含許多管理實(shí)務(wù)的技巧,可快速提升讀者主機(jī)管理的能力。

書(shū)籍目錄

Chapter 1 Shell簡(jiǎn)介1.1 Shell是什么 21.2 Shell的歷史簡(jiǎn)介 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平臺(tái)布署B(yǎng)ash Shell的環(huán)境 102.2 升級(jí)B2D的Bash版本 102.3 自行編譯最新版的Bash 112.4 切換使用新版的Bash Shell 13chsh的用法 132.5 在FreeBSD平臺(tái)布署B(yǎng)ash Shell的環(huán)境 152.6 在OpenBSD平臺(tái)布署B(yǎng)ash Shell的環(huán)境 162.7 在Windows平臺(tái)布署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 括號(hào)擴(kuò)展 343.6 系統(tǒng)默認(rèn)開(kāi)啟的文件 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)向輸出做簡(jiǎn)易編輯 383.8 管道 383.9 前臺(tái)工作、后臺(tái)工作 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的啟動(dòng)配置文件 50Bash不同的運(yùn)行模式 50Chapter 5 基本操作介紹5.1 內(nèi)置命令 565.2 命令行程序 715.3 執(zhí)行多個(gè)命令的方法 885.4 記錄命令的執(zhí)行過(guò)程 905.5 命令行編輯的方法 915.6 Bash分析命令行的方式 98Chapter 6 變量與字符串操作6.1 變量是什么 1026.2 變量的命名 1036.3 設(shè)定變量 1046.4 取得變量值 1056.5 取消與清空變量 1096.6 變量和引號(hào) 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以一般賬號(hào)的角色工作時(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(或其他程序語(yǔ)言)的原始碼 140Chapter 7 高級(jí)變量7.1 變量擴(kuò)展:測(cè)試存在性及空值 144“變量存在”的定義 144測(cè)試變量“存在與否”的基本用法 145測(cè)試變量“不存在”或其值為空:“傳回”一個(gè)默認(rèn)值 146測(cè)試變量“不存在”或其值為空:給變量設(shè)一個(gè)默認(rèn)值 148測(cè)試變量是否“不存在”或其值為空:提示錯(cuò)誤信息 149測(cè)試變量的“存在性” 1517.2 變量擴(kuò)展:取字符串切片、字符串長(zhǎng)度 152取字符串切片 152計(jì)算字符串長(zhǎng)度 1557.3 變量擴(kuò)展:對(duì)比樣式 156由字符串前面對(duì)比,刪除相符者 156由字符串后面對(duì)比,刪除相符者 158取代或刪除部分字符串 159把對(duì)比符合的字符串刪除 160要求樣式在句首或句尾 1607.4 變量擴(kuò)展:取變量名稱列表、數(shù)組索引列表 162取變量名稱列表 162取數(shù)組索引列表 1627.5 命令替換 1637.6 算術(shù)擴(kuò)展 165Chapter 8 算術(shù)運(yùn)算8.1 簡(jiǎn)介 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簡(jiǎn)易的if語(yǔ)法:if-then-else 183if的完整語(yǔ)法 1849.3 條件測(cè)試的寫(xiě)法 1879.4 條件判斷式的真假值 195關(guān)于文件屬性的判斷式 195關(guān)于字符串的條件判斷式 197關(guān)于算式的條件判斷式 199關(guān)于Bash選項(xiàng)的條件判斷式 2009.5 case條件判斷 200case的語(yǔ)法 200高級(jí)樣式 2029.6 for循環(huán) 204for的語(yǔ)法 204for無(wú)窮循環(huán) 2079.7 while循環(huán) 207while的語(yǔ)法 207使用while循環(huán),讀取文件內(nèi)容 209while無(wú)窮循環(huán) 2109.8 until循環(huán) 211until的語(yǔ)法 211until無(wú)窮循環(huán) 2129.9 select命令 2129.10 break和continue 214break命令 214continue命令 2169.11 綜合運(yùn)用 216Chapter 10 函數(shù)10.1 函數(shù)的用法 220函數(shù)的語(yǔ)法 220函數(shù)的結(jié)束狀態(tài) 22210.2 函數(shù)與變量的作用范圍 224函數(shù)的作用范圍 224變量的作用范圍 22510.3 位置參數(shù) 226傳遞參數(shù) 226命令行的位置參數(shù) 229移動(dòng)位置參數(shù) 229指定位置參數(shù)值 230取用命令行的選項(xiàng)和參數(shù) 23310.4 建立函數(shù)庫(kù) 23510.5 遞歸函數(shù) 23710.6 實(shí)例應(yīng)用 238Chapter 11 轉(zhuǎn)向11.1 文件代碼 24411.2 操作文件 244開(kāi)啟文件 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 信號(hào)(signal) 254進(jìn)程編號(hào)PID 254信號(hào)列表 255傳送信號(hào)的方法 256常用的信號(hào) 25712.2 trap的運(yùn)用 260trap的語(yǔ)法1 260trap的語(yǔ)法2 261trap的語(yǔ)法3 261trap的語(yǔ)法4 262Chapter 13 sed和awk入門(mén)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傳送信號(hào) 284調(diào)整進(jìn)程的優(yōu)先級(jí) 284nice命令 285renice命令 286PRI和NI 28714.2 工作控制 287以實(shí)例說(shuō)明工作控制 287常用的工作控制命令 29014.3 進(jìn)程替換 292Chapter 15 歷史指令15.1 歷史指令的功能 296history命令 297fc命令 29815.2 歷史指令擴(kuò)展 298Chapter 16 使用Shell Script撰寫(xiě)文字和圖形接口程序16.1 使用dialog撰寫(xiě)文本接口程序 306是或否對(duì)話框(yesno) 309多選一對(duì)話框(radiolist) 310選單對(duì)話框(menu) 312單行輸入對(duì)話框(inputbox) 314輸入密碼對(duì)話框(passwordbox) 315顯示進(jìn)度對(duì)話框(gauge) 317核查列表對(duì)話框(checklist) 320文件對(duì)話框(textbox) 321信息對(duì)話框(infobox) 321調(diào)整時(shí)間對(duì)話框(timebox) 322倒數(shù)計(jì)時(shí)對(duì)話框(pause) 322選擇文本區(qū)對(duì)話框(fselect) 32216.2 使用xdialog撰寫(xiě)圖形接口程序 323顯示信息(msgbox) 323多選一對(duì)話框(radiolist) 324單行輸入對(duì)話框(inputbox) 325雙行輸入對(duì)話框(2inputsbox) 326三行輸入對(duì)話框(3inputsbox) 328下拉列表對(duì)話框(combobox) 329重設(shè)大小范圍的對(duì)話框(rangebox) 329兩個(gè)滾動(dòng)條的對(duì)話框 3303個(gè)滾動(dòng)條的對(duì)話框 330spinbox對(duì)話框 331編輯對(duì)話框(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建立符號(hào)鏈接文件 34517.4 取得文件的屬性 34617.5 對(duì)比文件的差異 352diff的其他用法 35517.6 搜尋文件內(nèi)容 35817.7 建立臨時(shí)文件 36117.8 復(fù)制文件 36317.9 大、小寫(xiě)文件名互換 36617.10 轉(zhuǎn)換編碼 371轉(zhuǎn)換編碼的工具 372大量轉(zhuǎn)換編碼 373Chapter 18 主機(jī)系統(tǒng)管理18.1 賬號(hào)管理 37618.2 DNS自動(dòng)產(chǎn)生器 38918.3 DHCP自動(dòng)產(chǎn)生器 40218.4 檢測(cè)主機(jī)存在 407Chapter 19 Bash在TCP/IP方面的運(yùn)用19.1 Bash網(wǎng)絡(luò)轉(zhuǎn)向 416wget.sh程序說(shuō)明 418Echo服務(wù)器 41919.2 自動(dòng)登錄FTP 42119.3 自動(dòng)登錄SSH 424Chapter 20 主機(jī)安全管理20.1 收集主機(jī)信息 428列出主機(jī)IP 428找出主機(jī)名 428列出核心信息 430列出內(nèi)存使用情況 430列出磁盤(pán)種類 432列出磁盤(pán)容量 433列出磁盤(pán)用量 435列出主機(jī)系統(tǒng)平均負(fù)載 437列出系統(tǒng)中的隱藏文件/有特殊權(quán)限的文件 438列出占用磁盤(pán)空間較多的目錄 44020.2 主機(jī)服務(wù)信道 441基本概念 441通信狀態(tài) 443管理主機(jī)服務(wù)信道 44420.3 限制連接來(lái)源 446使用TCP Wrapper 446自動(dòng)建立hosts.allow和hosts.deny 44920.4 限制連接來(lái)源:使用iptables 452關(guān)于Netfilter 452關(guān)于iptables 452iptables的語(yǔ)法 453iptables的用例 454自動(dòng)建立iptables配置文件 45520.5 文件完整性審核 465關(guān)于checksum 465使用md5sum 466使用sha1sum 466使用Shell自制文件完整性的審核工具 46720.6 郵件通知 470郵件方法 470監(jiān)測(cè)分區(qū)磁盤(pán)空間使用量 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 使用光盤(pán)做備份 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ì)的門(mén)檻,擺脫菜鳥(niǎo)勞碌的命運(yùn),達(dá)到輕松管理,主機(jī)不出包的境界?!  秾?shí)戰(zhàn)Linux Shell編程與服務(wù)器管理》特點(diǎn):  完整涵蓋Bash 3.x的各項(xiàng)功能,并介紹最新Bash 4.0的重要功能?! ∮珊?jiǎn)入繁、循序漸進(jìn),建立扎實(shí)的Bash Shell程序設(shè)計(jì)基礎(chǔ)?! 「髡绿峁┰S多范例,充分展示Bash Shell程序設(shè)計(jì)的技巧?! ьI(lǐng)讀者學(xué)習(xí)如何設(shè)計(jì)自動(dòng)化程序,輕松解決問(wèn)題,增進(jìn)工作效率。  還包含許多管理實(shí)務(wù)的技巧,可快速提升讀者主機(jī)管理的能力。

圖書(shū)封面

圖書(shū)標(biāo)簽Tags

無(wú)

評(píng)論、評(píng)分、閱讀與下載


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


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

 
 

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

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

京ICP備13047387號(hào)-7