-
1 # 和不同
-
2 # 瓶凡科技營
一、給自己定位一個領域
籠統的說Linux開發,那個涉及的面太廣了,從伺服器、到大資料、到常用的嵌入式系統還有桌面軟體,甚至是Android的開發也是Linux系統下的。所以第一步,找準一個你要學習的領域,比如嵌入式或者PC軟體。
1.先大體瞭解一下Linux作業系統,知道它包含哪些元件,有什麼功能,大體的操作怎樣的?這一步推薦《鳥哥Linux私房菜》,不要太仔細讀,大體瞭解一下;
2.定位Linux開發層級,比如做應用開發或者系統核心本身開發,又或者是底層驅動開發等等。越是接近硬體,越要學習更多的微機原理和介面技術,以及常用的各種匯流排協議。
當然,不管做哪一層,Linux的多程序,多執行緒,記憶體管理,檔案系統等都要了解一下,推薦《Linux應用開發完全手冊》 ,做驅動的推薦《Linux裝置驅動開發詳解》。
等Linux的基礎知識和操作理解了,應用開發相關軟體也會設計了,最終都要走進核心的,Linux的魅力完全在於有一個完美強大的Kernel支撐,去解讀一下原始碼的架構和設計之美吧,推薦《Linux核心原始碼分析》、《Linux原始碼情景分析》和《深入理解Linux核心》等書籍。
總之,對於Linux的學習應該從一般概念認識入手,先了解它的輪廓和基礎知識,然後弄清楚基本的軟體開發,接著試著瞭解核心和驅動知識,進而走向核心原始碼分析。
-
3 # 智慧AI男101
①有大學C語言,java的基礎,因為思維方式相似,解決問題的思路大同小異。
②學習慾望,對程式設計感興趣。
④雖然說linux語言說是零基礎,人人可學,但其中知識點多而雜,耍融獲貫通的話,要多實賤,多上機練習,比較,聯想,邊學習也總結才能真正掌握一木程式語言。
總知,作為一門以實用為主的程式語言,Linux作為應用手機電胎系統核心語言,需要開發者多聯想,多總結,多實踐才能掌握程式設計的靈魂,做出可實用,少bug,簡潔便捷的實用程式設計程式。
回覆列表
開發入門,首先需要解決的是“使用”。不會使用,也就談不上開發。尤其對於Linux系統,其使用和開發之間的界限頗為模糊。
所以要入門Linux開發,同樣要解決“使用”問題。先使用、再開發。
開始使用需要注意:Linux只是作業系統核心,使用Linux核心搭建而成的完整系統豐富多樣,從不含顯示裝置的嵌入式系統、智慧手機的Android到桌上型電腦、伺服器、超級計算機,差別巨大。
從成本和難度綜合考慮,可以優先使用桌面Linux或虛擬伺服器(雲伺服器)Linux入門。發行版可考慮一些流行度高的系統,個人推薦Ubuntu、Debian、Arch、Gentoo(折騰程度依次提高)
先學會安裝系統和日常使用。在使用的過程中,你就會主動或者被迫接觸到一些Linux基本知識和指令碼語言修改和編寫。其中包含但不限於:Linux目錄結構、proc和sys檔案系統、正則表示式、shell、Makefile、CMake、systemd等等。
開始開發熟悉了系統的使用,就該進入真正的開發入門了。
剛開始,可以編寫一些命令列下的小型應用程式,比如,完成K&R的《C程式設計語言》中的習題,複習並充實一下自己學過的C語言。
然後,就需要在一個特定的方向發展了,例如:
嵌入式開發裝置驅動程式開發AI/深度學習伺服器/後端開發每個方向所需學習的知識各不相同,這裡就不一一列舉了。
學習相關知識的同時,可以參與此方向上的開源專案,在專案中做出自己的一份貢獻。
總之,要帶著實際問題、實際需求去學習,這樣的效果遠超自己悶頭看書。