全世界60%的人都在使用Linux。幾乎沒有人沒有受到Linux系統(tǒng)的“恩惠”,我們享受的大量服務(包括網(wǎng)頁服務、聊天服務等)背后幾乎都是由Linux系統(tǒng)支撐的服務器,超過20億人每天都隨身攜帶基于Linux內(nèi)核開發(fā)的 Android手機出門,Linux也廣泛應用在嵌入式系統(tǒng)上。因此學習Linux系統(tǒng)變得尤為重要,對于普通用戶而言,平面式的學習Linux系統(tǒng)的基本使用已經(jīng)足夠,但對于開發(fā)者或者運維人員而言,深入學習Linux的多個層次尤為重要。
我接觸Linux陸陸續(xù)續(xù)有接近6年,成功的從對其一無所知到應用自如,目前也還在持續(xù)地學習更深層次的核心知識。接下來將以一個學習者的身份將我的“學習計劃”分享給大家。這篇文章不會從技術(shù)細節(jié)的角度大展篇幅,主要介紹學習路徑和方法論。
階段1:僅僅為了掌握Linux的使用
作為一名對Linux毫無認知的新手,首要的第一步就是選擇一款適合上手的Linux發(fā)行版系統(tǒng)(個人建議可以選擇使用習慣偏windows的Linux桌面操作系統(tǒng),如Ubuntu、openSUSE、Fedora等)。Linux操作系統(tǒng)的安裝是入門必備的技能(包括MBR、EFI兩種引導方式的安裝,故障排查和解決的能力等)。當Linux投入日常的使用后,我們會漸漸去學習一些便捷的操作習慣(基本的命令操作、快捷鍵配置、軟件安裝和卸載、系統(tǒng)管理等),當我們發(fā)現(xiàn)在Linux操作系統(tǒng)下無法駕馭某一個點時,我們會通過查閱工具書到查看博文和問答系統(tǒng)去解決,直到有一天,我們發(fā)現(xiàn)日常的使用已經(jīng)無法滿足我們的求學欲望了。
系統(tǒng)性的學習系列教程(書籍):挑選學習教程和書籍時,目錄大綱非常重要?!禠inux就該這么學》就是一本學習路徑清晰,循序漸進的Linux學習書籍,覆蓋面從Linux安裝到日常使用、再到系統(tǒng)運維和高級應用,非常適合作為第一本系統(tǒng)學習的書籍。
階段2:系統(tǒng)學習Linux系統(tǒng)
由于日常的Linux使用技巧已經(jīng)能夠非常熟練地使用了,由此對一部分系統(tǒng)盎然的同學會觸發(fā)深入學習的欲望。這個學習階段將不再是一個零散的知識點和技能學習了,Linux的開源精神帶動了一代又一代的前輩,他們將學習經(jīng)驗總結(jié)和整理成各種知識檔案,通過整合這些資源,我們能夠進行合理系統(tǒng)的Linux學習。
說在前面:系統(tǒng)地進行一個操作系統(tǒng)的學習之前,扎實的計算機基礎(chǔ)知識掌握(操作系統(tǒng)、計算機基礎(chǔ)、計算機網(wǎng)絡等)是極其必要的,否則在后續(xù)的學習過程中,將會遇到非常棘手的基礎(chǔ)技術(shù)壁壘,如專業(yè)術(shù)語、基礎(chǔ)概念不清晰。
簡言之,這是學習過程是整合資源進行系統(tǒng)學習,解決問題和學會思考的階段。敬上系統(tǒng)吸收Linux系統(tǒng)的技巧。
1.提出解決問題的方案的技能:學會通過搜索引擎和社區(qū)(google、stackoverflow等)尋求問題的解決方案,通過符合(提問的智慧規(guī)范)的方式向前輩們提問。
2.學會思考和總結(jié):徘徊在學習和解決問題的過程中,定然會讓你刨根問底的浸入思考,將這些思考的東西沉淀下來,做以總結(jié),將學習的路徑傳承和延續(xù)下去,繼續(xù)發(fā)揚Linux的開源精神。
3.實驗和應用:動手去玩弄你的Linux系統(tǒng)吧,盡可能給自己搭建一個可以肆意妄為的操作環(huán)境吧!
階段3:應用和知識體系的形成
前言里面已經(jīng)介紹了在實際生活環(huán)境下,Linux系統(tǒng)的一些應用場景,實際上Linux的應用也是非常的廣泛,在熟練掌握得前提下,則足以開始大展身手應用于工作和生活中了。從網(wǎng)站的日常部署和維護、到網(wǎng)絡環(huán)境管理、到各種應用服務的使用,幾乎一切我們享受著的IT服務,都能通過Linux系統(tǒng)來完成,參考劉遄老師的培訓內(nèi)容
當你開始思考Linux的運行機制、系統(tǒng)架構(gòu)、IO復用,甚至開始動手改造協(xié)議棧的時候,別忘記理清楚自己所掌握的技能圖譜,別忘記分類和記錄你踩過的每一個坑,關(guān)注的細節(jié)點。這些東西層層相關(guān),這條學習路徑將會組成屬于你的Linux知識體系。
階段4:深度學習和Linux職業(yè)化發(fā)展
說實話對于Linux的學習筆者也僅是暫時止步于階段3,階段4算是對前輩們的一些總結(jié)以及對未來學習路線的規(guī)劃。
運維和(內(nèi)核/應用)開發(fā)是Linux深度學習者的兩條截然不同的發(fā)展路線,運維工程師更注重于Linux的應用和維護技巧,以及維護工具的使用和開發(fā),而開發(fā)工程師們需要深入去學習內(nèi)核源碼解讀、驅(qū)動開發(fā)、嵌入式系統(tǒng)開發(fā)、應用程序開發(fā)等。
學習階段的劃分對于學習固然有偌大的幫助,但其實更重要的找到適合自己的成長方式和節(jié)奏。合理的制定你的Linux成長計劃吧,相信這會讓你學得更輕快!
申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!