Unix管理員的九點品質
編者按:優秀的Unix系統管理員是怎樣工作的?來自InfoWorld的Paul Venezia嘗試為我們總結優秀Unix系統管理員的九大特點。Paul是一位資深編輯與咨詢師,關注Perl,PHP,SQL,FreeBSD,Linux和Windows等領域。
品質之一:我們不使用sudo
就像“caps lock”對于極客來說只是一個可有可無的控制鍵一樣,sudo也只是膽小者的拐杖。如果我們需要對root做一些事情,我們需要su到root,這個sudo廢話毫無意義。
實際上,對于那些強制所有用戶都要使用sudo的類Unix的操作系統來說,我們要做的第一件事情就是sudo su -,然后改變根口令,以便于以后我們可以更加方便地su -。使用sudo就像在帶有充氣減震器的水槽中打保齡球——的確很安全,但是你也別想一展身手了。
品質之二:我們使用vi,而不是emacs,更不可能是pico或nano
雖然我們知道,對于許多Unix管理員來說,emacs更貼心一些,但是,實際上它只是Microsoft Word的Unix翻版而已。vi(和vim)才是那些真正的Unix極客們手中的利器,他們需要在完成任務的同時,不被那些emacs自帶的毫無用處的東西把事情搞糟。Emacs居然內置了一款俄羅斯方塊游戲,簡直是豈有此理!
雖然我只能萬般無奈地承認vim中那些花哨的功能(例如:代碼折疊和語法高亮)可能只是一時失誤,但是,在一天的工作即將結束之際,真正的Unix 工作可以和vi的模型編輯概念很好地融合在一起卻是不爭的事實。除此之外,它那苗條的身材和通用的可移植性可以讓它成為一個真正的編輯器。感謝Bill!感謝Bram!(編輯注:Bill Joy是vim編輯器的開發者,后來Bram Moolenaar對其進行了改進)。
品質之三:我們把正則表達式當成我們的利器
對于正則表達式的排斥,甚至是漠視似乎都是“邪惡”的鍵盤造成的惡果。但是,對于我們來說,它是如詩般優雅的。它的強大表現在,任何其他的著名工具都無法和pcre (Perl Compatible Regular Expressions)的復雜性相匹敵。如果你需要在100000行文件中替換掉每一行的第三個字符(除了那些后面是數字4的字符之外),那么正則表達式不只是完成這個任務的一個工具而已——它還是完成這個任務的唯一工具。那些可憐的人時常會在他們的email中接收到一些字符串片段和一些聲淚俱下的請求(尋求一個解析這些字符串的正則表達式),一般還會承諾請你喝一杯(但是從來沒有兌現過)。
品質之四:我們天生就比較懶惰
當遇到一個看起來需要很多手工的,重復性的工作才能解決的問題的時候,我們這些守舊派的Unix代表一定會選擇編寫一些代碼來搞定它的。這通常會比手工操作更加節省時間,雖然有時候事實也并非如此。無論如何,我們寧愿把時間花費在可以以后被引用或者使用的工作上面,也不愿意簡單地修復眼前這個問題。通常,當幾年以后我們遇到了類似的問題,然后可以從我們的起始目錄(home directory)中的一個文件yank幾百行Perl代碼,在短短的幾分鐘之內解決掉了這個問題,然后回過頭去分析那些可以提高工作效率的其他代碼的時候,我們就可以獲得回報了。或者,我們也可以去玩一下憤怒的小鳥。
品質之五:我們更喜歡優雅的解決方案
如果有好幾種方法可以修復一個問題或者實現一個目標,那么我們會選擇花費更多的時間來開發一個既可以解決當前的問題又能防止將來發生類似的問題的解決方案,而不是簡單地貼上一塊邦迪牌創可貼。這是因為我們討厭再次遇到那些在我們的印象中已經解決過的問題。我們認為,如果我們可以提前多考慮幾步,防止將來發生類似的問題,那么在將來,我們可以節省更多的精力。通常我們都是對的。
品質之六:我們一般對事不對人
enlightenment有足夠的把握可以讓你的Unix基礎知識達到一定的水平。這意味著我們從不認為一個問題會一直存到我們發現它為止。告訴一個優秀的Unix管理員,一個文件“vanished”了,他只會輕蔑地嘲笑你。證明給她看,這真的發生了,他就會不知疲倦地研究這個問題了,直到可以找到一個合理的原因和解決方案為止。許多人都認為這是傲慢和自負的表現。的確是——但是我們有這個資本。
品質之七:我們研究問題的時候,比醫生的檢查還要細致
當處理一個大問題的時候,我們在“尸檢”上花費的時間要比我們解決這個問題所花費的時間多得多。如果不是工作壓力太大,讓我們無暇分身去研究這個問題,那么我們一定會搞清楚這個問題的確切原因的。在一個強悍的Unix管理員的工作中,不存在不可思議的現象。每一種情況必須要有邏輯起點,而且可以按照合適的路徑來追本溯源。簡而言之,每一件事情都有原因,在找到這個原因以前,我們絕不放棄!
對于我們來說,通過HUPping一個進程,或者改變一個文件或777目錄的權限來“止血”是一件很容易的事情,但是這連成功的一般都算不上。為什么這個進程必須要重啟?這并不是必須的,我們需要知道為什么。
品質之八:關于Windows,我們知道的也很多(過去我們只是裝作不知道而已)
雖然在我們自己的機器上,我們可能并不運行Windows,而且,對于Windows服務器,我們似乎也不屑一顧,但是在診斷和修復Windows 問題方面,我們卻是行家里手。這是因為,當它們的“鮮血”流到我們的“版圖”上的時候,我們必須要處理這些問題。但是,我們不喜歡承認這個事實,因為大多數情況下Windows都沒有Unix那樣深厚的邏輯基礎,這讓我們很困擾。參見上面的品質五和品質六。
品質之九:幾乎從來都不選擇重啟
Unix設備不需要重啟。如果并非絕對沒有其他選擇,我們會花費數個小時在系統運行的狀態下修復這個問題,而不是重啟。我們的想法是除了內核或硬件改動,其他情況下都沒有理由去重啟,重啟只是修復這個問題的臨時辦法而已。如果這個問題發生了一次,并且通過重啟被“修復”了,那么它還會再次發生的。我們寧愿修復這個問題,而不是簡單地拔掉電源,等著它再次發生。
從“謊言”的角度來看,這些品質中的某些品質看起來會有點另類或者難以理解,那是因為他們本來就是如此的。其他人只能看到棘手和困難的時候,我們卻看到啟示,學習,經驗,更重要的是,我們看到了邏輯。
關鍵字:Unix 服務器
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解