如何系統的學習linux

    首先,我想引用一下別人說過的一句話:除非在過去的十年你一直生活在山洞裏,否則你一定聽說過linux.

    是的,現在聽說過linux,會一點linux基本操作的人多如牛毛,然而真正能用linux做一點事情的確少之又少,這就造成了現在的狀況:各大 linux論壇十分熱鬧,但我國linux人材卻還十分緊缺.到底是什麼原因造成了這樣的狀況? 糾其原因,只有兩個字:浮燥!    

    如果在論壇裏來一次調查投票,看一下在論壇裏的人到底有多少人手頭有一本以上的正規linux教材.我想這個數字不會超過30%. 如果再問一下,有多少人完整的讀過各發行版自帶的入門文檔,系統定製文檔,系統管理文檔和系統安全文檔,恐怕這個數字不到10%. 如果進一步再調查一下究竟有多少人靜下心來學習過操作系統和計算機網絡等和linux學習十分密切的專業課程,那麼恐怕只有3%的數字都不到了。這讓我想到了98年前後IT泡沫時代的中關村.在中關村的大街小巷,到處是一個個意氣分發牛哄哄的IT精英.他們戴着默鏡,剔着小平頭,張口閉口都是網絡、安全、信息、黑客、代碼、產業。T恤背後寫着三個字:別惹我! 然而最後IT泡沫一過,只有那些真正肯安安心心靜心學習的人在IT界存活了下來。
  現在國人學習linux的狀況也是這樣,學linux的人個個都意氣分發,以爲學習linux會用 linux是多麼了不起。學了一點皮毛就認爲很牛了,但是那些企業用人單位卻很難找到真正適合的linux人材.因此,我想就目前的狀況發表一下我的看法。
  首先,這篇文章是寫給那些想成爲linux高手,並真正想用linux做些事情的人。如果你只想做一個菜鳥,沒事的時候在你雙系統啓動的電腦上偶爾選一次 linux,然後沒事進去偷着樂,那就請你自便。另外,我想說明,和真正的牛人比起來,我自己還處於一個比較低的水平。我沒有讀過內核源代碼,不知道 linux工作原理等等,但是通過摸索,至少我已經找到了通往高手的道路的方向。因此還是想說兩句。

  1.linux不是玩具 
  
  如果你想系統的學習linux,你必需清楚的認識到這一點。現在有很多人,號稱是linux愛好者,但是他們大部分的事情還是用windows做,而linux只是作爲一個隨便玩玩的系統。他們懂得一些linux的基本操作,知道有linux這個玩藝,也因爲經常聽人家說linux好就咬定了linux就是好。只要有人說linux比windows差,那麼他們就奮起反駁,他們也看不起用windows的人,認爲用windows的人水平低。但是自己用電腦的大部分時間還是用windows並且把重要的文件都放在了windows分區,因爲他們骨子裏只把linux當做玩具,沒有真正領悟 linux的精髓所在。如果你真正想系統的學習linux,想用linux有所作爲,那麼請忘記windows的思維方式,慢慢感受和習慣linux的操作方式,總有一天你會真正體驗到他的奧妙所在,從而從自己內心深處喜歡他,使用他,而不是爲了趕時髦或向人炫耀而使用他。  
 
2.手頭有一本好的入門教材嗎
    
   "如果你還沒有好好的讀完過一本linux安裝及入門教材就不要到初學者論壇來問題!因爲你連問問題的資格都沒有! " 這是我的一個比較偏激的觀點。  
  如果你現在開始下決心學習linux了,那麼第一件你要做的事情是到書店去挑一本好書。而不是到論壇社區去問該用什麼版本,該如何學習 linux。一本好的入門教材可以讓你快速領悟linux的操作方式,系統的基本使用等等。而且都是前人總結經驗寫出來的,他可以幫你搭起一個學習 linux的框架,對linux有一個總體的認識。就好比建一撞大樓前先打好地基,搭好混凝土框架。以後就可以慢慢往這個框架裏添磚加瓦,最後建起大樓。而那些想急於學習的,不想看書,只想靠混論壇來學習linux知識的人,就好比建一撞大樓,今天建好第一層,然後第一層就要全部粉刷好,裝修好,傢俱買好住進去,然後第二天再開始建第二層。這樣沒有整體規劃的學習是學不好linux的,最後的結果是浪費自己的時間,也浪費別人的時間。如果你不信,可以讓實事去告訴你,以一年爲限,你和你的一個朋友同時從0開始學linux,計算機基礎差不多。你去買幾本好書自己慢慢看邊看邊做實驗,讓你的朋友整天到各大論壇瞎混零散的學些linux知識。也許一開始,你的朋友會比你懂得多,但是一年以後你的水平肯定在你的朋友之上。在初學階段,不要隨便在論壇上發問,多看書是根本,即使真的非問不可的問題,也要先自己動手察資料解決。實在不行再來問,高手不會鄙視菜鳥,因爲每一個高手都是從菜鳥過來的,他們都知道菜鳥的苦衷。但是高手會看不起那些自己不願動手動腦不會學習解決問題而只想得到現成答案的人。那樣的人會被高手在心裏暗罵成不配用linux的蠢貨。  
  你需要以下幾種書:一本好入門教材->一本linux指令參考手冊->linux系統管理手冊->講解linux系統原理的書。 
  一開始,你只需要入門教材就可以了。並且嚴格安教材的講解去學習,不要一天到晚想着去裝顯卡驅動啦,裝遊戲啦,裝軟件啦,這些都沒有必要。你就當你自己的電腦不能上網,只能通過看書學習。慢慢看書,穩抓穩打,慢慢地就融會貫通了。這時候你再到linux初學者論壇去看看,你在那裏早已經是高手了。 
 另外,一開始你要選定一本入門教材,但是不能只看一本,因爲有些書上講的,可能是另外的書上沒有的.因此,重 點選一本教材看完.然後再看兩三本入門教材瀏覽一下.作爲對第一本書的知識的擴充和鞏固. 在看書過程中,如果你有什麼不懂的,不要急於上論壇問,自己認真看幾次,實在不懂沒有關係,把問題放在那裏.不要鑽牛角尖不懂不肯放手,這種精神是好的, 但是方法是錯誤的.你儘管學下去,也許你看完書本以後的內容,就對前面不懂的內容豁然開朗了.這是在學習linux中常有的情況.   
 另外,現在很多入門書籍是針對非技術型用戶的.(我把那些對linux本身不感興趣,只想用他來上網,聽音樂和打字的人稱爲非技術型用戶,而把對 linux本身感興趣的人稱爲技術用戶)
  這些針對非技術型用戶的入門書籍幾乎通篇都是插圖,講解的內容都是如何在圖形界面下操作.這些書籍並不能幫 你成爲一個高手.反而會讓你養成倚賴鼠標和圖形界面操作的習慣以後很難改掉.因此不能看這些書,一定要買那些一開始就從系統基本機構基本命令開始講解的書 籍.我看過的第一本linux入門書籍共有十多章,但是他從第十一章開始才大致的講解了一下圖形界面的知識.我很感謝這本書,讓我一開始就脫離了 windows的思維方式,給我以後的進一步學習帶來了很大幫助.  
  完成以上的內容,你就完成了建大樓打地基建混凝土框架的過程了.可以接下來進一步學習了. 
 
  3.你看完系統自帶的文檔了嗎?
  
  當你完成入門的過程後,就可以開始讀其他的文檔,然後到論壇的精華區看看,向你建起來的大樓框架中添磚頭 了.當然 ,首先要讀的,還是系統自帶的文檔. 
   絕大多數linux發行版都自帶非常詳細的文檔.比如我一直在用的redhat,他有從系統安裝到系統安 全,針對不同層次的人的詳盡文檔.靜下心來,把這些文檔讀完,比看任何論壇的精華區都有用.書籍和文檔就好比是你每天都離不開的一日三餐,論壇區的精華文 檔就好比是點心和水果.你可以不吃點心和水果,但是決不能不吃正餐.  
  當然,不能爲看文檔而看文檔,你一定要邊看邊安文檔中說的做試驗驗證.這樣才印象深刻,否則看過就忘記了等 於沒有看.  
  另外,如果真心想學習linux就不要吝嗇,也不要害怕丟失數據而不敢做實驗.我建議你去買一個小的二手硬 盤,然後放開手幹.不要怕丟失數據而不敢做,如果你沒有學會技能,將來做了linux系統管理員或者網絡管理員到那時因爲不會而丟了數據就是大事情了.   
  4.學習linux不是逛自由市場. 
 
  經常看到有人問用什麼版本的linux好,其實只要你認真學習無論什麼版本都挺好的.要知道,開發 linux發行版的人都是通讀過linux內核代碼,對 linux原理極其精通的人,而且每一個開發團隊都對他的發行版做過測試後放出的.那些國際知名的大品牌更是如此. 因此,討論什麼版本好並無意義,關鍵是你是不是真心想學.不過,爲了避免曲高和寡,最好選用的人多的版本,比如redhat manrake suse 等等. 國內有一兩個linux版本做的也不錯,但是國內的linux都是面向非技術型用戶開發的,因此,如果你想成爲高手,建議不要用國內的版本.  學習 linux不是逛自由市場,選定版本就要靜下心來學習.不要今天換版本明天要升級.這樣對你沒有好處.我見過一些人號稱用過十幾種甚至幾十種 linux,向人談論起來頭頭是到,好像懂的很多,但是如果你讓他去用linux搭建一個web服務器,做一個linux網關,他就什麼都不會了.他們把 時間都浪費在了版本的轉換上了. 
 
  5.你能看懂英文文檔嗎?  
  談論這個問題,我有點低氣不足,因爲我自己的英語很差.但是, 至少我可以無障礙的讀完一般的計算機文檔.計算機英語很簡單,只要熟悉了計算機專業英語,高中畢業的水平就可以輕鬆的閱讀計算機文檔了.如果你的英語實在 太差了,連最簡單的計算機英語文檔都看不懂,那麼在學習linux的同時,請趕緊學習英語.也許你說,你可以看翻譯的文檔,當我還是一個菜菜鳥的時候,也 是這樣認爲的.但是,後來才發現,如果你想深入學習linux,看不懂因爲文檔實在是太難了.寫的最好的,最全面的文檔都是英語寫的,最先發布的技術信息 也都是用英語寫的.即便是非英語國家的人發佈技術文檔,也都首先翻譯成英語在國際學術雜誌和網絡上發表.你去看看各大軟硬件生產商的官方網站,有哪一個不 是用英語作爲其主站的? 長期用windows的人會很不習慣這一點,裝個軟件還要看半天文檔,應爲windows用起來實在太簡單了.但是如果你想學習linux就必需學會看各 種文檔,而大部分的文檔都是用英語寫的.我發現很多人甚至連man文檔都不會看,有什麼命令不會用了就跑到論壇上來問,還裝出一副可憐相,乞討一個命令的 用法.有這些時間還不如自己看看man文檔,即使你一個一個單詞的翻譯成中文再自己看都比問別人強,因爲別人的回答再怎麼詳盡都比不上man文檔詳盡.安 裝一個新的軟件時先看README,再看INSTALL然後看FAQ,最後才動手安裝,這樣遇到問題就知道爲什麼.否則,說明文檔都不看,結果出了問題再 來找答案反而浪費時間! 古人說欲速則不達就是這個道理! 
   
6.忘記windows的思維方式 
   思想性的轉變比暫時性的技術提高更有用,因爲他能幫助你加快學習速度.現在很多人用linux.但是,他 們用linux的方式完全是 windows的那一套方式.骨子裏都是windows的思想.這樣是不能領悟linux的精髓體驗不到他的優越性的.我前幾天看到一個朋友要把剛裝了不 到2天的mandrake 10 刪除掉,我問他爲什麼,他說太慢了,受不了,還是用windows快.然後我留意了一下他用linux的方式,他的所有操作都帶着windows的影子. 他連最基本的刪除,移動文件這樣的操作都要用鼠標,這樣當然慢了!最後我只好說,你刪除吧,你不適合用linux,linux不是這樣用的.各位可以去看 看那些linux高級用戶,他們是怎樣操作的.通常他們都是在X上開一個xterm或者rxvt終端,80%以上的操作都在這個終端下用命令完成,因爲 linux的命令行十分強大,速度也十分快,簡單的幾個命令的組合就能完成非常複雜的操作.舉一個例子:linux的常用命令find,去看看man文 檔,初學者一定會覺得太複雜而不原意用,但是你一旦學會了就對他愛不釋手.他的功能實在太強了,在配合exec參數或者通過管道重定向到xargs命令和 grep命令,那麼他能完成非常複雜的操作,如果同樣的操作你用圖形界面的工具來完成,恐怕要多花十幾陪的時間.因此linux高手經常會說:如果沒有 find和grep我們還怎麼活.但是現在大部分的linux初級用戶受到windows影響都喜歡用圖形界面的工具來完成一些基本的操作,我並不是說圖 形界面不好.只是由於linux和windows設計思想的不同他們的操作方式也有很大不同.在windows下用圖形界面操作會比敲命令快,但是 linux是一個命令行組成的操作系統,他的精髓在命令行! 無論圖形界面發展到什麼水平這個原理是不會變的! 
 7.入門以後多學命令  
  當你看完了一兩本入門書籍後就應該擴充自己的知識,多學習linux命令,但是不要在初學階段就係統的學習 linux命令,初學階段只要學會書上提到過的命令就可以了.單靠學習各種命令而成爲高手是不可能的,但不會命令而成爲高手也是不可能的.這就好比學英 語,什麼語法都不懂,只捧着單詞手冊背單詞是學不會英語的,但是沒有單詞詞彙量英語水平也提不高的. 
  在linux中學習命令的最好辦法是學習bash腳本編 程.bash腳本比起其他語言來學習簡單,但是功能 卻十分強大.通過學習bash編程,能讓你掌握大量的linux命令.另外,買一本命令參考手冊是必要的,遇到不知道怎麼用的命令可以隨時查詢,這要比察 man文檔快.特別適合英語不好,看不懂man文檔的人.   
  在linux中,命令可分爲系統基本命令和應用程序命令.系統基本命令是所有的unix類系統都支持的命 令,走到哪都不變,只要是unix類系統上就肯定有.比如ls,rm,rmdir,cp,cd,mv,cat 等等.這樣的基本命令大約有200個,這些命令是一定要掌握的,我買了一本< redhat7 指令參考手冊>這本書非常好,他根據命令的常用指數分類,標明3顆星的爲最常用命令,一定要掌握,兩顆星的其次,1顆星的只要知道一下就可以了雖然 現在都已經FC3了,但是經典的UNIX基本命令幾十年來都沒有變過!另外有些命令是linux特有的或者是某一個應用程序的可執行文件比如xmms播放 器.這些只要知道就可以了,不知道也無所謂.有些命令比較少用,因此通常都記不住他的用法,對於這些命令至少要知道有這個命令,腦子裏有印象,需要用的時 候察一下手冊就可以了,但是決不能不知道這個命令的存在!  
 8.學會管理系統 
   等到有了基本知識,也掌握了一定量的命令用法後,就可以進一步學習管理系統.這些內容入門書上會有,但是 不會很深入.要深入的學習系統管理,就要去買一本類似之類的書.認真的看書並做實驗,可以讓你很快的進步.學習配置各種網絡服務器,用linux搭建網 絡,這些都是學習linux系統管理和網絡管理的好方法. 到了這個階段就可以經常上網察察資料,看發佈軟件的官方網站文檔和FAQ,看看論壇精華區文章.但是不能本末倒置,多看書還是根本.書籍和官方文檔可以讓 你係統的學習,但是論壇可以讓你學到一些小知識,小技巧.我本人也經常到論壇上來看看,因爲即便是一個新手,也可能會發現一些你所不知道的小技巧,看論壇 可以學到這些小技巧.但是我看文檔和看論壇的時間比不會小於4:1 . 可以把平時積累的問題一次在論壇上發問. 但是初學的時候不要頻繁上論壇,因爲你要問的問題都在書上寫着,耐心一點,你很快就能看到了.   
 
9.了結系統結構  
  
   等你有了一定的系統管理知識,知道了/etc下那些配置文件有什 麼 用,知道了一般的網絡服務器如何配置後,就可以去了解系統結構了. 瞭解系統結構不是要你去看什麼文件夾放什麼內容,而是要學習一些原理性的東西.比如系統是如何引導的,引導後啓動了那些東西.系統中哪些是最基本的庫文 件,有什麼用等等.學習系統結構的最好方法是自己做一個linux系統,再也沒有什麼能比自己做一個linux系統更能學習系統結構的了.LFS (linux from strach)可以教你從源代碼自己編譯一個系統.通過自己編譯一個系統,你就可以了結linux系統結構,知道哪些文件是幹什麼用的,以及他們如何協調 工作.當然,在你達到LFS水平之前還有很多事情要做,比如學會如何編譯安裝源代碼發佈的軟件和編譯新的內核等等.到了LFS水平,那麼在大多數 linux論壇上你就可以被人稱作"高手"了!到了這個地步,就相當於一撞大樓已經基本建好,但是還需要粉刷和裝修,真正的細活還在後面!  
  永遠記住天外有天,人外有人的道理.即便有了LFS水平,在那些搞linux系統開發,通讀過linux內 核代碼的人看來你還是一個菜鳥.因此, 請時刻保持虛心的態度.即便是在 論壇上只有一顆星級別的人,也有可能是一個潛在的,真正的高手! 大多數真正的高手平時都在搞研發工作,哪裏有時間上論壇啊! 倒是有很多大學還沒畢業的學生,整天混在論壇上.  
  10.學習專業課程  
  如果你不是計算機專業的,而想把linux學好,就一定要學習專業課程.學習微機原理,操作系統,計算機網 絡等等專業課程是必需 的.爲什麼同時開始學習 linux,有些人學的非常快,不到半年就成了高手,有些人玩來玩去還玩不出名堂,玩了一兩年還是菜鳥? 因爲那些學得快的人有基礎,他們都學過專業課程.同樣一篇文檔,沒有基礎的人可能看了三遍還不明白,基礎紮實的眼睛掃兩下就懂了! 這就是專業和非專業的差別! 因此,要想達到更高的境界就一定要學習基礎的專業課程.
 11.保持虛心學習的態度 
   我想再重複一遍天外有天,人外有人的道理!  保持虛心的學習態度不僅能讓你學到更多知識,而且會讓你受 人尊重.  
  在linux 的世界裏,如果你想靠混論壇,發水貼,換幾顆星星增加一下級別,然後再面對菜鳥說幾句牛哄哄的話來贏得別人的尊重是不可能的.即便是一個剛入門的菜鳥,也 能分辨你回答問題的質量,從而知道你到底有多少水平. 另外,當你成了"高手"的時候,你也能從"菜鳥"那裏學到很多知識.因爲有很多問題是你從來沒有想過的,認爲自己肯定會的,但是實際遇到的時候會有困難. 而"菜鳥"們往往更善於發現這類問題.這就是中國人常說的"教學相長"!  
  在linux的世界裏,越是水平高的人越謙虛,因爲他們知道自己還有很多不知道的,而那些半瓶水就想晃盪的 人反而自以爲是,因爲他們還不知道自己還有很多不知道的! 去看看,www.linuxforum.net 嵌入式開發和UNIX版塊的牛人,他們很多都是有過好幾年linux方面的工作經驗,精通linux和unix的好手,但是每個人都保持着非常謙遜的態 度,這些人是值得尊敬的

--------------
作者說的很經典,
浮躁,
也確實是這樣的,那些真正的是高手是沒有時間天天泡在論壇上發帖的,雖然在論壇上能學習到很多東西,但是這個學習的效率對於看書來說還是非常低的,能夠真 正的靜下心來認真看進去書的,纔是可能成爲高手的人~
非寧靜無以致遠~

 

轉載自:http://blog.chinaunix.net/u/12216/showart_109432.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章