Linux就該這麼學 一名Linux運維工程師養成記

2020-12-21 腳本之家

Linux系統是使用Linux內核及開源自由軟體組成的一套作業系統,是一種類UNIX系統,其內核在1991年10月5日由林納斯·託瓦茲首次發布。它的主要特性:Linux文件一切皆文件、完全開源免費、支持多用戶和多任務、同時還支持多種架構平臺、可靠的安全性、良好的穩定性、具有強大的網絡功能、多樣圖形界面;近幾年Linux系統慢慢吸引了不少人,正是由於它的強大,支撐著巨大的項目,並不斷影響著大多數人的生活。

如今的網際網路,絕大多數的網站、服務、遊戲均是跑在Linux上面的,雖說Linux發行版眾多,只要玩熟了一種發行版,了解了Linux精髓、基本架構、設計原理,其他都是觸類旁通的,千萬不要在選擇哪一發行版而浪費很多時間,不值當的,這就如同我是上清華好,還是上北大好呢?統稱為[清北謎題]了,這裡小編個人建議新手還是選擇CentOS或者RHEL上手為好。

不管是學習語文、英語,還是學習數學、物理,不管你採用何種方法,都離不開三個階段:記憶、掌握、運用。也許描述的並不十分準確,但大體上是這樣子的。以此類推,對於如何學習Linux,也是可以參照上述三個階段來學習的。

因此,對於學習Linux而言,第一步就是記住Linux命令,知道其中的原理。但是,Linux命令非常多,難道都需要記住?這肯定是不現實的。所以,我們要先知道哪些Linux命令是必須要記住的,哪些Linux命令是只要了解一下就可以的,哪些Linux命令是無關緊要的,要學會拈輕掇重。

那麼具體需要掌握哪些知識呢?這裡羅列一些必須掌握的知識:

1、了解Linux FHS,這是Linux的體系結構,明白大致原理

2、重複60個常用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知識的專業書籍,然後自己參照書籍去學習,這樣也是不錯的。

看書可以系統化的學習、循序漸進,不會初學者不知道從哪兒開始的感覺。建議選擇一本Linux入門書籍,前期可以安裝一個Linux虛擬機,重複練習為主要手段,把一本書好好吃透,重點是吃透,那麼你也就入門了,尤其推薦想自學Linux系統的同學看一下《Linux就該這麼學》,這本書從零基礎開始講起,涵蓋的知識不僅實用,而且有實驗可以做,隨時檢查自己的學習進度。

小編在此羅列一些學習過程中覺得不錯的書籍,推薦給朋友。

入門書:

《鳥哥的私房菜(基礎篇)》

《鳥哥的私房菜(服務篇)》

《Linux命令行與Shell腳本編程大全(第2版)》

《UNIX/Linux 系統管理技術手冊》

《UNIX編程藝術》

計算機及作業系統原理書:

《深入理解計算機系統(原書第2版)》

《現代作業系統 (原書第3版)》

深入理解Linux系統(說明:開發類的書籍只求讀懂其講到的原理部分就成)

原理篇:

《Linux內核設計與實現(原書第3版)》

《Linux程序設計(第4版)》

《構建嵌入式Linux系統(第二版)》

《深入理解LINUX內核(第三版)》

《UNIX網絡編程 卷1:套接字聯網API(第3版)》

《UNIX網絡編程 卷2:進程間通信(第2版)》

《UNIX 環境高級編程(第2版)》

《程式設計師的自我修養—連結、裝載與庫》

《Linux設備驅動程序(第三版)》

實做篇:

《手把手教你構建自己的Linux系統》

《高性能Linux伺服器構建實戰》

shell

我看過最好的 《shell編程藝術》

lamp/lnmp

nginx: 《取代Apache的高性能Web伺服器》

apache:《Apache伺服器配置與使用工作筆記》

mysql:《高性能MySQL》

安全

《Linux firewalls》

《白帽子講web安全》

架構

《大型網站技術架構》

《構建高性能web站點》

docker

《Docker技術入門與實戰》

nosql

《redis設計與實現》

《mongodb權威指南》

自動化

《Puppet實戰》

《SaltStack技術入門與實戰》

雲計算、虛擬化

《OpenStack開源雲王者歸來 雲計算、虛擬化、Nova、Swift、Quantum與Hadoop》

python

《Python基礎教程》

監控

《Zabbix企業級分布式監控系統》

《華章科技:Nagios系統監控實踐》

紅帽認證管理員(RHCSA)證書示例

單單擁有理論知識顯然是不夠的,如何更好的學習Linux系統?應該每個人都有不同的觀點,無不例外,最終目的是要學會如何使用,學到Linux的其中的精髓所在,方法很重要:

1. 選擇發行版系統——CentOS/RHEL

不建議使用其他發行版本,如果能熟練使用一種發行版,其他的發行版不是太大問題,只是命令上有所差別,請大家不要在這個問題上糾結,就好像大家說「PHP是世界上最好的語言」一樣,一定不要在選擇發行版本上浪費時間。

2. 選擇一本比較適合入門的書籍或導師

一本好書籍,能使學習事半功倍,一位好導師,能讓Linux學習更加輕鬆,如《Linux就該這麼學》,比較容易入門,內容精簡,講解透徹,但是你還可以讀適合自己的書籍,也並不一定要讀我推薦的這本,因為我完整的讀完過,覺得確實適合初學者。

3. 多練習、學會總結和思考

因為學習每一項技術都是在別人造好的輪子上不斷的模仿再模仿,只有多去練習,才能夠明白其中的原理,通過理解的方式去記憶,這樣就學會的很快。不懂的地方一定要查資料,善於使用搜尋引擎(百度/Google),系統的去學習,多練習,把書中的實驗做透,掌握其中的原理,然後去總結,查漏補缺,最好的思考也很重要,不要光學習,還要思考下這項技術應用的場景,所使用的原理等等,多思考為什麼。

4. 從基礎學起,迎難而上

Linux技能點:Linux系統基礎—Linux系統管理—Linux服務管理—Linux安全管理和防範—Linux高級運維—Linux運維自動化……

這裡只是簡單介紹一些,遠遠不止這些,希望我們能夠一起加油,當你真正入門後,你會接觸更多,對這個行業有更深層次的認識,需要學習的還有更多,給自己定更多的目標,當你學完這些,會對你以後的職業生涯有更好的幫助。

5. 職業發展方向

其實學完Linux技術可以有很多發展方向,就目前來說還是比較好找工作的:Linux運維、Linux運維架構師、Linux運維自動化,Linux開發的、DevOps等等崗位,根據自己所掌握的Linux技術,給自己定位一個發展方向,並一直努力下去,如果想更好的提高自己,獲得更高的薪水,可以考下紅帽認證,對以後的工作還是有很大用處的。

6. 技術的革新

對於IT技術的不斷革新,發展速度非常之快,如何成為強者,不被社會所淘汰,需要我們提高自身能力,近些年一直很火的:OpenStack、Doctor、Kubernetes、雲計算、同時還需要掌握一門開發語言:Python、shell、golang(其一)等等,都是需要我們自己去學習,不斷適應公司/企業需要的技能,才能更有競爭力。

本文通過學習linux的不同方面為大家整理了相關內容,內容可能不大全面,歡迎大家也分享自己對Linux的認識,學習方法,相信只要我們有自己的計劃和目標,並一直堅持下去,一定會在Linux的道路上越走越遠,成為一名合格的Linu運維工程師。

相關焦點

  • 《Linux就該這麼學》與《鳥哥的linux私房菜》哪個更適合初學者?
    《Linux就該這麼學》與《鳥哥的linux私房菜》哪個更適合初學者?時不時在一起聚會中也會說到一些關於linux的話題,談及關於linux「升級」話題時,一致的表示linux是一個「先苦後甜」系統。學習使用的時候非常難,但是一旦學習成功,那就是步入一馬平川之境界。
  • linux運維需要掌握什麼知識?linux運維學習路線
    linux運維需要掌握什麼知識?這個問題算是老生常談了,但是本人認為知道需要掌握什麼知識不是重點,重點是我們需要知道運維是做什麼的?再來根據工作需求去討論需要學習什麼知識才是正途,須知知識是學不完的,技能亦然。
  • 學習Linux系統需要明白的一些事情
    我大學專業是計算機技術及應用,即所謂的啥都學,啥都學不精。在學校的時候沒有危機感,糊裡糊塗的過了三年,畢業後找工作才知道遺憾的感覺,可惜世上沒有後悔藥,只能自己把苦水往肚子裡咽。
  • Linux系統推薦學習的程式語言以及經驗
    windows學會用來撩妹是最適合不過的了,linux對於外行人裝逼是最適合不過的了,滿屏幕的原始碼有木有大佬的既視感。這裡強行推薦一個網站:https://www.linuxprobe.com/,上面有大量的精華帖子值得你去瀏覽,去學習,而且劉老師定期發布一些精選視頻,使得學習事半功倍。如果能購買一本《linux就該這麼學》更合適不過了。
  • 如何學習Linux,需要找培訓機構嗎?我們來聊一聊
    如何學習Linux,需要找培訓機構嗎?對應的學習方法:計算機愛好者:對linux感興趣,想了解熟悉一下,推薦拍一本Linux的入門書籍或者找對應的電子書學習一下,也可以網上找一些基礎的公開課學習。開發人員:開發工作中需要用到Linux,了解linux的基礎操作的話同上;如果你涉及到Linux方向的開發,那麼就要學習linux的一些系統原理,找一些linux系統原理和內核的書籍或教程。
  • Linux下高效實用的grep命令
    [linuxmi@linux:~/linuxmi迷]$ grep -n '[^a-z]na' linuxmi.py5)^匹配以某個字符開頭的行。查詢以ba開頭的字符串[linuxmi@linux:~/linuxmi迷]$ grep -n '^ba' linuxmi.py6)[^]匹配未包含的一個任意字符。
  • linux系統入門用什麼書好
    有朋友問我為何學習Linux,其實我剛開始學習時也有這個疑問,不知道它的用處何在,它的優點何在,就會有這樣的疑問,只是看到好多人都在學習,很好奇,自己也想學一下,但又不知道為何要學它。
  • Linux和windows系統之間的區別
    據不完全統計,linux在市場上的應用範圍相當廣闊,幾乎佔據了80%的伺服器系統,所以學好Linux系統可以讓在找工作的過程中有更好的敲門磚,讓你由更多的選擇,對於碼農來說,學好這門技術也是相當有成就感的!那麼Linux命令應用範圍這麼廣,這麼重要,我們該如何學習Linux作業系統呢?正所謂「工欲善其事必先利其器」,首先你要準備一個趁手的兵器,也就是電腦。
  • Linux作業系統你真的了解嗎?
    這家看一下圖中的linux發行版的幾個重要分支,實際上Linux發行版有很多種因為它是開源的,所以我這個小電腦屏幕上是根本不足以顯示出全部的發行版本的。那麼我們怎麼去理解發行版之間的區別的,很簡單比方說安卓小米版,安卓華為版,安卓VO版等等。它就是在作業系統內核kernal上拓展了一些其他的東西,這就是Linux發行版。
  • iOS基於unix,安卓基於linux,而國產系統基於linux就被吐槽?
    說怎麼能稱之為國產作業系統呢,明明就是linux套了個馬甲而來,卻說是國產作業系統了。但其實這個吐槽真是不對的,如果這麼說,那iOS系統也是unix了,而安卓也是linux了,因為這兩者都是基於這兩個內核而來的,不也是套了個馬甲麼?
  • 黑客神器-kali linux
    想成為一名黑客其實並不難,入門特別舒服,但是要成為大佬,起碼要會一門語言比如java、c、c++這些,腳本也要會,還有其他的。其實在入門級的只要會使用各種工具就可以了,但是想要年薪百萬,迎娶白富美,住上小洋房的話,還是需要學習一些語言的。反正命令就是逃不了。
  • linux基礎03:怎樣通過SSH終端工具遠程連接linux虛擬機?
    前面的章節中,我們在windows系統電腦上安裝了VMware虛擬機,並且在VMware虛擬機上安裝好了linux系統,這樣,我們就可以在windows系統上一邊看視頻教程,一邊學習linux知識了。但是,如果直接在VMware虛擬上學習,還是有點不方便的,因為,必須要把滑鼠點擊虛擬機的界面,才能輸入linux命令,這樣一來,光標就鎖在了虛擬機裡,不能直接在windows界面操作了。如果想在windows界面操作,必須通過ctrl+alt快捷鍵才能解鎖,這樣就有點不方便了。怎麼辦呢?人總不能給尿憋死吧,我們可以遠程連接這個linux虛擬機呀,這樣,我們的操作就簡單得多了。
  • 在linux下使用noatime提升文件系統性能的方法
    在linux下使用noatime提升文件系統性能的方法 linux系統功能強大,但是目前大多數用戶都是用的是windows系統,對於linux系統來說很多功能用戶還很陌生,本文介紹了在linux下如何使用noatime提升文件系統性能的方法。
  • Linux系統的Linux應該怎麼讀?正確讀法在這裡,很多人都讀錯了!
    1、linux發音五花八門版本頗多,見到和聽到的不下10種。根據linux的創始人Linus Torvalds的說法,Linux的發音和「Minix」是押韻的。3、有人綜合網上和linux自己的讀音,概括出幾個自認為最合適也最通用的讀法:/li'n^ks/(「裡那克斯」)或/'li:nэks/(「裡訥克斯」)或/li'nju:ks/(「裡紐克斯」)。4、這幾個應該是誰都聽得懂的。至於哪個比較正宗,當然是linux的原因。但事實上使用linux哪種讀法的人似乎都不在少數。
  • linux部署網站、應用程式神器,寶塔面板,小白都會的軟體
    作為一位程式設計師,不僅得熟悉windows系統操作,而且還得動linux系統操作。Windows還好說,畢竟用的多,安裝程序什麼的基本都是傻瓜式操作。那如果需要在linux上部署一套程序呢,一想到需要安裝nginx、mysql、jdk、php、tomcat等等,很多同學就傻眼了,命令不太會啊。那有沒有一套管理linux運行環境、系統工具的軟體呢,我們只需要在界面上點點操作一下就OK的程序呢。安排!今天就給大家介紹寶塔linux面板。
  • linux基礎應用(NFS文件共享)
    Linux linux-szge 3.0.76-0.11-default #1 SMP Fri Jun 14 08:21:43 UTC 2013 (ccab990) x86_64 x86_64 x86_64 GNU/Linuxlinux-szge:~ # cat /etc/issueWelcome
  • Linux終端的使用
    在linux的圖形環境下,我們可以通過滑鼠點擊來完成所有的管理任務,這是圖形界面終端,另外一種就是文本界面的終端,在這個界面的終端下我們可以使用linux命令來控制系統完成響應的工作,而這個文本終端也是伺服器常用的模式。
  • Linux手冊:Fedora Linux
    是的,Fedora 是一個獨立的作業系統,是Linux的一個版本,Linux有好多版本,比如 Debian、SuSE、Archlinux、Mandrakelinux以及Slackware 等 ;因為Linux是開放原始碼的作業系統,所以如果您技術精通一點的話,您自己完全有能力做出自己的Linux發行版。
  • 寶塔面板linux怎麼安裝
    寶塔面板linux怎麼安裝?寶塔在國產伺服器管理面板中,是比較出名的,寶塔面板對於新手來說,優點很多,非常適合小白站長使用。很多人安裝寶塔後讓雲伺服器管理部署變得更簡單,功能也比較全面。西部數碼雲伺服器提供預裝好寶塔面板的系統模板,大家可直接安裝使用。
  • 一分鐘完成Kali linux 滲透測試系統搭建-就是這麼肉
    在開始搭建之前,我們先一起了解下什麼是Kali linux?Kali Linux是基於Debian的Linux發行版, 設計用於數字取證作業系統。由Offensive Security Ltd維護和資助。