說說我當初是如何學Linux的
今天我就說說我當初是如何從一名普通桌面維護工程師,透過學習和努力轉成Linux運維工程師的,以及作為Linux運維工程師需要一些什麼技能和知識,希望可以幫到一些對 有興趣或者想往Linux這個方向轉的,都可以看看。
15年我還在做普通的桌面維護工作,技術還算行,就是雜事很多。雖然說我們公司的Windows伺服器也算穩定,可是公司每天都有很多雜事兒,一會打電話來說我輸入法用不了了,一會說我office打不開Excel了,很浪費精力。持續了兩年時間都是渾渾噩噩的。如今的網際網路,絕大多數的網站、服務、遊戲均是跑在Linux上面的,我不想再做這種打雜的工作了,因為自己也算是有計算機方面的基礎,自信學起Linux來應該也不慢。於是網上找了一些影片和學習Linux方面的電子書。真的是貪多嚼不爛啊!在對比了大部分的電子書目錄後,只選擇了一本Linuxprobe網站裡的電子書和一套Linux學習影片,我是覺得:只要掌握透徹了一本書,再差也不會差到哪兒去。因為在Windows上基礎還行,很快搭好了學習環境,後面就是辛苦的實操了,反覆練習。
現在我從事Linux運維已經2年了,一路下來,走了些彎路,但是總的來說,自己學很慢,我差不多花了大半年年時間,投入了相當的時間和精力,特別是在實操,。下面我想寫下我的剛開始的階段來幫助想學Linux的朋友。
作為剛入門的同學,無非影片、書籍、網站帖子之類的學習方式,影片雖然講得詳細,但是所需要花費的時間也是巨大的,據我瞭解很少有人能持之以恆把一系列影片看完;網站帖子之類的,一般都比較散亂,不成學習系統,學起來如同沒有頭的蒼蠅;書籍從目錄來看就非常有條理,看書可以系統化的學習、循序漸進,不會初學者不知道從哪兒開始的感覺。建議使用我上面的那本,如果有更好的,也你可以,但是一定要堅持,前期可以安裝一個Linux虛擬機器,重複練習為主要手段,把一本書好好吃透,重點是吃透,那麼你也就入門了。
那麼具體需要掌握哪些知識呢?這裡羅列一些必須掌握的知識:
1、瞭解Linux FHS,這是Linux的體系結構,明白大致原理
2、不重複80個常用Linux基礎、運維命令,掛載
3、TCP/IP協議,網路配置相關知識
4、SSH原理及應用
5、防火牆的基本配置,iptables
在Linux下面掌握一些初級工具、技能是非常有必要的:
1、Vim編輯器,無論對於寫配置檔案,還是寫語言指令碼,Vim始終是Linux上面的必備神氣,需要掌握基本操作方法、快捷鍵。
2、Git版本控制,很多人可能覺得沒有必要,這個是開發才學的嘛,其實不然,今天Devops的日漸崛起,對於傳統運維工程師來說是一個挑戰,也是一個機遇。工程師們日常需要寫大量的指令碼,可以使用Git來管理、備份常用程式碼、指令碼。
3、Shell程式設計,寫指令碼當然需要Shell啦,這也是基礎。同上,作為Devops來說,再學習一門高效的指令碼語言也是必需的,這裡推薦Python,不過這是後話,先把Shell掌握了再說吧。
其實如果你把上面的要求掌握到80%,基本上算入門了,接下來需要去學習一些硬體知識,做運維工程師會經常和網路裝置,伺服器等硬體裝置打交道,對於硬體知識也要做到了解。特別是判斷硬體的優劣的核心引數,比如記憶體的儲存介質、容量、速度、奇偶校驗,CPU的製造工藝、核數執行緒、內外頻、快取等等。我們在工作中不僅僅只需要“軟知識”,“硬知識”也是必不可少的關鍵技能,特別是當公司業務劇增,需要新增機房、伺服器時,就要用很多“硬知識”了,網路傳輸介質的選擇、UPS等等,都應該有所瞭解。
對於Linux運維工程師來說,你公司需要搭建各種伺服器,比如檔案共享伺服器、Git伺服器、資料庫伺服器、常見Web架構的部署、大公司可能還需要DHCP伺服器等等。
一般來說你搭建某類伺服器,都會有官方的指導手冊。比如MySQL伺服器的搭建、Git伺服器搭建等等。Google到官網按照Tutorial手冊一步一步來(翻*牆自己找梯子,百度到官網也行),基本上八九不離十的,當然也有很多網友現成的帖子可以直接翻翻看。這裡需要注意的是,Linux的版本不一樣,服務安裝會有一些差異,當你遇到問題搜尋的時候,建議加上Linux的發行版本,這樣可以更加精準的匹配問題,你可以放心,你遇到的問題,你前面的無數人已經遇到過了(樂於分享回饋後來人)。
最後推薦 ,就是我之前在網站裡學過的電子書,現在出了紙質版。我覺得還是踏踏實實的多實操,練習,再難得東西,都沒有多難,現在的人啊。都是太懶了,才跑不動的。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2651057/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 當我們在說“併發、多執行緒”,說的是什麼?執行緒
- 說說我心中的Linux系統Linux
- go 初學-想說Go
- 當我們說外掛系統的時候,我們在說什麼
- 當我們說要繼續做技術,我們在說什麼?
- 當我們說一款遊戲“涼涼”時,我們在說什麼?遊戲
- 遊戲的特質:當我們說“play”的時候,究竟在說什麼?遊戲
- 我是如何學習 Linux 的Linux
- 說說我對 WSGI 的理解
- 說說webpack的熱更新是如何做到的?原理是什麼?Web
- 說說我眼中的IT界加班文化
- 說說我眼中的Vue和ReactVueReact
- 說說我和Mac(二)Mac
- 說說我和Mac(一)Mac
- 當我討論遊戲是否“好玩”時我在說什麼?遊戲
- 當我們談論Promise時,我們說些什麼Promise
- 波蘭的獨立遊戲,我只能說是真的棒遊戲
- 我和Linux,不得不說的故事Linux
- 老闆說我年紀大,可我正式當打之年!
- 說說我和圖靈的那些事兒圖靈
- 當提到“事件驅動”時,我們在說什麼?事件
- 【觀點】說APICloud之前,我們先說說開發者APICloud
- 帝都三年Java,說說我的求職之路Java求職
- 說說我們的用的Scrum敏捷開發工具Scrum敏捷
- 【面試被虐】說說遊戲中的敏感詞過濾是如何實現的?面試遊戲
- 說說我對 TypeScript 索引簽名 理解TypeScript索引
- 對於初學者來說,最好的程式語言是什麼?
- 說說學術軟體的質量
- Spring Security實戰三:說說我的認識Spring
- 我們來說一說TCP神奇的40msTCP
- 當年,我是如何把微服務落地的微服務
- 遊戲的規則真的是封閉的嗎?說說遊戲中的“魔法圈”概念是如何施展“魔法”的遊戲
- 說說Linux抓包命令tcpdumpLinuxTCP
- 說說我怎麼看攜程“假票”事件?事件
- 簡單給初學者說說JAVA語言的幾個特點Java
- 當我們討論TCP的連線運輸管理時,我們在說什麼TCP
- 【原創】說說你是如何理解Oracle資料庫中latch和enqueue lock的?Oracle資料庫ENQ
- 說說如何使用 Python 類的屬性Python