|
发表于 2005-10-10 01:44:50
|
显示全部楼层
首先,我想引用一下別人說過的一句話:除非在過去的十年你一直生活在山洞裏,否則你一定聽說過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個,這些命令是一定要掌握的,我買了一本< redhat 7 指令參考手册>這本書非常好,他根據命令的常用指數分類,標明3顆星的爲最常用命令,一定要掌握,兩顆星的其次,1顆星的只要知道一下就可以了雖然現在都已經FC3了,但是經典的UNIX基本命令幾十年來都沒有變過!另外有些命令是linux特有的或者是某一個應用程序的可執行文件比如xmms播放器.這些只要知道就可以了,不知道也無所謂.有些命令比較少用,因此通常都記不住他的用法,對于這些命令至少要知道有這個命令,腦子裏有印象,需要用的時候察一下手册就可以了,但是决不能不知道這個命令的存在!
8,學會管理系統
等到有了基本知識,也掌握了一定量的命令用法後,就可以進一步學習管理系統.這些內容入門書上會有,但是不會很深入.要深入的學習系統管理,就要去買一本類似<linux系統管理大全>之類的書.認真的看書幷做實驗,可以讓你很快的進步.學習配置各種網絡服務器,用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的好手,但是每個人都保持著非常謙遜的態度,這些人是值得尊敬的 |
|