出版時間:2010-3 出版社:電子工業(yè)出版社 作者:臥龍小三 頁數:533 譯者:梁昌泰
Tag標簽:無
前言
2002年,我曾在臺南縣對全縣中、小學校的網管講授Shell程序設計課程。當時關于Shell的書籍和參考資料并不多(至今仍然如此),只好自編一份入門講義,供上課的學員參考。課程結束后,我把它放到網絡上,讓其他同學也能參考。沒想到,這份講義,由于寫得十分清楚、易懂,受到許多人的歡迎。這幾年來,陸續(xù)接到很多網絡上朋友的來信,希望我能進一步把Shell程序設計的入門講義寫成更詳細的工具書,不過,由于個人工作上的關系,一直沒有實現。今年,機緣巧合,各方面的條件和時機恰好配合,所以,這本書就出現在這里啦! 許多人可能不了解,Shell其實是操作系統的重要組件之一。當我們管理一臺主機時,在系統核心和用戶之間的接口就是Shell,我們幾乎必須時刻面對它。Shell能解譯使用者輸入的命令并執(zhí)行命令。這些命令本身,通常用來訪問文件系統、建立行程、管理行程、操作輸出入設備、管理內存,以及操作和網絡有關的應用。因此,對Shell的操控能力,可以說大約就等于是主機的管理能力,所以,想要對主機管理有更深一層認識的人,不可不熟悉Shell?! 」P者常說:凡是可以交給計算機做的事,不要由人來做(因為,人會累,計算機不會累)。主機管理的上乘之道,就在于能夠充分實踐這句話。換言之,就是把工作予以自動化。那么,主機管理者如何把工作自動化呢?關鍵就在于他是否具備Shell程序設計的能力。我們可以說:對Shell的操控能力和Shell程序設計的能力,是每一位主機管理者應具備的基本知能。唯有如此,這樣的管理人員才具備強大的生產力(有生產力的管理者,才能偷懶,有時間做自己喜歡做的事,比如:思考如何創(chuàng)新)?! ∵@幾年來,由于自由軟件運動蓬勃發(fā)展,一般人接觸Linux/BSD等系統的機會多了,較幾年前來說,真是不可同日而語。但許多人在登錄主機之后,卻往往不知道要做什么,或如何運用它來解決問題,實在是很可惜。本書希望能帶領讀者了解Shell的重要性,熟悉Shell的運用方法,建立自動化管理主機的能力,迅速、輕松地解決問題。
內容概要
操作系統Shell編程一直是系統管理員必備高級技能之一。主機管理的上乘之道,就在于盡量讓計算機去完成所有的瑣事。要達到這個境界,管理者必須具備相當程度的Shell操控能力與Shell程序設計能力,筆者擁有豐富的主機管理實務經驗,以及多年的教學經驗,能引領讀者輕松跨越Bash Shell程序設計的門檻,擺脫菜鳥勞碌的命運,達到輕松管理,主機不出包的境界?! ”緯暾wBash 3.x的各項功能,并介紹最新Bash 4.0的重要功能;由簡入繁、循序漸進,建立扎實的Bash Shell程序設計基礎;各章提供許多范例,充分展示Bash Shell程序設計的技巧;帶領讀者學習如何設計自動化程序,輕松解決問題,增進工作效率;還包含許多管理實務的技巧,可快速提升讀者主機管理的能力?! ”緯m合系統管理員、網絡管理員、架構師及普通學習者參考學習?! ≈鳈C管理的上乘之道,就在于盡量讓電腦去完成所有的瑣事。要達到這個境界,管理者必須具備相當程度的Shell操控能力與Shell程序設計能力,臥龍小三擁有豐富的主機管理實務經驗,以及多年的教學經驗,相信這本《實戰(zhàn)Linux Shell編程與服務器管理》必能引領讀者輕松跨越Bash Shell程序設計的門檻,擺脫菜鳥勞碌的命運,達到輕松管理,主機不出包的境界?! ?完整涵蓋Bash 3.x的各項功能,并介紹最新Bash 4.0的重要功能?! ?由簡入繁、循序漸進,建立扎實的Bash Shell程序設計基礎。 ■ 各章提供許多范例,充分展示Bash Shell程序設計的技巧?! ?帶領讀者學習如何設計自動化程序,輕松解決問題,增進工作效率。 ■ 還包含許多管理實務的技巧,可快速提升讀者主機管理的能力。
書籍目錄
Chapter 1 Shell簡介1.1 Shell是什么 21.2 Shell的歷史簡介 41.3 Bash Shell的功能 51.4 第一個Bash Shell程序:“哈啰!Bash Shell!” 61.5 第一個有用的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 基礎概念介紹3.1 登錄、注銷 22登錄主機 22注銷主機、結束終端程序 233.2 文件、目錄 23文件 23目錄 263.3 通配符與轉義字符 30通配符 30轉義字符 313.4 字符集合 333.5 括號擴展 343.6 系統默認開啟的文件 353.7 標準輸入/輸出轉向 35轉向輸出 36轉向附加 36轉向輸入 37轉向輸入和轉向輸出合用 37利用轉向輸出做簡易編輯 383.8 管道 383.9 前臺工作、后臺工作 40Chapter 4 Bash Shell程序的結構4.1 Shell程序的組成 424.2 設定執(zhí)行權限 444.3 執(zhí)行Bash Script的方法 444.4 Bash Script排錯的方法 454.5 Bash Script執(zhí)行的原理 47login Shell 474.6 Bash Shell的啟動配置文件 50Bash不同的運行模式 50Chapter 5 基本操作介紹5.1 內置命令 565.2 命令行程序 715.3 執(zhí)行多個命令的方法 885.4 記錄命令的執(zhí)行過程 905.5 命令行編輯的方法 915.6 Bash分析命令行的方式 98Chapter 6 變量與字符串操作6.1 變量是什么 1026.2 變量的命名 1036.3 設定變量 1046.4 取得變量值 1056.5 取消與清空變量 1096.6 變量和引號 1106.7 變量的有效范圍 1126.8 環(huán)境變量 113輸出變量 113取消環(huán)境變量值 1156.9 Bash的內置變量 1156.10 調整變量的屬性 125只讀變量:使用readonly命令 125只讀變量:使用declare命令 126調整變量的屬性 1276.11 別名 128建立別名 128替換別名 129取消別名 1306.12 自定義環(huán)境 130以一般賬號的角色工作時 130以系統管理員的角色工作時 1336.13 數組 133數組的用法 134取出數組所有的元素 135取得數組元素的個數 135取消數組或數組元素 1366.14 Here Document 136用Here Document設定變量 136控制Here Document的格式 138利用Here Document做多行批注 139利用Here Document,打包C(或其他程序語言)的原始碼 140Chapter 7 高級變量7.1 變量擴展:測試存在性及空值 144“變量存在”的定義 144測試變量“存在與否”的基本用法 145測試變量“不存在”或其值為空:“傳回”一個默認值 146測試變量“不存在”或其值為空:給變量設一個默認值 148測試變量是否“不存在”或其值為空:提示錯誤信息 149測試變量的“存在性” 1517.2 變量擴展:取字符串切片、字符串長度 152取字符串切片 152計算字符串長度 1557.3 變量擴展:對比樣式 156由字符串前面對比,刪除相符者 156由字符串后面對比,刪除相符者 158取代或刪除部分字符串 159把對比符合的字符串刪除 160要求樣式在句首或句尾 1607.4 變量擴展:取變量名稱列表、數組索引列表 162取變量名稱列表 162取數組索引列表 1627.5 命令替換 1637.6 算術擴展 165Chapter 8 算術運算8.1 簡介 1688.2 算術擴展 1698.3 使用外部程序expr做算術運算 1748.4 使用$[]做算術運算 1778.5 使用內置命令declare、let做算術運算 178declare的用法 178let的用法 179Chapter 9 流程控制9.1 命令的結束狀態(tài) 1829.2 if條件判斷 183簡易的if語法:if-then-else 183if的完整語法 1849.3 條件測試的寫法 1879.4 條件判斷式的真假值 195關于文件屬性的判斷式 195關于字符串的條件判斷式 197關于算式的條件判斷式 199關于Bash選項的條件判斷式 2009.5 case條件判斷 200case的語法 200高級樣式 2029.6 for循環(huán) 204for的語法 204for無窮循環(huán) 2079.7 while循環(huán) 207while的語法 207使用while循環(huán),讀取文件內容 209while無窮循環(huán) 2109.8 until循環(huán) 211until的語法 211until無窮循環(huán) 2129.9 select命令 2129.10 break和continue 214break命令 214continue命令 2169.11 綜合運用 216Chapter 10 函數10.1 函數的用法 220函數的語法 220函數的結束狀態(tài) 22210.2 函數與變量的作用范圍 224函數的作用范圍 224變量的作用范圍 22510.3 位置參數 226傳遞參數 226命令行的位置參數 229移動位置參數 229指定位置參數值 230取用命令行的選項和參數 23310.4 建立函數庫 23510.5 遞歸函數 23710.6 實例應用 238Chapter 11 轉向11.1 文件代碼 24411.2 操作文件 244開啟文件 244關閉文件 245復制文件代碼,建立文件連接 24511.3 轉向的用法 247轉向輸入 247轉向輸出 248轉向附加 250標準錯誤伴隨標準輸出做轉向 250Here Document轉向 251Chapter 12 trap——陷阱觸發(fā)12.1 信號(signal) 254進程編號PID 254信號列表 255傳送信號的方法 256常用的信號 25712.2 trap的運用 260trap的語法1 260trap的語法2 261trap的語法3 261trap的語法4 262Chapter 13 sed和awk入門13.1 正則表達式 264何謂正則表達式 26413.2 sed的用法 266實例應用 26813.3 awk的用法 271實例應用 272Chapter 14 進程管理和工作控制14.1 進程管理 276ps命令 276top命令 281htop命令 283傳送信號 284調整進程的優(yōu)先級 284nice命令 285renice命令 286PRI和NI 28714.2 工作控制 287以實例說明工作控制 287常用的工作控制命令 29014.3 進程替換 292Chapter 15 歷史指令15.1 歷史指令的功能 296history命令 297fc命令 29815.2 歷史指令擴展 298Chapter 16 使用Shell Script撰寫文字和圖形接口程序16.1 使用dialog撰寫文本接口程序 306是或否對話框(yesno) 309多選一對話框(radiolist) 310選單對話框(menu) 312單行輸入對話框(inputbox) 314輸入密碼對話框(passwordbox) 315顯示進度對話框(gauge) 317核查列表對話框(checklist) 320文件對話框(textbox) 321信息對話框(infobox) 321調整時間對話框(timebox) 322倒數計時對話框(pause) 322選擇文本區(qū)對話框(fselect) 32216.2 使用xdialog撰寫圖形接口程序 323顯示信息(msgbox) 323多選一對話框(radiolist) 324單行輸入對話框(inputbox) 325雙行輸入對話框(2inputsbox) 326三行輸入對話框(3inputsbox) 328下拉列表對話框(combobox) 329重設大小范圍的對話框(rangebox) 329兩個滾動條的對話框 3303個滾動條的對話框 330spinbox對話框 331編輯對話框(editbox) 331Chapter 17 文件操作17.1 取得目錄內容:文件列表 334利用ls取得目錄內容 33417.2 判斷文件是否存在 33617.3 建立文件 338建立一般文件 338建立目錄 340建立區(qū)塊設備文件 341建立字符設備文件 343建立FIFO文件 343建立Socket文件 345建立符號鏈接文件 34517.4 取得文件的屬性 34617.5 對比文件的差異 352diff的其他用法 35517.6 搜尋文件內容 35817.7 建立臨時文件 36117.8 復制文件 36317.9 大、小寫文件名互換 36617.10 轉換編碼 371轉換編碼的工具 372大量轉換編碼 373Chapter 18 主機系統管理18.1 賬號管理 37618.2 DNS自動產生器 38918.3 DHCP自動產生器 40218.4 檢測主機存在 407Chapter 19 Bash在TCP/IP方面的運用19.1 Bash網絡轉向 416wget.sh程序說明 418Echo服務器 41919.2 自動登錄FTP 42119.3 自動登錄SSH 424Chapter 20 主機安全管理20.1 收集主機信息 428列出主機IP 428找出主機名 428列出核心信息 430列出內存使用情況 430列出磁盤種類 432列出磁盤容量 433列出磁盤用量 435列出主機系統平均負載 437列出系統中的隱藏文件/有特殊權限的文件 438列出占用磁盤空間較多的目錄 44020.2 主機服務信道 441基本概念 441通信狀態(tài) 443管理主機服務信道 44420.3 限制連接來源 446使用TCP Wrapper 446自動建立hosts.allow和hosts.deny 44920.4 限制連接來源:使用iptables 452關于Netfilter 452關于iptables 452iptables的語法 453iptables的用例 454自動建立iptables配置文件 45520.5 文件完整性審核 465關于checksum 465使用md5sum 466使用sha1sum 466使用Shell自制文件完整性的審核工具 46720.6 郵件通知 470郵件方法 470監(jiān)測分區(qū)磁盤空間使用量 471安排郵件內容的格式 475使用Bash Shell郵件和附件 478二進制文件編碼/譯碼的方法 479郵寄附件 480Chapter 21 備份21.1 使用tar做備份 488基本用法 489使用tar做完整備份 492完整備份和差異性備份 493使用tar進行差異性備份 494還原備份文件的方法 49421.2 使用磁帶備份 495操作磁帶的方法 495建立常用函數 50121.3 使用cpio做備份 502關于cpio 502基本操作法 503使用cpio備份到磁帶 504使用cpio備份到遠程的主機 50421.4 使用dump/restore做備份/恢復 505關于dump和restore 505/etc/fstab和dump的關系 505dump和文件屬性 505dump的基本操作 506備份至磁帶 50921.5 使用cp、dd做備份 509使用cp 509使用dd 51021.6 使用光盤做備份 51321.7 使用rsync做備份 514關于rsync 514設定rsync server 515設定rsync client 517安全性 519rsync設定產生器 520附錄 Bash 4新功能
編輯推薦
架構、流程、管理 系統維護 備份還原 安全管理 主機管理的上乘之道,就在于盡量讓電腦去完成所有的瑣事。要達到這個境界,管理者必須具備相當程度的Shell操控能力與Shell程序設計能力,臥龍小三擁有豐富的主機管理實務經驗,以及多年的教學經驗,相信這本《實戰(zhàn)Linux Shell編程與服務器管理》必能引領讀者輕松跨越Bash Shell程序設計的門檻,擺脫菜鳥勞碌的命運,達到輕松管理,主機不出包的境界?! 秾崙?zhàn)Linux Shell編程與服務器管理》特點: 完整涵蓋Bash 3.x的各項功能,并介紹最新Bash 4.0的重要功能?! ∮珊喨敕?、循序漸進,建立扎實的Bash Shell程序設計基礎?! 「髡绿峁┰S多范例,充分展示Bash Shell程序設計的技巧。 帶領讀者學習如何設計自動化程序,輕松解決問題,增進工作效率?! ∵€包含許多管理實務的技巧,可快速提升讀者主機管理的能力。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載
實戰(zhàn)Linux Shell編程與服務器管理 PDF格式下載