天天看點

《UNIX/Linux 系統管理技術手冊(第四版)》——1.2 讀者的知識背景

本節書摘來自異步社群《unix/linux 系統管理技術手冊(第四版)》一書中的第1章,第1.2節,作者:【美】evi nemeth , garth snyder , trent r.hein , ben whaley著,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視

unix/linux 系統管理技術手冊(第四版)

本書假定讀者已經具備一定程度的linux或者unix經驗。尤其要從使用者的角度對系統的風格有個一般性的概念,因為我們不再複述這方面的材料。有一些優秀的書籍可以幫助讀者迅速掌握這些概念,參見本章1.14節。

即便在現今有三維圖形顯示功能的桌面計算機上,用于unix和linux系統管理的gui工具與其下層豐富的軟體相比,依然顯得相當簡單。在現實世界裡,我們仍然要通過編輯配置檔案和編寫腳本來完成管理工作,是以讀者需要習慣于使用某種指令行的shell和某種文本編輯器。

編輯器可以是像gedit那樣的gui工具,也可以是像vi或者emacs那樣的指令行工具。像microsoftword和openoffice writer這樣的字處理程式和文本編輯器差别很大,對于系統管理工作幾乎沒有什麼用處。指令行工具有個優勢,因為它們可以通過一條ssh連接配接運作,還可以在出問題不能啟動的系統上使用;而且不需要用圖形視窗系統。對于系統管理者常做的微小編輯工作來說,它們的運作速度也快得多。

我們推薦讀者學會使用vi(現在最常見的是它的一種經過重寫的形式,即vim),它是所有unix和linux系統上的标準軟體。盡管同emacs這樣的華麗軟體相比,vi可能顯得有些平淡,但vi的功能還是非常強大和完善的。gnu的nano是一種簡單、易上手的“入門編輯器”,它有螢幕提示功能。選用非标準的編輯器則要小心,如果讀者已經對這樣的一種編輯器“上了瘾”,那麼很快就會對它感到厭煩,因為需要把它帶在身邊,以便在每個新系統上都安裝一次。

系統管理工作的主要支柱之一(并且也是貫穿本書的一個主題),是使用腳本來自動完成管理任務。要成為一名高效率的系統管理者,必須能夠閱讀并修改perl和bash/sh腳本。參考第2章,了解更多有關腳本程式設計的知識。

對于編寫新腳本,我們推薦使用perl或者python。作為一種程式設計語言,perl有些奇怪。不過,它确實包含了許多對于管理者來說是必不可少的特性。由o’reilly出版、larry wall等編寫的programming perl一書是perl的标準教程;該書也是技術圖書的典範。本章1.14節給出了該書的完整資訊。

許多系統管理者更願意用python而不是perl,而且我們也知道有些地方正在一起努力從perl轉向python。python是一種比perl更優美的語言,而且python腳本往往可讀性更好,也更容易維護(正如亞馬遜公司的steve yegge所說,“長久以來,python社群都是從perl陣營逃出來的人的庇護所,這些人吞下紅色的藥丸,從perl的matrix裡蘇醒過來”)。從python.org/doc/comparisons.html可以找到一組有用的連結,把python同其他腳本語言(包括perl)進行了一番比較。

ruby是一款正處在上升期的語言,它保留了perl的許多強大功能,又避免了perl的一些文法缺陷,還增加了現代的面向對象特性。它作為系統管理者的一款腳本語言,其根基還不深,但在未來幾年内,這種情況可能會所有改變。

我們還推薦讀者學會expect,它與其說是一款程式設計語言,倒不如說是用于驅動互動式程式執行的前端語言。它是一款高效率的“膠水”語言,能夠替代一些複雜的腳本程式設計。expect腳本學起來很容易。

本書第2章總結了有關bash、perl和python腳本程式設計最重要的知識。這一章還複習了正規表達式(文本比對模式)和一些shell的慣用法,它們對于系統管理工作來說很有用。