天天看點

優秀的Unix管理者應具有的9大品質

優秀的Unix系統管理者是怎樣工作的?來自InfoWorld的Paul Venezia嘗試為我們總結優秀Unix系統管理者的九大特點。Paul是一位資深編輯與咨詢師,關注Perl,PHP,SQL,FreeBSD,Linux和Windows等領域。

優秀的Unix管理者應該具有的品質之一:我們不使用sudo

就像“caps lock”對于極客來說隻是一個可有可無的控制鍵一樣,sudo也隻是膽小者的拐杖。如果我們需要對root做一些事情,我們需要su到root,這個sudo廢話毫無意義。

實際上,對于那些強制所有使用者都要使用sudo的類Unix的作業系統來說,我們要做的第一件事情就是sudo su -,然後改變根密碼,以便于以後我們可以更加友善地su

-。使用sudo就像在帶有充氣減震器的水槽中打保齡球——的确很安全,但是你也别想一展身手了。

優秀的Unix管理者應該具有的品質之二:我們使用vi,而不是emacs,更不可能是pico或nano

雖然我們知道,對于許多Unix管理者來說,emacs更貼心一些,但是,實際上它隻是Microsoft Word的Unix翻版而已。vi(和vim)才是那些真正的Unix極客們手中的利器,他們需要在完成任務的同時,不被那些emacs自帶的毫無用處的東西把事情搞糟。Emacs居然内置了一款俄羅斯方塊遊戲,簡直是豈有此理!

雖然我隻能萬般無奈地承認vim中那些花哨的功能(例如:代碼折疊和文法高亮)可能隻是一時失誤,但是,在一天的工作即将結束之際,真正的Unix工作可以和vi的模型編輯概念很好地融合在一起卻是不争的事實。除此之外,它那苗條的身材和通用的可移植性可以讓它成為一個真正的編輯器。感謝Bill!感謝Bram!(編輯注:Bill Joy是vim編輯器的開發者,後來Bram Moolenaar對其進行了改進)。

優秀的Unix管理者應該具有的品質之三:我們把正規表達式當成我們的利器

對于正規表達式的排斥,甚至是漠視似乎都是“邪惡”的鍵盤造成的惡果。但是,對于我們來說,它是如詩般優雅的。它的強大表現在,任何其他的著名工具都無法和pcre

(Perl Compatible Regular Expressions)的複雜性相匹敵。如果你需要在100000行檔案中替換掉每一行的第三個字元(除了那些後面是數字4的字元之外),那麼正規表達式不隻是完成這個任務的一個工具而已——它還是完成這個任務的唯一工具。那些可憐的人時常會在他們的email中接收到一些字元串片段和一些聲淚俱下的請求(尋求一個解析這些字元串的正規表達式),一般還會承諾請你喝一杯(但是從來沒有兌現過)。

編輯推薦:正規表達式完全學習手冊:菜鳥入門指導

優秀的Unix管理者應該具有的品質之四:我們天生就比較懶惰

當遇到一個看起來需要很多手工的,重複性的工作才能解決的問題的時候,我們這些守舊派的Unix代表一定會選擇編寫一些代碼來搞定它的。這通常會比手工操作更加節省時間,雖然有時候事實也并非如此。無論如何,我們甯願把時間花費在可以以後被引用或者使用的工作上面,也不願意簡單地修複眼前這個問題。通常,當幾年以後我們遇到了類似的問題,然後可以從我們的起始目錄(home directory)中的一個檔案yank幾百行Perl代碼,在短短的幾分鐘之内解決掉了這個問題,然後回過頭去分析那些可以提高工作效率的其他代碼的時候,我們就可以獲得回報了。或者,我們也可以去玩一下憤怒的小鳥。

編輯推薦:怎樣做一個優秀而懶惰的系統管理者

優秀的Unix管理者應該具有的品質之五:我們更喜歡優雅的解決方案

如果有好幾種方法可以修複一個問題或者實作一個目标,那麼我們會選擇花費更多的時間來開發一個既可以解決目前的問題又能防止将來發生類似的問題的解決方案,而不是簡單地貼上一塊邦迪牌Ok繃。這是因為我們讨厭再次遇到那些在我們的印象中已經解決過的問題。我們認為,如果我們可以提前多考慮幾步,防止将來發生類似的問題,那麼在将來,我們可以節省更多的精力。通常我們都是對的。

優秀的Unix管理者應該具有的品質之六:我們一般對事不對人

enlightenment有足夠的把握可以讓你的Unix基礎知識達到一定的水準。這意味着我們從不認為一個問題會一直存到我們發現它為止。告訴一個優秀的Unix管理者,一個檔案“vanished”了,他隻會輕蔑地嘲笑你。證明給她看,這真的發生了,他就會不知疲倦地研究這個問題了,直到可以找到一個合理的原因和解決方案為止。許多人都認為這是傲慢和自負的表現。的确是——但是我們有這個資本。

優秀的Unix管理者應該具有的品質之七:我們研究問題的時候,比醫生的檢查還要細緻

當處理一個大問題的時候,我們在“屍檢”上花費的時間要比我們解決這個問題所花費的時間多得多。如果不是工作壓力太大,讓我們無暇分身去研究這個問題,那麼我們一定會搞清楚這個問題的确切原因的。在一個強悍的Unix管理者的工作中,不存在不可思議的現象。每一種情況必須要有邏輯起點,而且可以按照合适的路徑來追本溯源。簡而言之,每一件事情都有原因,在找到這個原因以前,我們絕不放棄!

對于我們來說,通過HUPping一個程序,或者改變一個檔案或777目錄的權限來“止血”是一件很容易的事情,但是這連成功的一般都算不上。為什麼這個程序必須要重新開機?這并不是必須的,我們需要知道為什麼。

編輯推薦:系統管理者需要掌握哪些軟技能?

優秀的Unix管理者應該具有的品質之八:關于Windows,我們知道的也很多(過去我們隻是裝作不知道而已)

雖然在我們自己的機器上,我們可能并不運作Windows,而且,對于Windows伺服器,我們似乎也不屑一顧,但是在診斷和修複Windows問題方面,我們卻是行家裡手。這是因為,當它們的“鮮血”流到我們的“版圖”上的時候,我們必須要處理這些問題。但是,我們不喜歡承認這個事實,因為大多數情況下Windows都沒有Unix那樣深厚的邏輯基礎,這讓我們很困擾。參見上面的品質五和品質六。

優秀的Unix管理者應該具有的品質之九:幾乎從來都不選擇重新開機

Unix裝置不需要重新開機。如果并非絕對沒有其他選擇,我們會花費數個小時在系統運作的狀态下修複這個問題,而不是重新開機。我們的想法是除了核心或硬體改動,其他情況下都沒有理由去重新開機,重新開機隻是修複這個問題的臨時辦法而已。如果這個問題發生了一次,并且通過重新開機被“修複”了,那麼它還會再次發生的。我們甯願修複這個問題,而不是簡單地拔掉電源,等着它再次發生。

從“謊言”的角度來看,這些品質中的某些品質看起來會有點另類或者難以了解,那是因為他們本來就是如此的。其他人隻能看到棘手和困難的時候,我們卻看到啟示,學習,經驗,更重要的是,我們看到了邏輯。