Linux系統管理員成長經驗

Linux學習的路線圖:瞭解Linux 的基礎知識;掌握50個以上的常用命令;掌握.tgz、.rpm等軟件包的安裝方法;學習添加外設,安裝設備驅動程序;熟悉Linux文件系統和目錄結構;掌握vi,gcc,gdb等常用工具;理解shell別名、管道、I/O重定向、輸入和輸出以及shell腳本編程。 
隨着Linux應用的擴展許多朋友開始接觸Linux,根據學習Windwos的經驗往往有一些茫然的感覺:不知從何處開始學起。作爲一個Linux系統管理員,我看了許多有關Linux的文檔和書籍,併爲學習Linux付出了許多艱苦的努力。當真正獲得了一份正式的Linux系統管理工作後,我更加深刻地理解了Linux的靈魂:服務與多用戶。Linux系統知識是非常廣博的,但是隻要掌握了重點知識,管理它並沒有想象中的那麼可怕。在下面我會將作爲系統管理員的一些工作心得和總結出來的經驗系統地介紹給大家。 

    一、 學習的目的 
    通過Linux的學習掌握UNIX的目的想必不用多說了,在這個網絡人才身價倍增的年代,想靠技術吃飯又不想掌握網絡和編程技術是不明智的。當一人第一次聽說Linux並躍躍欲試的時候,總會提出幾個?,它是什麼(What)? 爲什麼要用它(W hy)? 怎樣學習它(How)?做爲開放源碼運動的主要組成部分,Linux的應用越來越廣泛,從我們平時的娛樂、學習,到商業、政府辦公,再到大規模計算的應用。爲了滿足人們的需求,各種各樣的、基於Linux的應用軟件層出不窮。只要具備了LinuX的基本功,並具有了自學的能力之後,都可以通過長期的學習將專項內容予以掌握。 

    二、 從命令開始從基礎開始 
    常常有些朋友一接觸Linux 就是希望構架網站,根本沒有想到要先了解一下Linux 的基礎。這是相當困難的。雖然Linux桌面應用發展很快,但是命令在Linux中依然有很強的生命力。Linux是一個命令行組成的操作系統,精髓在命令行,無論圖形界面發展到什麼水平這個原理是不會變的,Linux命令有許多強大的功能:從簡單的磁盤操作、文件存取、到進行復雜的多媒體圖象和流媒體文件的製作。這裏筆者把它們中比較重要的和使用頻率最多的命令,按照它們在系統中的作用分成幾個部分介紹給大家,通過這些基礎命令的學習我們可以進一步理解Linux系統: 
 安裝和登錄命令:login、 shutdown、 halt、 reboot 、mount、umount 、chsh 
 文件處理命令:file、 mkdir、 grep、dd、 find、 mv 、ls 、diff、 cat、 ln 
 系統管理相關命令: df、 top、 free、 quota 、at、 lp、 adduser、 groupadd kill、 crontab、 tar、 unzip、 gunzip 、last 
 網絡操作命令:ifconfig、 ip 、ping 、 netstat 、telnet、 ftp、 route、 rlogin rcp 、finger 、mail 、nslookup 
 系統安全相關命令: passwd 、su、 umask 、chgrp、 chmod、chown、chattr、sudo、 pswho 

    三、 選擇一本好的Linux書籍 
    無論在論壇還是讀者反饋中,我們看到最多的問題往往是某個新手,在安裝或使用linux的過程中遇到一個具體的問題就開始提問, 很多都是重複性的問題, 甚至有不少人連基本的問題描述都不是很清楚。這說明很多初學linux的人還沒有掌握基本功。怎樣才能快速提高掌握linux的基本功呢? 最有效的方法莫過於學習權威的linux工具書,工具書對於學習者而言是相當重要的。一本錯誤觀念的工具書卻會讓新手整個誤入歧途。目前國內關於linux的書籍有很多不過精品的不多,筆者強烈建議閱讀影印本的“o'reilly原版linux圖書[url]http://www.oreilly.com.cn/[/url] ”,而且出版社還提供了一個非常好的路線圖:[url]http://www.oreilly.com.cn/guide/guide_linux.php[/url] 見圖-1。 

Click Here To EnLarge
四 、養成在命令行下工作 
    一定要養成在命令行下工作的習慣,要知道X-window只是運行在命令行模式下的一個應用程序。在命令行下學習雖然一開始進度較慢,但是熟悉後,您未來的學習之路將是以指數增加的方式增長的。從網管員來說,命令行實際上就是規則,它總是有效的,同時也是靈活的。即使是通過一條緩慢的調制解調器線路,它也能操縱幾千公里以外地遠程系統。 

    五、用Unix思維思考Linux 
    由於Linux是參照Unix的思想來設計的,理解和掌握它就必須以Unix的思維來進行,而不能以Windows思維。不可否認,windows在市場上的成功很大一部分在於技術思想的獨到之處。可是這個創新是在面對個人用戶的前提下進行的,而面對着企業級的服務應用,它還是有些力不從心。多年來在計算機操作系統領域一直是二者獨大:unix在服務器領域,Windows在個人用戶領域。由此可見,用戶需求決定了所採用的操作系統。不管什麼原因,如果要學習Linux,那麼首先要將思維從Windows的“這個小河” 中拖出來,放入Unix的海洋。 

    六 、學習shell 
    對於Shell(中文名稱殼),習慣Windows的讀者肯定是非常陌生的,因爲Windows只有一個“Shell”(如果可以說是Shell的話),那就是Windows自己。用一句話容易理解的解釋就是,shell是用戶輸入命令與系統解釋命令之間的中介。最直觀的說法,一種Shell有一套自己的命令。舉一個容易理解的例子,Linux的標準Shel是Bash Shel;Solaris的shell是B shell;Linux的Shell是以命令行的方式表現出來的。讀者可能會不理解,Windows從命令行“進化”到了圖形界面,那麼Linux現在還使用命令行豈不是一種倒退?

    當初我剛剛接觸Linux時就曾有過這種想法。可是後來發現,如果使用圖形界面,那麼分配給應用軟件的資源就少了,在價格昂貴的服務器上,能夠以較低的硬件配置實現同樣的功能是非常重要的。 
    下面舉例說明,一臺服務器有1GB內存,假設其中512MB用於處理圖形界面,若要安裝一個需要784MB內存的數據庫軟件,惟一的辦法就是擴大內存。但是如果使用命令行,系統可能只需要64MB內存,其它的內存就可以供數據庫軟件使用了。使用命令行,不僅是內存,而且CPU及硬盤等資源的佔用都要節省很多。所以,作爲服務器使用命令行是優點而不是缺點。既然Shell有這麼多優點,就必須要學習它。

    七、勤於實踐 
    要增加自己Linux 的技能,只有通過實踐來實現了。所以,趕快找一部計算機,趕快安裝一個 Linux 發行版本,然後進入精彩的Linux世界。相信對於你自己的 Linux 能力必然大有斬獲。此外,人腦不像計算機的硬盤一樣,除非硬盤壞掉了或者是資料被你抹掉了,否則儲存的資料將永遠而且立刻的記憶在硬盤中。在人類記憶的曲線中,你必須要不斷的重複練習纔會將一件事情記得比較熟。

    同樣的,學習 Linux 也一樣,如果你無法經常學習的話,學了後面的,前面的忘了。你對Linux命令熟悉後你可以開始搭建一個小的Linux網絡,這是最好的實踐方法。Linux是網絡的代名詞,Linux網絡服務功能非常強大,不論是郵件服務器、Web服務器、DNS服務器等都非常完善。當然你不需搭建所有服務,可以慢慢來。需要說明的是這個Linux網絡對於初學者有兩三臺計算機即可。自己多動手,不要非要等着別人幫你解決問題。 

    八、學會使用文檔 
    和私有操作系統不同,各個Linux的發行版本的技術支持時間都較短,這對於Linux初學者是往往不夠的。其實當你安裝了一個完整的Linux系統後其中已經包含了一個強大的幫助,只是可能你還沒有發現和使用它們的技巧。主流Linux發行版都自帶非常詳細的文檔(包括手冊頁和FAQ),從系統安裝到系統安全,針對不同層次的人的詳盡文檔,仔細閱讀文檔後40%問題都可在此解決。查閱經典工具書和Howto,特別是Howto是全球數以萬計的Linux、Unix的經驗總結非常有參考價值通常40%的問題同樣可以解決。安裝一個新的軟件時先看README,再看INSTALL然後看FAQ,最後才動手安裝,這樣遇到問題就知道爲什麼。如果說明文檔不看,結果出了問題再去論壇來找答案反而浪費時間。 

    當查找文檔時, 一定要看文檔是在何種版本、何種環境及何種狀態下出現的何種結果。對於文檔的有效性, 一時還無法在操作前就知道結論如何, 那麼對某個專題或問題,閱讀相關的多篇文章將會節省大量的時間, 還可以保證儘量“乾淨”的環境,有效避免因爲不同操作所造成的更多問題。操作時要仔細覈對各個步驟及輸出的結果,儘量保持與文檔一致。

    九、在Linux論壇獲取幫助 
    如果上面的措施沒有解決問題,此時你就需要Linux社區的幫助了。需要說明的是你要有周全的思考,準備好你的問題,不要草率的發問,否則只會得到到草率的回答或者根本得 不到任何答案。越表現出在尋求幫助前爲解決問題付出的努力,你越能得到實質性的幫助。最好先搜尋一下論壇是否有您需要的文章。這樣可以獲得事半功倍的效果。 

    你需要提供精確有效的信息。這並不是要求你簡單的把成噸的出錯代碼或者數據完全轉儲摘錄到你的提問中。如果你有龐大而複雜的測試條件,儘量把它剪裁得越小越好。可能你會遇到這種情況,對於一個問題會出現不同內容回答,這時你需要通過實踐來驗證。另外把這個問題放在其他Linux社區請求幫助也是一種選擇。如果得不到答案,請不要以爲我們覺得無法幫助你。有時只是看到你問題的人不知道答案罷了。這時換一個社區是不錯的選擇。 

    十、學習專業英文 
    如果你想深入學習Linux,看不懂因爲文檔實在是太難了。寫的最好的,最全面的文檔都是英語寫的,最先發布的技術信息也都是用英語寫的。即便是非英語國家的人發佈技術文檔,也都首先翻譯成英語在國際學術雜誌和網絡上發表。 
通過man、info等命令,可以從在線幫助中快速地獲得所需要的命令和操作方法。不要害怕海量的系統幫助,仔細閱讀幾個man或info文檔就會發現,這些幫助幾乎都按照固定格式寫成一命令名稱、參數、參數說明、使用例子、參考等。當英語成爲一種習慣, 就會自覺地查找或訂閱互聯網上感興趣的英文材料。這樣,在不知不覺中就已經和世界同步。 

    十一、在社區共享你的經驗 
    隨着Linux應用的擴展,出現了不少Linux社區。其中有一些非常優秀的社區:水木清華、其中有一些非常優秀的社區:[url]www.linuxforum.net[/url](國內最高水平GNU站點)、[url]http://www.chinaunix.net/[/url] (中國最大的Unix技術社區),隨着知識的不斷積累,就可以把自己動手解決一些前人沒有遇到的問題寫出文檔在網絡上共享給其他讀者。這個時候, 也就成爲了一名“高手”。Linux的使用者一般都是專業人士,他們有着很好的電腦背景且願意協助他人,Linux高手更具有鼓勵新手的文化精神。 

    最後是一個筆者的Linux學習的路線圖(roadmap): 

 瞭解Linux 的基礎知識,這些包含了用戶管理、羣組的概念、權限的觀念等; 
 掌握至少50個以上的常用命令; 
 掌握.tgz、.rpm等軟件包的常用安裝方法 
 學習添加外設,安裝設備驅動程序(比如網卡) 
 熟悉Linux文件系統 和目錄結構。 
 掌握vi,gcc,gdb等常用編輯器,編譯器,調試器 。 
 理解shell別名、管道、I/O重定向、輸入和輸出以及shell腳本編程。 
 網絡的基礎包括: 掌握路由概念、OSI七層網絡模型、TCP/IP模型及相關服務對應的層次對於Linux學習非常重要的。然後學習Linux環境下的組網。 

    以上是筆者學習Linux一些經驗,希望對你有些幫助。

來自:[url]http://tech.it168.com/j/n/2007-06-29/200706291148187.shtml[/url] 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章