從業5年,教你學習Linux開發


 

 

  1. 為什么要學習Linux編程?

其實這個問題很容易回答,因為你要寫的程序是跑在Linux下的啊。至於跨平台的程序,你熟哪個就在哪個下開發,效率第一,糾纏平台和工具,純屬吃飽了沒事干閑的。其實Linux編程就是說開發Linux軟件,所以說,在Linux系統下開發才會更加順手,並且效率更高。因為直接就可以在主機環境下運行,而無需再安裝虛擬機,模擬器等來測試程序。

 

  1. 關於Linux開發

Linux下開發,其實主要涉及兩種基本語言,C和C++。C語言是學習Linux編程必不可少的語言,因為Linux系統內核很多就是C語言編寫的,而且粗語言也是目前對硬件支持最好的語言。Linux提供的很多api也是C語言寫的,所以只有當我們理解了C語言之后,才能更好的進行Linux開發。而c++是C語言的超集,在保留了C語言的一些語法特性之外,支持的比C語言也更多。除了C語言和c++之外,還可以根據Linux去學習一下怎么寫驅動程序等等。Linux編程除了Linux的api外,Linux內部還有一種語言,為shell。這門語言是是Linux的腳本語言。類似於windows上的vb腳本編程。雖然shell提供了十分簡單的語法,但是當和Linux的命令結合起來的時候,就非常強大了。基本上shell可以很好的處理各種Linux上命令行就能解決的問題,而且更加自動化和便捷。然后學學Qt,悉一下圖形界面,可以把你做的命令行下的小程序完全改成圖形界面下的。

  1. 如何學習?

首先,要想學會Linux編程,你必須要會用Linux,也就是必須學會如何在命令行環境下操作。當你能夠在命令行下使用各種命令,操作各種文件和在Windows上使用鼠標一樣的時候,就說明你已經入門了Linux系統。這個時候,你就不會再有之前對命令行的方反感,反而喜歡上了命令行。因為這個給時候,你會發現鼠標還要點好多下的操作,在命令行下幾個字母就可以輕松解決。在學習的時候一定要多多練習。可以自己安裝一個虛擬機,也可以在網上買一個雲服務器,買最便宜的就行。在系統上多做練習。首先在Linux系統上嘗試着做各種和Windows一樣的操作,這樣就可以了解到Linux和windows之間的差異了。

這個我個人認為看一本書就行了,《Linux就該這么學》,記得安裝Linux系統,自己按照這本書的章節安排,自己手把手操作一遍。這本書從最基礎的命令開始,一直到搭建lnmp環境為止,一步一步由淺入深的教你學習Linux。做完這一步,你基本上已經可以學習開發了。因為我當時初學Linux操作系統的時候,就是使用這本書入的門,這本書配套的還有一個網站,非常方便,我們可以直接在網站上看書,所以說我們有時候沒有帶書,公交車上地鐵上,隨時想看就可以看。這個網站上還有很多的技術新聞資訊以及技術干貨,我相信通過這本書你可以學到更多東西,不止Linux的,還包括其他的編程語言和操作系統等知識。

  1. 如何深入

接下來就是繼續深入了,這個時候你得去稍微的看看內核源碼啊,內核的進線程調度啊。這個時候,數據結構算法啥的這些就是你必備的基礎知識了,計算機網絡,操作系統啥的也全部得看看,操作系統原理啥的也得看看,這些東西雖然看着和編程無關,但是全部都是真正涉及到最底層架構的東西了。學會這些東西對於你理解系統的底層架構有很大的幫助。如果不會這些知識,你根本看不懂源碼。

在學習的過程中,要不斷積累和了解最新的東西,首先了解這個概念,然后知道這個概念是干嘛的,提出這個概念是解決為了解決什么問題的。

  1. 書籍推薦

最后推薦幾本書(前面的包含在內):

《Linux就該這么學》
《鳥哥的Linux私房菜 基礎篇》

《C程序設計語言》 丹尼斯寫的
《Linux C編程一站式學習》 宋勁杉寫的
《Eensstial C++》
《C++ Primer》
《Effective C++》

《Linux網絡編程》 宋勁彬寫的
《Unix環境高級編程》
《Unix網絡編程》 兩部
《Linux高級程序設計》 華清遠見

《大話數據結構》
《算法導論》

《Linux內核情景分析》
《深入理解Linux內核》


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM