從業5年,教你學習Linux開發
1.
為什麼要學習Linux程式設計?
其實這個問題很容易回答,因為你要寫的程式是跑在 Linux下的啊。至於跨平臺的程式,你熟哪個就在哪個下開發,效率第一,糾纏平臺和工具,純屬吃飽了沒事幹閒的。其實 程式設計就是說開發 Linux軟體,所以說,在Linux系統下開發才會更加順手,並且效率更高。因為直接就可以在主機環境下執行,而無需再安裝虛擬機器,模擬器等來測試程式。
2. 關於 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,悉一下圖形介面,可以把你 做的命令列下的小程式 完全改成圖形介面下的。
3. 如何學習?
首先, 要想學會 Linux程式設計,你 必須要 會用Linux, 也就是必須學會如何在命令列環境下操作。當你能夠在命令列下使用各種命令,操作各種檔案和在 Windows上使用滑鼠一樣的時候,就說明你已經入門了Linux系統。這個時候,你就不會再有之前對命令列的方反感,反而喜歡上了命令列。因為這個給時候,你會發現滑鼠還要點好多下的操作,在命令列下幾個字母就可以輕鬆解決。在學習的時候一定要多多練習。可以自己安裝一個虛擬機器,也可以在網上買一個雲伺服器,買最便宜的就行。在系統上多做練習。首先在Linux系統上嘗試著做各種和Windows一樣的操作,這樣就可以瞭解到Linux和windows之間的差異了。
這個 我個人認為 看一本書就行了,《 Linux就該這麼學 》,記得安裝Linux系統 , 自己 按照這本書的章節安排,自己手把手 操作一遍 。這本書從最基礎的命令開始,一直到搭建 lnmp環境為止,一步一步由淺入深的教你學習Linux。 做完這一步,你 基本上已經 可以 學習 開發了。 因為我當時初學 Linux作業系統的時候,就是使用這本書入的門,這本書配套的還有一個網站,非常方便,我們可以直接在網站上看書,所以說我們有時候沒有帶書,公交車上地鐵上,隨時想看就可以看。這個網站上還有很多的技術新聞資訊以及技術乾貨,我相信透過這本書你可以學到更多東西,不止Linux的,還包括其他的程式語言和作業系統等知識。
4. 如何深入
接下來就是繼續深入了, 這個時候 你得去稍微的看看核心原始碼啊,核心的進執行緒排程啊 。 這個時候,資料結構 演算法 啥的 這些就是你必備的基礎知識了 ,計算機網路 ,作業系統 啥的也 全部得 看看,作業系統原理啥的也得看看, 這些東西雖然看著和程式設計無關,但是全部都是真正涉及到最底層架構的東西了。學會這些東西對於你理解系統的底層架構有很大的幫助。如果不會這些知識,你根本看不懂原始碼。
在學習的過程中,要不斷積累和了解最新的東西, 首先了解這個概念,然後知道這個概念是幹嘛的,提出這個概念是解決為了解決什麼問題的。
5. 書籍推薦
最後推薦幾本書(前面的包含在內):
《鳥哥的Linux私房菜 基礎篇》
《C程式設計語言》 丹尼斯寫的
《Linux C程式設計一站式學習》 宋勁杉寫的
《Eensstial C++》
《C++ Primer》
《Effective C++》
《Linux網路程式設計》 宋勁彬寫的
《Unix環境高階程式設計》
《Unix網路程式設計》 兩部
《Linux高階程式設計》 華清遠見
《大話資料結構》
《演算法導論》
《Linux核心情景分析》
《深入理解Linux核心》
《深入理解計算機系統》
《現代作業系統》
《深入理解計算機網路》
《TCP/IP》的三卷經典書
最後,我個人認為,我們要廣泛的接收新知識,所以要多去網上看一些別人的文章。比如 各大論壇, GitHub, stackoverflow, 部落格園,CSDN等等 社群和論壇 ,多逛逛,當然還有知乎也要多逛逛 ,畢竟知乎的大神還是很多的。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2774254/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 改變自己從學習linux開始Linux
- 為什麼學習Linux?學習Linux有職業發展嗎?Linux
- 從零開始學習的朋友應該如何學習Linux技術?Linux
- Linux開發環境必備的工具!Linux學習Linux開發環境
- Linux運維行業的發展前景如何?Linux學習Linux運維行業
- 從零開始學習開發人工智慧(一)人工智慧
- 2021年學習Linux技術可以從事哪些工作?Linux發展前景Linux
- 學習Linux後可以從事哪些職業?前途怎麼樣?Linux
- 學習Linux開發課程需要培訓嗎Linux
- 學習Linux常見的開發命令有哪些?Linux
- 分享學習linux系統學習心得,從大白變小白Linux
- 從零開始學習機器學習機器學習
- Linux學習路線全解,Linux作業系統學習路線Linux作業系統
- 現在學習Linux運維晚嗎?如何開始學習linuxLinux運維
- 如何從零開始學習Linux雲端計算的運維?Linux運維
- Linux就業前景如何?學完Linux從事哪些工作?Linux就業
- 從頭開始學習VuexVue
- 從零開始學習laravelLaravel
- 從零開始學習KafkaKafka
- Linux學習之(shell展開)Linux
- linux學習筆記8-linux系統io開發知識setsLinux筆記
- 學習Linux發展前景怎麼樣?linux學習看什麼書Linux
- 學會這些,教你如何玩轉linux作業系統Linux作業系統
- Linux運維職業方向有哪些?Linux學習Linux運維
- Linux的就業前景如何?linux運維學習Linux就業運維
- 後端開發學習業務三:需求分析後端
- 想學習Python不知從哪開始,來看我和同事通過遊戲開發學習PythonPython遊戲開發
- Linux體系結構是什麼樣的?Linux開發入門學習Linux
- Web開發學習Web
- 從零開始機器學習機器學習
- 學習React,從攻克JSX開始ReactJS
- 從0開始學習Webpack(一)Web
- AI 學習路線:從Python開始機器學習AIPython機器學習
- Linux學習方法_Linux介紹_Linux發行版組成Linux
- Vue 學習筆記(1):從傳統 JavaScript 到 Vue 開發Vue筆記JavaScript
- Linux運維工程師推薦學習的開發語言Linux運維工程師
- 嵌入式Linux開發工程師需要學習哪些知識Linux工程師
- web前端就業開發學習路線(乾貨)Web前端就業