原文轉自http://blog.sina.com.cn/s/blog_5f32b9070100zq5z.html
linux學習步驟,關於如何使用Ubuntu以及在其上作開發
做linuxc語言拓荒有一小陣子了,在這邊自己總結了些心得,關於如何使用Ubuntu以及在其上作開發。自負能讓不懂得Linux編程的人慢慢步入Linux殿堂。有任何不對或不無誤之處歡迎討論。
1. 裝配linux操作體例
既然要學習linux下的c語言拓荒,那么裝配個linux操作體例是必須的。linux學習步驟。建議裝配Ubuntu,相比看linux 壓縮命令。這是我目前見過界面最友好的linux操作體例了。linux學習心得。關於如何使用Ubuntu以及在其上作拓荒,可參考我的另外一篇敝作《Ubuntu使用心得》:source/
2. 熟悉linux操作體例下的命令
Linux提供了大量的命令,利用它可以有用地完成大量的工作,學習時間戳轉換。如磁盤操作、文件存取、目錄操作、進程管理、文件權限設定等。相比看win2003進不了系統。所以,在Linux體例上工作離不開使用體例提供的命令。linux find命令。要想真正理解Linux體例,就必須從Linux命令學起,經歷基礎的命令學習可以進一步理解Linux體例。
關於linux下的命令,聽聽如何。歡迎參考我blog上一篇文章《Linux命令清算》:sikinzen/postureive/2010/04/19/5.aspx
3. 學會一種源碼編輯器
很多大牛推薦使用 vim/emair coolings之類的工具,學會unix時間戳轉換。但我還是用着不習慣,該當是我才力未到。紅旗linux 6.0。我個人角力計較喜歡的拓荒方式是:在windows下編輯代碼,在linux下編譯。我不知道ubuntu安裝qq。
我自己極端喜歡用SourceInsight來編輯代碼,這個工具的使用可參考我blog上一篇文章《Source Insight的應用技巧、宏功能》:sikinzen/postureive/2010/04/09/5.aspx
4. 掌握gcc和gdb
掌握gcc的基本用法,並且會用gdb來調試程序。學習linux學習資料。
5. 用好 C 語言
工作中發現:C語言大師都會,但核心計想就不一定都能理會。我自己覺得也只是摸到了門徑,對比一下win2003 x64 ghost。還需要實踐鍛煉。
推薦:《C機關與缺陷》、《C專家編程》、《C程序打算語言》。你看win2003 ghost工具。
6. 學會寫makefile,你看ubuntu安裝qq。以及用它來組織源碼
當項目大了后,用命令行逐個逐個編譯、link文件的工作量是極端恐怖的,這時候make就起作用,你知道ubuntu qq。linux文件系統。即使是很小的項目,ubuntu。我認為也該當采用make組織。ubuntu 11.10 主題。
關於makefile,請參考網上文章《跟我所有寫Makefile》或《GNU make中文手冊》。這兩篇文章都相當得好。我不知道win2003 iis。
7.Linux應用編程
終於說到正題了,學習。呵呵。
Linux上的應用編程基本上兩本書就搞定了:《APUE》和《UNP》,關於如何使用Ubuntu以及在其上作開發。前者鍛煉基本功,后者學習網絡編程。
這邊我直接援用網上某位師長的評論:mysql unix 時間戳。
如果想學習UNIX/LINUX的編程,《APUE》完全典范的教材,linux find exec。加深一下功底,linux。學習《UNP》的第二卷。學習步驟。這樣基本上體例方面的就可以掌握了。 然后再看Douglus E. Comer的《用TCP/IP進行網際互連》第一卷,學習一下網絡的知識,再看《UNP》的第一卷,看看使用。不僅學習網絡編程,而且對體例編程的一些常用的技巧就很熟悉了,對於開發。如果繼續網絡編程,建議看《TCP/IP進行網際互連》的第三卷,內里有很多關於應用協議telnet、ftp等協議的編程。對比一下關於。
8.Linux驅動與內核編程
驅動程序的門檻較高,對比一下win2003 r2 iso。首先你要學會Linux應用編程,至少看過《APUE》。
驅動編程的主要工作我認為至少有兩點:理解linux內核框架和模塊的概念、懂得看芯片datasheet。在其。
第一點其實就是先學會編寫一個測試驅動程序。
推薦典范教材:《linux設備驅動程序》。聽說linux學習步驟。
另外,還有 《深入理解Linux內核》。
最首要的是:手頭要有一塊嵌入式板子進行實踐。SEO培訓。以及。
9. 掌握一種 cvs 工具
如果不懂cvs的話,趕緊到 baidu 搜索下。不用cvs的項目很容易面臨代碼損失的題目,且不易做bug回歸。
10. 數據結構和算法
上過計算機基礎課的人都清晰:程序=數據結構+算法。這兩項才是程序員的根本,如同武俠小說中的“內功”。 有時間的話建議重溫這兩部門。推薦書籍:《Algorithms in C》、《算法導論》
呵呵,其實這一小塊我沒有發言權,我自己是從自動化專業轉行來寫程序的,數據結構和算法都沒學過,目前正在自學惡補中。
后記:
經歷上面幾個步驟,我想成為一個稱職的linux程序員是沒題目了。但如果要成為專家的話,我自己覺得還該當為自己選好方向並努力前進。
讓我們一塊努力!