為什麼要學習 Linux?

有同學說他想學習 Linux,問我如何學習,我就問:為什麼學習,有些說看別人學習,想玩玩;有些說 Linux 就業好,等等。想問問大家當初學習 Linux 的目的是什麼,學習過程是什麼樣的,現在什麼程度,還有就是學習 Linux 的過程應該是什麼樣的。


以下內容轉自 http://mat.uc.pt/~zhang/blog.html 。轉載請註明出處。

自由談 (2014 年 3 月 15 日,科英布拉)

起這麼嚇人的一個題目,其實只是想寫一下 Linux。但我保證決不做標題黨。 請注意,這是一篇充滿正能量富有哲理的小清新雞湯文,操作系統狂熱分子請止步

用 Linux 五年多了,但此前我從來沒有就此寫過一句話。不過我倒是經常問別人:你用什麼操作系統?尤其對剛認識的人。因為用 Linux 的人很可能跟我三觀接近,比較容易成為朋友 (警告:逆命題不成立!)。一個無關痛癢的問題能提供如此重要的信息,何樂而不為之?

「三觀」 這個詞眼下很流行。這原本是一個嚴肅的概念,現在也不可避免地被解構了。我說的是它的本意。一個人的三觀是什麼決定的?無非是她/他經歷的人與事。正常情況下,能影響到三觀的經歷只佔極少數。對於跟我一般固執的人,這個比例就更低。如果連中午吃饅頭還是米飯都管用,這三觀也忒不值錢了。

那些重要的人恐怕在回憶錄甚至遺書里才好寫,重要的事倒是可以提前說道說道。對我而言,從 Windows 轉向 Linux 可算是其中之一。

一個操作系統而已,似乎跟饅頭和米飯沒多大差別,有這麼重要嗎?

回答這個問題之前,我們先來看看 Linux 與 Windows 最本質的區別在哪裡。有人會說前者免費,後者需要買 (或偷)。這只是對 「free software」 的曲解。在我看來,二者最重要的區別乃是它們對自己的用戶所做的假設對於 Linux,這個假設是:

用戶知道自己想要什麼,也明白自己在做什麼,並且會為自己的行為負責。

而 Windows 則恰好相反:

用戶不知道自己想要什麼,也不明白自己在做什麼,更不打算為自己的行為負責。

說得更直接一些,前者假定用戶是負責任的聰明人,後者反之。Linux 用戶不必沾沾自喜,Windows 用戶先把刀放下。這些只是假設,它們的 (不是我的) 假設。

這麼滴吧,我講個故事,一來呢,測驗一下你的智商;二來呢,緩和一下尷尬的氣氛。聽好,可招笑了。說,要把大象裝冰箱 … 呃,不,故事是這樣的:

一位雕刻家愛上了自己創作的女神雕像。他每天對著雕像說話。最後,那座雕像真的變成了一位女神。

這個故事還有另一個版本,你肯定聽過:

在一所小學裡,心理學家隨機選擇 20% 的學生,告訴老師他們比別人更聰明。一年之後,這些學生的 IQ 測驗果然 (在統計意義上) 更佳。

這個故事流傳甚廣,但很少有人給出參考文獻。這是歷史上真實存在的一個試驗,1963 年由羅勝道與賈步升在美國加州南舊金山市橡樹小學實施。羅是加州大學心理學家教授,而賈時任橡樹小學校長。二人於 1968 年就此試驗發表了《課堂上的畢馬隆效應》,這裡是 BibTeX:

@book{pygmalion,
title={Pygmalion in the Classroom: Teacher Expectation and Pupils" Intellectual Development},
author={Rosenthal, R. and Jacobson, L.},
url={http://books.google.pt/books?id=9HbuAAAAMAAJ},
lccn={lc68019667},
year={1968},
publisher={Holt, Rinehart and Winston}
}

畢馬隆是希臘神話里的一位雕刻家,就是愛上自己作品的那位。這 (兩) 個故事告訴我們:第一,只要功夫深,不怕女神不動心;第二,如果有心理學家來你們學校做試驗,躲得越遠越安全 —— 80% 和 20%,你覺得哪個幾率更大一些?

細心的人可能注意到,上面的故事還告訴我們,他人的期望會在一定程度上影響我們的行為。這就是羅勝道與賈步升所說的 「畢馬隆效應」。

Windows 如何影響用戶的行為我不清楚,而 Linux 對用戶的影響倒是十分有意思。既然假定 「用戶知道自己想要什麼,也明白自己在做什麼,並且會為自己的行為負責」, 如果發生畢馬隆效應,那麼相當一部分用戶會慢慢學會用自己的腦袋思考,按自己的意志行事,並為自己的行為負責。這就是自由,也是 「free software」 之 「free」 的本意。

說到自由,不能不提 John Stuart Mill (約翰·斯圖亞特·穆勒) 的 On Liberty (《論自由》)。 我有一本嚴復先生譯的《群己權界論》,買英文版贈的。由於是贈本,印刷裝幀不免略顯簡陋。一次,我的一個同學拿起這本書看了兩眼,問我,這是什麼書,不是哪個邪教的教義吧?嚴復恐怕想不到,在他身後近百年,在他的國家二度成為共和國之後六十多年,一個受過良好教育的高級知識分子會把他的譯著當做 「邪教教義」。

可能有人要問,所謂的 「按自己的意志行事」 不容易發展為自私自利嗎?的確如此,如果沒有後面那句 「並為自己的行為負責」 的話。這就是嚴復把 「On Liberty」 譯為「群己權界論」 的原因。任何一個人,只要不是離群索居,她/他的自由就有一定的界限,而所謂 「為自己的行為負責」 至少包括遵守界限並承擔越界的一切後果。自由絕不等於為所欲為。如果有人說 「free software」 就是用戶可以為所欲為的軟體,那還不如認為它是 「免費軟體」。

前兩天聽到一個有意思的觀點:全能型政府治理下的老百姓往往公德心不太好。比觀點更有意思的是解釋:如果家裡來了一個保姆,請來之後才發現他什麼都管,從頭到腳為你立一堆規矩,更不幸的是這個保姆還辭不掉,那很多人可能會 「理性地」 選擇與保姆對著干 —— 亂扔煙頭、隨地大小便、擾亂他幹活。觀點我同意,但解釋我不敢苟同。在我看來,這種現象跟操作系統影響用戶行為是一個道理,不過是畢馬隆效應罷了。既然假定老百姓素質不高、無法自理,那麼久而久之這可能會變成 (統計意義上的) 現實。與之相關的是陳港生的名言 「國人需要管」。這句話本身無可挑剔。「群己權界」 本來就暗示每個人都要為他人讓渡自己的一部分自由;在社會上這需要通過管理來實現,所以 「每個社會人都需要管」,國人自然不例外。不過,如果陳先生的意思是 「國人比別人更需要管,因為國人比別人更不具備公民素質」,那可要小心了。一旦這種言論大行其道,其畢馬隆效應將是非常可悲的。另外,不難注意到,這其實是一種種族歧視言論。在一個高級知識分子把《群己權界論》當邪教教義的社會裡,即便有人堂而皇之散布這樣的言論也不奇怪。當然,這都是誅心之論,陳先生是好的。

好像越扯越遠了,說好的 Linux 呢?其實我對 Linux 的了解十分有限,從來是現學現用,谷哥就是我的老師。所以,我沒有資格在技術層面上談論 Linux。不過有幾個非技術問題倒是可以探討一下。

問題一:Linux 對用戶友好嗎?

回答:「Linux is user-friendly. It"s just very selective about who its friends are.」 這句話沒有出處,主語本來是 Unix,但 Linux 是 Unix 的一種 (嗎),所以它對 Linux 也成立 (吧)。很多人把這句話當作笑話,但對照一下 Linux 對用戶所做的假設,我們會發現這句話嚴肅至極,一點都不好笑。Linux 對用戶很友好,但它對自己的用戶是有假定的。如果你感覺不到他的友好,那說明你不滿足假定。

問題二:聽你一說,Linux 好像很高大上的感覺。如果我棄 Windows 從 Linux,用不了多久就會升職加薪當上總經理出任 CEO 迎娶白富美走向人生巔峰吧?想想還有點小激動呢!

回答:我不知道你是從哪裡聽出 Linux 高大上的。至於你的問題嘛,我還是再講個故事吧:

一個女生要從三個追求者中選擇一個作為自己的白馬王子。三人通過重重考驗,來到最後一關。女生要求他們亮出自己的筆記本電腦,結果發現第一個追求者用的是 Windows,第二個用的是 Linux,而剩下那個用的當然是 Mac 了。最後她選了胸大,哦不,最有錢的那一個。

對了,你不會天真到以為用 Mac 的就一定有錢吧?

問題三:上面那個故事裡的女生到底應該選哪個?

回答:如果你對故事裡給出的答案不滿意,這個問題就難了。不過,如果這個女生想做女王大人,斷不可選擇第二個追求者。否則,根據畢馬隆效應,白馬王子可能會因抑鬱而自盡。

問題四:到底 Windows 和 Linux 哪個好?我該用哪一個?

回答:Linux 和 Windows 哪個好?這個問題就跟糾纏豆腐腦該加糖還是加鹽一樣沒有意義。操作系統只是一個工具,適合你的就是最好的。Linux 傳教士們,省省吧!「自由即責任,世人多畏之。」 不論到什麼時候,Linux 用戶都將是相對少數,這是人性決定的。如果真的理解 Linux 的哲學,那你應該明白,每一個人都可以問 「我該用哪個」,但任何人都不應管 「她/他該用哪個」。Windows 支持者們,不要再說 「Linux 我試過,太難用,跟 Windows 差距太大」。這很可能是你的真實感受,但明智的做法是裝作從來沒試過,不要宣揚。原因很簡單:「若無力駕馭,自由便是負擔。」

問題五:你怎麼不說 Mac?

回答:買不起。

問題六:說好的哲理呢?說好的正能量呢?說好的小清新呢?說好的雞湯呢?我看你就是一個 「操作系統狂熱分子」 吧?

回答:曾經是,但經過積極改造,現在已經重新做人,成為一個實用主義者了。只要滿足以下三條,任何操作系統我都樂於接受:

1. 用戶自主。用戶決定系統如何工作,而不是反之。任何提示用戶 「正在安裝更新,請不要關機」 的行為都跟不以結婚為目的的戀愛是一個性質。用戶是機器的主人,操作系統只是用戶請來的助手;用戶知道自己想要什麼,明白自己在做什麼,也會為自己的行為負責;操作系統盡量少說話,更不要下命令。用戶自主還蘊含系統的可定製性:用戶可以對系統做任何配置或改造。

2. 用戶知情。如有必要,用戶可以獲知系統工作的任何細節,而不是僅僅被告知 「正在處理一些事情」 —— 這比不以結婚為目的的戀愛還讓人無法接受。

3. 系統高效。在此系統下用戶可以很方便地獲得各種工具,並且不同工具能很容易地組裝在一起完成複雜的工作。機器更多是用來幹活的,所以這一點很重要。

以此為標準,Linux 目前是個不錯的選擇,而 Windows 不滿足任何一條。

怎麼,你仍然認為我是操作系統狂熱分子?對不起,真不是,我只是選擇了自由。

Liberty means responsibility. That is why most men dread it.

?—? George Bernard Shaw

Unless a man has talents to make something of himself, freedom is an irksome burden.

?—? Eric Hoffer


u首先想問您的是,你要學習Linux來幹嘛?

如果你是興趣的話,可能會有如下的答案:

Linux是免費的不用花一分錢,能夠節約大筆的成本;

Linux是開源的,你可以根據自已的需要修改源代碼;

Linux是開放的,有廣泛的社區,關於Linux的討論要遠遠高於windows操作系統;

學習Linux可以更好的掌握計算機技術;

Linux是未來發展的趨勢,伺服器,手機,掌上電腦,平板機很多都採用Linux操作系統;

Linux有非常多的發行版本,你可以根據需要做出不同的選擇;

Linux讓你多了一個選擇,而且Linux下的病毒相比Window可以忽略不計;

Linux是一種自由哲學,一種開源的信仰;

最後Linux很好玩,讓人著迷……。

如果你是要入行的話,那其實就需要了解Linux的前景了。

Linux因為開源、免費、性能強大,現在越來越受到人們歡迎,新浪、百度、京東、阿里的後台全部都是linux系統,做為一個想要長期從事IT的同學們來說,學習Linux是非常好的選擇。

世界上最快的超級計算機90%以上都使用Linux或類似操作系統,說明Linux速度快;

而且簡裝的Linux(如LFS)估計也是特別適合老機器了;

如果你聽說過Android的話,你就會知道Linux將廣泛應用於平板電腦和手機;

如果你體驗過Chorme OS,Google doc,或者WebQQ的話,你會覺得操作方式有點仿Linux;

還有很多軟體一般都是現出類-Unix版本,然後才出Window版本;

Linux下很多軟體都是跨平台的,反之Window則不是;

Linux在Web上的優勢,也將會在WebOS,雲時代得到充分迸發……。

有人在IT技術方面很執著,卻沒有意識到自己大量的時間在網上查找搜集資料,很少的時間花在學習上,網上免費的視頻資料很多 成體系的很少,賣別人視頻教程的挺多,能為你解答問題的人很少,對於想從事IT行業的來說,從網上搜索的到的雜亂的一堆課程,你不知道應該學習那些課程,也不知道學習順序,更不知道企業中所用的實戰架構,很多東西學習浪費很多時間,學完後卻發現這些知識點企業早已不用,或者已經淘汰,我們要把有限的精力放在值得學習的知識上,而報班之後可以完美的所有這一系列問題。

報培訓班目前主要分為兩種: 1、線上教育 2、線下教育

四、線上與線下教育的優缺點

1、線上教育的價格僅是線下教育的五分之一,可以花更少的錢學到更多的知識,性價比最高,而且學習時間都是自己的業餘時間,不會影響工作和家庭。

2、線下教育,每天要去培訓機構,工作完全放下,會消耗更多的精力和費用,過度的浪費時間也是資源的一種損耗,而且費用昂貴。

最後啰嗦一點,如何選擇Linux?

Linux有數以千計的選擇可供你挑選,選擇哪一種完全基於你機器硬體配置,對穩定性的要求,工作和學習需要,計算機和使用Linux操作的水平,或是趕時髦的個人嗜好等等。

第一根據自己的硬體,你的硬體是32位你也裝不了64位,你是老機器,就不要勉強體驗最新版KDE,不然備受折磨,不但要心有餘而且還要力足才行。

第二看你的應用平台是做什麼,做伺服器當然要選擇穩定的伺服器版本;個人電腦選用軟硬體技術支持較新的最新穩定版本,測試開發可以選最前沿的不穩定版本;老機器選用最初始的LFS或者較老的版本;

第三是如何選擇桌面環境,這個就好比穿衣服,硬體就是你的經濟能力,硬體好可以穿新衣服和豪華的衣服,如KDE,Gnome,Unity,硬體不好就只能穿Xfce,Lxde,再差就穿Blackbox等Boxes直流,以及2000行代碼左右的操作條。當然穿衣服嗎,畢竟還有個人喜好的問題,反正相同條件下,穿的越簡樸,跑的也越快。 總之所有的Linux發行版,內核都是一樣的,只不過是新舊的區別,所謂不同僅在於針對不同的硬體進行了配置和優化;針對不同人群喜好穿不一樣的衣服(桌面環境+軟體);針對不同的專業人士提供不同的軟體包(教育類Eubuntu,GIS的Poseiden,CAD的CAELinux等);開發配置不同的軟體管理和更新庫的軟體;最後就是本身的設計理念和哲學各自版本不大相同。蘿蔔茄子各取所愛,你完全可以去DistroWatch這個網站對比挑選自己喜好的Linux。個人傾向於Gnome桌面環境,限於目前的技術和對比,我在筆記本選擇安裝Ubuntu,至少Ubuntu確實比Opensuse快一些,而且使用者最多,軟體,社區和資源都是比較豐富的,利於初學。另外在台式機選擇安裝了mint-xfce-debian-201104這個Debian Testing的滾動更新版本,她結合了mint的簡潔與增強,Debian的純自由和我最喜好的滾動更新方式。 談論這麼多其實都是Linux的皮毛,Linux的優勢並不在於其有多少版本,當然選擇權也是一個很重要的優勢,個人反而覺得其最大的優勢在於你從這些不同之中挖掘相同:比如相同的系統核心;操作幾乎都可以通過Terminal來完成;不同的版本上相同軟體,這些都是共性,也是真正要學習的。所以學習Linux的過程,下一步才是關鍵,即學習專業相關的軟體,熟練應用;掌握一個「神器」級別的編輯器,如VIM;不斷提高編程技術,享受自由軟體的理念並傳播……。

最後,再由技術的角度說說Linux為什麼要學習?

1.Linux讓一切都聯繫起來。

《操作系統》、《計算機網路》、《計算機組成原理》......紙上得來終覺淺,

但作為操作系統一個具象,在這個裡彙集,你可以閱讀源代碼[1]一窺其中的玄機。

你亦可以同世界人民一道,自己動手寫操作系統[2]。

2.Linux讓你學習。

浸染一段時間後,你不禁會想要了解Linux的發展史,它跟Mac,跟Windows跟Unix是

什麼關係?有沒有必要打嘴仗?請看《The Art Of Unix Programming》[3]

你可能還會想要了解Linux是在怎樣一種環境中冒出來的,你需要了解

自由軟體運動和開源軟體運動[4]。

你可能閱讀過《軟體工程》中提到的《人月神話》,裡面提到的外科手術式的軟

件開發方式,不妨讀讀《教堂與集市》里描繪的另外一番景象,它所探討的正是

Linux的開發方式[5]。

3.Linux讓你實踐自由。

ArchLinux[6]、Suse、Ubuntu、CentOS、Debian、Gentoo、Fedora、Linux Deepin......

they are all free.

4.Linux讓你思考。

以為Unix能滿足所有人?請看詼諧的《The Unix-Haters HandBook》[7]

以為C主宰這個世界?看過上面那本書,你會想要了解Lisp[8]的,相信我。

5.Linux讓你與世界溝通。

你想要添磚加瓦、溝通,郵件列表、個人博客、同伴審查......

6.Linux讓你......

Linux承載的東西太多,它鼓勵大家通過代碼分享智慧,

它是一個開放的、自由的平台的核心力量,Linux讓你參與進來。

你想更深入了解學習Linux知識體系,你可以看一下我們花費了一個多月整理了上百小時的幾百個知識點體系內容:

【超全整理】《Linux雲計算從入門到精通》系列實戰筆記全放送


總的一句話就是在於你的興趣,如果你真羨慕這種駭客的精神,那麼你就會不知覺的被他所吸引,如果windows意味著生活和遊戲,那麼linux就代表著嚴謹與工作,正是這種遇到問題先問自己的方式讓你比別人更多的喜愛這個系統,更多的成長,學習linux不是代表著你要開發軟體,你要測試工程,你要維護伺服器,更重要的是你的心態跟隨者linux在進步,也有那麼一些人,只是學會了如何使用linux,他們很快樂,更有那麼一些人,他們被工作所迫來使用linux,他們很苦惱,只要你堅持下去,在linux的世界,付出多少就收穫多少,這絕不僅僅是我在學一些課本上沒有的,我在學一些其他人不會的,我在學一些看起來很吊的這種心態,而是這就是一種生活的方式,一種我可以做我喜歡的事,而且只要努力就能夠辦到的事兒。最後,歡迎加入linux的世界,你能做的遠比你想的更多。


當年學 Linux 只是為了學 kernel。雖然有其它的 open source kernel,但是沒有一個能有《Understanding the Linux Kernel》這樣的全面深入的著作。Linux kernel 也確實是座寶庫:CPU 的工作原理,重要的如紅黑樹、hashtable、LRU 表,都不用分別學,只要串一遍 kernel 就都明白了。

之後雖然一直都做應用程序,但是這段經歷受益匪淺。


作為一個並不怎麼愛折騰的軟體工程專業的學生,我來回答一下這個問題。

我學習Linux已經快有半年了,從去年暑假開始接觸《鳥哥的私房菜-基礎篇》,到這個寒假今天第二遍重溫基礎篇。雖然依舊是個不折不扣的菜鳥,但我的感想挺大的。

---------------------------------------------------------------------------------------------------------------------------

什麼是典型的windows思維?從我自己的經歷來概括,大概是以下幾個方面。(這裡的「典型」並不說是使用windows的人全部都這樣,而是整個用戶群體現出來的整體傾向,我自己在一開始便是個不折不扣的windows思維者,有志之士請勿要妄自菲薄)

  1. 索取與將就。不願意花費時間、金錢去滿足自己個性化的需求,把需求都寄望於企業和他人的產品,期待不勞而獲,甚至在無償享受他人的服務的時候還經常性的挑挑揀揀,不懂感恩,如果他人暫時沒有解決方案就只能將就。
  2. 不願意分享。一是自己本身沒有創造,何來分享一說?二是把分享看作一種損失。
  3. 動手困難症候群。人並不是生來就誰動手能力強,大都是環境的氛圍影響造成的。windows上面的產品級程序大多不能重用,這也是GUI的一個弊病吧,想做出任何一點小修改都可能要打破重來,這樣的實操代價太大,讓人如何大展拳腳。
  4. 缺乏一顆尋根問底的心。windows把全部的細節都葳了起來,這對用戶是一件省心的事,但對計算機專業的學生卻絕對是毒藥,在windows的易用性中滿足而不思進取,留流於表面的技術。

---------------------------------------------------------------------------------------------------------------------------

為什麼會接觸Linux?

它提供了一個驅動力讓你去真正掌握你應該要掌握的知識——編譯原理、計算機網路、操作系統……想要用XXX功能?學啊!想要插U盤?學mount!想要定時備份文件?學crontab!每一個功能都或多或少讓你明白Linux背後的機理。Linux高昂的學習成本對於開發人員來說,才是正常的。因為操作系統就是有這麼複雜,就是有這麼多知識要掌握,使用系統的本身和Linux正統的C語言讓你把所有計算機的基礎知識都串了起來,不再只是空中樓閣不可觸摸。而且毫無疑問它可以提高你解決問題的能力。以致於現在每當提起Linux,我都覺得自己是個SB。

它提供了無數可以重用可以自由定製的工具。「君子生非異也,善假於物也」。以命令行而不是GUI為界面有一個巨大的好處——管道風格的重用。雖然命令行使用起來不如GUI直觀,但它在可擴展性上有無與倫比的潛力;甚至連操作系統本身都是開源的,你可以定製屬於自己的個性化系統。你的生產力會大大提高,而且你不必再重複發明輪子,你可以專註造你的dream car。

它提供了一個以分享、協作、創新的開源自由環境。「Linux上每個程序都是半成品。」個人撰寫的程序在最初是為了滿足自己的需求,而後他將他分享出來;你想要使用他的程序,但程序不夠完善,你將它修改之後滿足了自己的使用,而後又將它分享了出來。就是這樣一個又一個的使用者和開發者雙重身份的協作,讓程序越來越優秀,沒有止境。

它提供了一個歷史悠久、經受了考驗的技術框架。技術發展日新月異,今天所學明日可能已成糟粕。windows下面的技術從win32 api到.net便是一例。但從Unix上傳承下來的底層技術卻少有變動,一直廣為使用。從知識的長期投資性價比來說,Linux也應當作為可靠的選擇之一。

它提供了一個機會讓你去接觸更為廣大的群體和世界。由於國內Linux資源的稀缺你不可避免要去閱讀國外的資料來解決問題,強迫你去閱讀英文文檔,作為提供外語也不失為一種好辦法,並且與遠在地球另一邊的朋友一起開發和討論,也是一件很激動人心的事情吧?

---------------------------------------------------------------------------------------------------------------------------

從另外一些角度上對Linux的疑問

現代工程化分工精細,我只需要負責關注產品的需求和市場就可以了,用不著太精深的技術。

我自己也認為這樣的說法是正確的,如果不是以技術出身的朋友的確是用不著太精深的技術。但我想說的是,學習Linux過程中培養出來的獨立思考、樂於分享、長於實踐的品質是任何崗位任何行業都需要的。

Linux在找工作上的優勢。由於我自己尚是一名學生,對市場並未有太多了解,但所見所聞中Linux人才確實更為稀缺。

於我自己來說,學習Linux是一種對知識的長期價值的投資選擇,同時也是因為自己控制欲比較強,不喜歡隔靴搔癢地寫代碼、不喜歡受制於人。對於上述品質自己雖然不敢說具備,但的確是在過程中有所改善,希望繼續進步。

騷年,跳進湖裡去游泳,不要再留在岸上戲水了。


自己從04年開始學習和使用Linux,至今已有10年。

在校時參與創建了蘭大開源社區(蘭大開源社區),並陸陸續續開發過多個小項目,包括一個綜合性特彆強的 FTP 搜索引擎,用不同語言和資料庫做了多個版本實現,包括 Linux 下的C+Mysql+PHP,很多課程還沒開就通過這個項目玩了一遍。

上研時研究實時Linux系統(RT_PREEMPT for loongson)和可靠性系統(SIL4 Linux)。

期間在Lemote實習並把Loongson2F序列支持提交到了Linux官方社區(linux-loongson/community)。

畢業後在Wind River工作,後轉到珠海魅族做Android/Linux,主要做可靠性、性能等方面的專研。

除了學業和工作外,自己還做過一些開源項目(比如vnStatSVG,Oscilloscope , TinyLinux等),目前創建了一個小型交流平台(泰曉科技),專註於產品級嵌入式Linux系統研發與交流。

針對這個問題,結合自己上述切身經歷,自己有過較全面的思考並在2013年給蘭大開源社區的新生寫過一篇Blog。

迫切希望更多的計算機相關專業學生能夠更早地接觸和學習Linux,能夠結合Linux把功課學好,把基礎學紮實,把實踐能力鍛煉上來。

現在分享一下我的答案:為什麼計算機的學生要學習Linux開源技術,這裡是概要:

1、 研究平台


因為開源的優勢,有非常多的開放的文案可以參考,有很多有趣的點子可以拿來做深入的研究。任何一個點挖進去都是一片天地。

2、專業視野


通過那些開放的項目,你可以通過郵件列表、Linkedin、Google Group接觸到來自全球各地的天才,不僅可以提升英文讀寫能力,認識國際友人,還可以把握領域前沿,甚至還有機會得到大佬們的指點迷津。

3、工作機會

就像2004年左右,自己在學校毅然而然地選擇轉到Linux平台一樣,現在有同樣的預感,Linux以及相關的開源技術因為它包含人類共贏(Open,
Free, Share)的"大同"理念,融合了全球眾多企業和天才的智慧,以及它不斷更新換代地自我革新,她將持續繁榮下去。

目前的Linux人才看似很多,剛從學校畢業沒什麼編碼經驗的學生也可以很快寫個小驅動,看似門檻很低,但是真正能夠從系統層面解決問題,做了工作不用別
人搽屁股的高端人才很少。如果從大學開始抓取,畢業的時候就比其他同學多了四年的使用經驗和思維培養。對於後續的研究和工作來說,都會是非常重要的競爭力。

4、課程實踐


幾乎從硬體到軟體,Linux平台能夠提供從下而上的所有觸及「靈魂」的學習案例,讓所有課程從紙上談兵轉變成沙場實戰,會極大地提升工程實踐的效率和技能。

5、小結


以上從多個方面分析了學習Linux開源技術的諸多益處。潮流一點叫「社區化學習」,國際一點叫「Open, Free, Share」,國內一點叫「共贏」,傳統一點叫「三人行,必有我師」。

利益相關:【泰曉科技|http://TinyLab.org】專註於產品級嵌入式Linux研發與交流,歡迎一線工程師參與分享與交流。


我不喜歡盜版,而linux恰巧是免費的。


剛開始是好奇,接著是不服氣,然後激動、驚嘆、接受不完美,努力改造學習分享,如今愛上了敲命令的感覺。一個終端,一個編輯器,一個瀏覽器,專註的時用平鋪桌面,迎合別人時開個KDE,周末玩dota都毫無壓力。簡單高效自由,多年感覺良好,驚喜不斷。


很喜歡開源社區的文化,linux開放,自由的風格很不錯,通過折騰linux,真心可以學到很多很多東西,關鍵是自己遇到問題google之,解決問題的過程讓人很有成就感。


讀書的時候是有些程序沒有win版的,只好在搞linux了。

然後突然對版權有點意識了,發現linux及其生態開源的好處。

再然後工作了,主要得在linux平台上工作。


1.可以告別盜版,好處:1.對得起自己的良心。2。不違反版權法

2.不用過分的擔心病毒,木馬.相對於Windows,Linux系統的病毒少的可以忽略不計

3.除了可以免費擁有Linux操作系統以外還能獲得大量優秀的免費應用軟體。從辦公軟體,圖形工具,多媒體工具,翻譯軟體,教育軟體,遊戲軟體,網路工具,軟體開發工具等應有盡有。而且不用擔心盜版。並且能夠降低你的使用成本。基本上沒有成本.

4.可以在最短的時間免費獲得各種系統更新,包括內核,KDE/Gnome,驅動程序,應用軟體,安全漏洞等的更新。

5.可以免費獲得各種技術支持,雖然是免費的操作系統,但是你仍然可以及時獲得各種技術支持。國內外的數萬個著名的Linux社區將會給你滿意的答案。

6.可以深入了解操作系統的結構,讓你看到在Windows系統中隱藏的一些東西。

7.可以針對你的愛機打造專用操作系統,根據你的電腦的硬體具體配置甚至可以自己動手打造出為自己的PC量身定做的專用系統。這種運行效率是Windows絕對不能比擬的。

8.出色的穩定性.眾所周知Linux操作系統廣泛應用於各種巨型機以及大型伺服器上,其穩定性自然不是Windows能比擬。不用太擔心死機,重啟等問題。


Unity和Gnome挺好玩的,Windows不能自由定製,還有,喜歡命令行。。。。


很簡單,培養了你自己動手解決問題的能力。在linux下,有些問題你不動手、不動腦是解決不了的。而恰恰這種能力是很重要的。


我會說我是從DOS 開始接觸電腦的嗎?深知命令行的強大。


每當我看見一些同學問linux好不好,windows和linux誰好的時候,我都是微微一笑。


喜歡搗鼓Linux的那種感覺,特別,好奇心驅使..


能讓你知道,原來文件系統可以有很多種,不只是有ntfs,fat16,fat32。磁碟原來也有分區類型。X window 系統也有很多種,可以有x11和xorg,桌面系統也有很多種,可以有gnome,kde。窗口管理器也有很多種。。。。。。

能不被流氓軟體圍繞,不用擔心版權問題。。。。。。


用 Linus 本人的話來說,用戶不需要接觸到操作系統。操作系統的功能是給應用程序提供API,因而,只有開發人員才需要學習操作系統。

一般而言,用戶只需要學習「應用程序」。你需要掌握你要用的應用程序,無論是什麼系統,如果你必須的應用程序恰好在 Linux 下才有,或者在 Linux 下才好用,那麼你就需要安裝一個 Linux ,但你仍然並不需要去學習它。

只有開發人員才需要學習一個操作系統本身。用戶只需要學習操作系統裡面的每個「應用程序」怎麼使用。——如果你說你為什麼要學習一個操作系統,那麼比較靠譜的答案大概是:你需要成為這個系統的開發人員。


先說說我的想法:當初我學習 Linux 就是一個好奇,同時對開源有一種嚮往,然後就自己網上看教程,裝系統,泡論壇看帖子,照貓畫虎改文件,敲命令,記得當時的 Ubuntu 下的 3D 桌面挺火的,整天就倒騰這些東西,後來覺得沒意思了就買了本《鳥哥的 Linux 私房菜》才開始學習終端命令,學習 Vim,Apache,iptables 等等。然後在啟動項中關閉 x,試著在純文本中使用,剛開始很難受這種,後來就慢慢習慣了,由於不支持中文,後來自己就虛擬機裡面裝,SSH 連接上去。

--------------------------------

我自己覺得學習 Linux 之前,自己學習 Linux 的目的;在 Windows 環境中要知道 .exe 和 .doc,.mp3 這類文件的區別是什麼,不是認為這些都是能雙擊打開,才有可能在 Linux 中了解各種文件的區別,了解 Linux 下文件的的 rwx 。。還有就是要養成搜索,學習的習慣(不止在 Linux 學習這塊),學習過程中遇到問題直接網上搜索;一定要自己親手操作,包括 Linux 系統的安裝,開始不敢實體機裝的,安裝虛擬機,虛擬機不會裝?搜索啊。"XXX,我想學習 Linux,幫我裝個 Linux 系統吧。","我勸你還是放棄吧。";了解一下 Linux 的發展歷史,Linux 的應用領域,了解 Linux 現在的發行版本。

然後你就可以開始自己學習 Linux 的道路了,不要糾結於各個發行版本和各種特效,我當時就在這塊徘徊了很久,才發現自己沒有進步,Linux 的強項不是桌面,伺服器才是他大展拳腳的舞台,買一本 《鳥哥的 Linux 私房菜》自己一個個命令給過敲,學習,然後自己就可以制定自己的方向了,是伺服器架設,Linux 系統編程,內核開發,網路開發等等。。

----------------------------

拋磚引玉,希望能得到更多的人的回答,同時我也希望學習更深層次的東西。


1.Linux讓一切都聯繫起來。

《操作系統》、《計算機網路》、《計算機組成原理》......紙上得來終覺淺,

但作為操作系統一個具象,在這個裡彙集,你可以閱讀源代碼[1]一窺其中的玄機。

你亦可以同世界人民一道,自己動手寫操作系統[2]。

2.Linux讓你學習。

浸染一段時間後,你不禁會想要了解Linux的發展史,它跟Mac,跟Windows跟Unix是

什麼關係?有沒有必要打嘴仗?請看《The Art Of Unix Programming》[3]

你可能還會想要了解Linux是在怎樣一種環境中冒出來的,你需要了解

自由軟體運動和開源軟體運動[4]。

你可能閱讀過《軟體工程》中提到的《人月神話》,裡面提到的外科手術式的軟

件開發方式,不妨讀讀《教堂與集市》里描繪的另外一番景象,它所探討的正是

Linux的開發方式[5]。

3.Linux讓你實踐自由。

ArchLinux[6]、Suse、Ubuntu、CentOS、Debian、Gentoo、Fedora、Linux Deepin......

they are all free.

4.Linux讓你思考。

以為Unix能滿足所有人?請看詼諧的《The Unix-Haters HandBook》[7]

以為C主宰這個世界?看過上面那本書,你會想要了解Lisp[8]的,相信我。

5.Linux讓你與世界溝通。

你想要添磚加瓦、溝通,郵件列表、個人博客、同伴審查......

6.Linux讓你......

Linux承載的東西太多,它鼓勵大家通過代碼分享智慧,

它是一個開放的、自由的平台的核心力量,Linux讓你參與進來。

[1]源碼:https://www.kernel.org/

[2]OS Dev:http://wiki.osdev.org/Main_Page

[3]The Art Of Unix Programming:http://catb.org/esr/writings/taoup/html/

[4]自由與開源:https://en.wikipedia.org/wiki/Free_and_open-source_software

[5]The Cathedral and the Bazaar:http://www.catb.org/esr/writings/homesteading/

[6]這個經折騰:https://www.archlinux.org/

[7]The Unix-Haters HandBook:http://en.wikipedia.org/wiki/The_Unix-Haters_Handbook

[8]Structure and Interpretation of Computer Programs:http://mitpress.mit.edu/sicp/full-text/book/book.html


推薦閱讀:

有電腦潔癖是怎樣一種體驗?
新買的筆記本應該裝什麼殺毒軟體?
為何谷歌不設計一種通用的安卓系統?
Windows 中,桌面右鍵菜單中的刷新有什麼具體的作用?

TAG:操作系統 | Linux |