學Linux是要學什麽呢?方向不同,要學習的內容也不同,可以大致分為這麽幾個方向:
運維,維護Linux服務器
應用開發,開發Linux應用程序
底層開發
Linux應用開發學什麽
Linux的學習很多會以命令為主,因而初學會覺得枯燥甚至疑惑,鼠標點點點就能完成的事,為什麽要敲這麽多?這裏給出兩點理由,也歡迎妳補充:
出於資源的考慮,絕大部分Linux服務器沒有圖形界面
命令行便於自動化,將壹系列操作寫入腳本,可代替手動操作
而它的學習我把它分為這麽幾個階段:
基本使用
開發調試
系統認識
這三個階段對知識積累的要求不壹樣,但總體來說並沒有嚴格的先後之分。
類於windows,當年妳學習windows的時候學了什麽?
開關機?
安裝卸載軟件?如安裝視頻播放器,音樂播放器(為啥要安這玩意?)。
如何打開安裝的軟件?如打開瀏覽器上網,打開編輯器寫文檔
如何存放自己的資料?移動,創建,刪除等等
如何使用office 辦公軟件
……
是不是想想好像也沒有特意地去學習?
那麽對於學習Linux來說也是類似的,就是學會這些最普通的使用,
如何開關機
如何上網
如何打開命令行
如何使用命令行安裝卸載軟件
如何編輯文本
如何創建,移動,刪除文件
如何查看文件內容,解壓縮文件
……
這個階段最難的就是從圖形界面到命令行的轉換。
那麽第二階段呢,就需要學會:
如何編寫Linux應用程序
如何編譯或者構建妳的程序
如何運行妳的程序
如何定位程序bug
而第三階段,則是壹個需要漫長的學習過程,但都是為開發服務,包括:
理解並踐行壹切皆文件
ELF文件,Linux主要可執行文件格式
Linux各大機制的基本原理,如進程調度,內存管理,虛擬內存,文件系統等,既然要寫Linux應用程序,怎麽能不了解它所在平臺的主要機制呢?
越是疑難問題,越需要這些最基本的知識。