我是在大二的時候接觸到linux的,現在看來也差不多兩年了。這兩年裡我也從對linux什麼都不懂慢慢到別人眼中的高手。而同學們裝linux時或系統有問題時也會找我來幫忙解決問題了。而且我也打算以後從事這方面的工作,回想起這兩年的學習歷程,感慨很多。
我的專業是軟體工程,但我直到高三才真正摸過電腦。而且對程式設計也沒有概念,完全沒聽說過任何程式語言。我之前還一直認為玩電腦最厲害的人就是搞電腦維修的人,都能修電腦了,能不厲害嗎。高考結束錄取通知書下來後感覺如果對電腦什麼也不懂可能要落到同學後面,而且當時高考結束後時間又很多,就花200塊錢報乙個電腦班,學了指法、打字、windows系統的基本操作和excel。想想國外很多大牛剛不穿開檔褲就接觸到了電腦,真是差距大太了。
大一時教我們計算機基礎的乙個老師說過,國外乙個大牛還在上大學時就搗鼓出了乙個作業系統,我當時也只是感覺這人很厲害,沒怎麼當一回事。現在想起來這應該是我第一次聽說linux。大二上時我的同學安裝了ubuntu,當時ubuntu已經很流行了,當然我也只是偶爾聽說過。完全沒有見過,因為當時有電腦的同學不多,我也是大二上學期結束了才有自己的電腦。
我們大二下學期教c++老師給我們介紹了mingw和gnu計畫,對我們說在軟體行業除了windows還有別的東西,受這位老師的影響當時我們很多同學寫編譯c++程式時都用mingw,我也這時才開始知道gnu計畫和linux核心、linux發行版這些概念。有一次上課時這位老師問我們如果要編譯很多c++檔案時怎麼辦,我乙個同學就說了,用make,老師就誇獎了他一番,當時我對make是聞所未聞,於是就感到萬念俱灰啊,原來我已經落後別人這麼多了。從這開始以後我就和我們班上幾個同學裝了ubuntu玩。我記得很搞笑的時裝完ubuntu以後我還想用gcc編譯器,就在網上搜有沒有人把mingw移植到ubuntu上。
從此開始我就正式的踏上了學習linux的路,而且從這以後我基本就沒用過vc來寫程式了。
當初裝ubuntu的時候害怕把windows系統給搞壞了,就裝了虛擬機器,但玩的很不過癮,而且玩虛擬機器的話因為習慣問題就不想用linux了,所以我後來就wubi安裝了ubuntu。
玩一陣子ubuntu以後發現我並不滿足於ubuntu了,linux有這麼多的發行版,我應該嘗試一下其它,看看不同的發行版有什麼不同,而我還比較能折騰,就一下了在我的筆記本上裝了ubuntu、fedora和opensuse,fedora是在虛擬上裝的,另外兩個裝在了硬碟上。因為opensuse預設是使用kde的,我也第一次接觸到了kde,不過因為用gnome習慣了,對kde也沒什麼感覺,只是覺得它定製性比較強。當gnome3發布了後我為了體驗gnome3就在我本子上重新裝了fedora15,把其它兩個都刪了。
在這期間我一直想系統的學習一下linux方面的各種知識,就看了《鳥哥的linux私房菜》。我感覺這本書寫得很好,它的起點很低,看起來也不枯燥,很適合初學者。當時我把前二十章看了一下,這時我對linux很多命令都很熟悉,借助網路能解決很多linux下的問題了。
這時我對unix世界的其它技術也很感覺興趣,我看了《perl語言入門》,學了一下perl語言,雖然用的很少,但我很喜歡perl,也因為perl喜歡上了正規表示式。我就買了一本firdel的《精通正規表示式》,後來把這本書看了兩遍。感覺正規表示式是一項很偉大的發明,它簡潔、強大、靈活,如果學的好能節約人很多時間。
後來我對unix的歷史和文化等也比較感興趣,就買了本esr的《unix程式設計藝術》,這本書介紹了unix世界的歷史、哲學、原則等,任何愛著unix技術的同學都值得一讀。再後來因為程式設計要用到unix的api,就看了《unix環境高階程式設計》,不過這本書現在還沒看完。
大四時知道了archlinux和gentoo,我很喜歡這兩個發行版的強可定製化理念,就選了gentoo,把fedora刪了,而且我又不太習慣gnome3,就裝了kde,真正用了後才發現kde很好用,介面也很華麗,我也就皈依kde了。現在玩gentoo玩了好幾個月,雖然玩gentoo花了很多時間,但安裝gentoo也讓我對linux的了解深入了不少。玩gentoo一段時間後我訂閱了gentoo的郵件列表,問過乙個問題,發現郵件列表裡的人都很熱心。當然我也回答過別人的問題,但不多,主要因為他們提的問題很多我都沒有接觸過,自己linux水平不行。我一直想深入學習,做乙個gentoo的開發者,為開源軟體做一點貢獻,算是對用兩年的開源軟體的回報。另外gentoo官方**公布的開發者中只有乙個中國人。
我一直感覺我的linux水平很一般,只是停留在使用階段,就像玩qq玩的很熟一樣,沒什麼大不了的。但我在周圍同學眼裡已經是高手了,確實同學中linux比我熟的同學不多,我感覺這在乙個重點高校的軟體學院裡面是一件很悲哀的事。
還有一些老師對linux也很不了解。我有乙個教嵌入式的老師,我還是很喜歡這個老師的,他有一次上課給我們說有乙個同學寫**不縮排,老師就讓他加上縮排,然後這位老師就給我們說,如果**有很多,比如幾千行的話要花多長時間才能弄完啊。當時我感覺很震驚,為**加縮排還要手工乙個空格空格的來嗎,這種重複低階的工作肯定要讓機器來做啊,在linux下這完全不是乙個問題,用vim一分鐘不到就搞定了!最讓人無奈的是有乙個教作業系統的老師給我們說/usr目錄是放使用者檔案的地方,因為usr是user的縮寫,當然知道usr是unix softerware resource的縮寫的可能不是很多,但他說pwd命令是passowrd的縮寫就讓人很無語了。
linux學習歷程
二 linux檔案 目錄與磁碟格式 總結記錄系統學習整理linux的收穫 鳥哥私房菜 unix 到 linux linux 當前應用場景 個人環境 雲端 linux 學習方法 商業版 社群版 作業系統的基本技能 vi文字編輯器 shell和shell指令碼 軟體管理 網路基礎的建立 發生問題的解決途...
嵌入式Linux學習歷程 Makefile
makefile用來完成以下功能 1 如果工程沒有編譯過,那麼工程中的所有.c檔案都要被編譯並且鏈結成可執行檔案。2 如果工程中只有個別c檔案被修改了,那麼只編譯這些被修改的c檔案。3 如果工程的標頭檔案被修改了,那麼需要編譯所有引用這個標頭檔案的c檔案,並且鏈結成可執行檔案。例 乙個工程 通過鍵盤...
minix學習歷程
note 以下所有操作都是在fedora core 5下完成的 bochs的安裝和使用 如何在bochs下利用root.mnx和usr.mnx啟動minix204 步驟 部分 最好通讀真個檔案 c.為了在bochs 下啟動minix204 我們只需要將a 步驟中的intel 2.0.4 i386 下...