一篇文章告訴你,如何正確學習Linux【你的學習疑惑都在這】

2020-11-13 15:00:02

很多人其實對Linux並不瞭解,只知道它是個開源作業系統,有一個核心,僅此而已。我們先來說一下學習Linux之後的一些出路:
在這裡插入圖片描述
很多人以為做Linux就是做運維,其實不然,運維只是其中一個方向而已,還有另一個很重要的方向是開發。如果你需要更進一步瞭解Linux,我這裡也整理一份java的核心知識點整理為了PDF檔案,當然也包括linux。

需要的朋友可以點選:點這個!點這個!,暗號:csdn。
在這裡插入圖片描述

我們簡單來看下運維做啥

從上面的思維導圖可以看到,運維又分為5個方向:系統運維,資料庫運維,Python運維開發,網路安全,雲端計算運維。它們的工作內容如下:

系統運維(SYS):負責IDC、網路、CDN和基礎服務的建設(LVS、NTP、DNS);負責資產管理,伺服器選型、交付和維修,工作職責如下:IDC資料中心建設、網路建設、LVS負載均衡和SNAT建設、CDN規劃和建設、伺服器選型、交付和維護、核心選型和OS相關維護工作、資產管理、基礎服務建設。

資料庫運維(DBA):資料庫運維負責資料儲存方案設計、資料庫表設計、索引設計和SQL優化,對資料庫進行變更、監控、備份、高可用設計等工作,詳細的工作內容如下:設計評審、容量規劃、資料備份與災備、資料庫監控、資料庫安全、資料庫高可用和效能優化、自動化系統建設、運維研發、運維平臺、監控系統、自動化部署系統。

網路安全(SEC):運維安全負責網路、系統和業務等方面的安全加固工作,進行常規的安全掃描、滲透測試,進行安全工具和系統研發以及安全事件應急處理,工作內容如下:安全制度建立、安全培訓、風險評估、安全建設、安全合規、應急響應。

雲端計算運維:雲端計算工程師負責雲平臺的日常維護、偵錯優化工作;負責整理公司雲平臺相關的技術檔案和使用手冊,做好雲端計算產品技術積累。

Python運維開發:運維開發工程師負責伺服器、網路、儲存、應用運維監控和自動化的開發規劃管理工作;負責設計、開發基於運維場景的各種運維產品,建設運維監控與自動化平臺。

Linux運維學習路線,實用Linux教學,需要的朋友可以點選:點這個!點這個!,暗號:csdn。

我們再來看看開發做啥

開發主要有兩個方向:

  • 應用開發
  • 底層開發

應用開發:工程師主要在Linux 環境下開發各種應用程式,就如同你們在 Windows 下開發的應用程式一樣(比如QQ,PC微信等)。這些應用程式有些帶有介面,也有很多是不帶介面的。帶介面的很多是由 QT 開發,當然也有其他的開發工具。

底層開發:工程師就會跟核心、uboot、檔案系統、驅動等比較底層的東西打交道。但是,很多移植類的工作晶片廠商都已經給你做好了,很多底層工程師都是做維護的工作,以及驅動開發的工作。

為什麼要學習Linux

知道了Linux從業的幾大方向之後,我們重新來看看,為什麼要學習Linux。首先我們從企業的角度出發,畢竟大部分人畢業之後是要進入到企業工作,企業有什麼需求,我們就去滿足企業的需求。

現在的企業有90%甚至更多是使用Linux作業系統,所以不管是做開發還是運維,不會點Linux知識肯定是無法進入到企業裡工作。而且,很多企業的崗位職責裡寫要需要精通Linux(精通?!到什麼程度才叫精通 Linux?)。

而且,全球500強超級計算機幾乎都是使用Linux作業系統,這也是Linux作業系統實力的見證。

為什麼企業偏愛Linux作業系統?很簡單,主要有三個原因:

  • 開源
  • 免費
  • 穩定

即使是對Linux一知半解的小白肯定也知道Linux是一個開源免費的作業系統。

開源,就使得我們可以根據自己的需求對作業系統進行二次開發,而且我們可以獲取到整個作業系統的原始碼,系統到底對我們的電腦做了啥我們一清二楚。不像Windows、MacOS那樣閉源,鬼知道他們對我們的隱私資料做了什麼。

免費,就更不用說了,很多時候錢是佔據了很大甚至絕對的決定性作用。畢竟企業不是慈善機構,企業也要賺錢,能節省開支的何樂而不為。

穩定,這也是企業非常注重的一個因素。企業裡有很多伺服器要求7*24小時不間斷穩定執行,而這更是Linux最擅長的地方。很多時候Linux更新升級或者設定某一項操作的時候,只需重新啟動對應的服務即可,無需整臺電腦重新啟動。而反觀Windows作業系統,動不動就要求你重新啟動,大家應該深有體會。

個人為何選擇Linux作業系統。

使用Linux作為日常作業系統的朋友,大部分是程式設計師,畢竟非程式設計師還真的hold不住。那麼Linux作業系統怎麼滿足我們的日常使用呢?其實日常基本使用是綽綽有餘的。
在這裡插入圖片描述

由此可見,不管是日常使用,還是程式設計開發,Linux作業系統都能輕鬆勝任。那麼,我們要選擇哪個發行版嗎?這裡給出一些參考。

如何免費線上試用 200+ Linux 和 Unix 發行版?10款最佳輕量級Linux發行版,什麼設定的舊電腦也能煥發生機為什麼我拋棄了 Ubuntu?挑選指南:2020最佳Linux發行版鑑賞安全研究人員最愛的12款Linux發行版

如何入門並深入學習Linux

  1. Linux學習路徑

Linux應用開發自學之路這篇文章介紹了我從零開始自學轉行Linux的完整過程,被很多大號轉載,並且影響了很多人,大家可以參考。

自學簡單程式設計可行嗎?這篇文章更詳細介紹了我是如何自學轉行的,包括心路歷程,轉行過程,轉行中需要注意的地方,以及更高效轉行成功的方法。

Linux 思維導圖整理(建議收藏)這是一個技術大佬整理的Linux思維導圖,包括:Linux學習路徑,Linux基礎入門,Linux核心學習路線,Linux命令參考,Linux命令速查等等。這份導圖雖然不是100%全面,但如果能夠將裡面全部內容掌握下來,你也是個高手了。

  1. Linux環境搭建

2.1 虛擬機器器安裝與設定

既然要學習Linux那肯定需要一個Linux環境。那麼環境搭建有兩個選擇:1. 安裝虛擬機器器;2. 直接在實體機上安裝。對於這兩個選擇,我更傾向於第1個,因為前期學習一些命令及基礎知識,直接在虛擬機器器上進行就可以了。

虛擬機器器常用的有兩種:Vmware,VirtualBox。Vmware功能更強大,但是是收費的。而VirtualBox雖然功能不及Vmware,但對於新手完全夠用了。這兩篇文章所使用的是Wmare,手把手教你安裝並設定虛擬機器器,圖文並茂,一路跟下來就可以安裝並設定好虛擬機器器,完成最基本的搭建。
在這裡插入圖片描述

2.2 主機與虛擬機器器檔案共用

虛擬機器器安裝好之後,還有一項很重要的工作要做,那就是實現虛擬機器器與主機的互通,也就是互相共用檔案。實現檔案共用有很多方式,一般而言有以下幾種:

  • 使用 FTP 協定實現檔案共用
  • 使用 samba 協定實現檔案共用

特別地,對於Vmware有一套自己的專屬檔案共用方式,VirtualBox應該也有,但我沒去研究過。對於Windows與Linux之間的檔案共用,我們一般會用到一款很強大的共用工具——WinSCP,當然還有很多類似工具,比如Xftp,FileZilla。這些工具其實都是基於FTP協定,使用起來也大同小異,都非常方便。
在這裡插入圖片描述

2.3 終端工具

作為一名Linux工程師,不管是運維還是開發,我們很多時間會是在命令列下工作。我一般是把虛擬機器器開啟著,然後使用終端工具遠端到虛擬機器器進行操作。這裡推薦一款很強大的終端工具——MobaXterm,它的功能十分強大,介面也非常友好,我用上一次就愛不釋手。

當然還有很多好用的終端工具,比如XShell、secureCRT、Putty、telnet等,選擇一個自己最喜歡的工具即可。
在這裡插入圖片描述

2.4 程式設計工具

如果你是一名Linux開發人員,那你的工作肯定少不了程式設計。我一般的作法是,在Window上使用程式碼編輯工具編好程式碼,然後在Linux下編譯。

當然我們也可以直接在Linux下寫程式碼,在Linux下編譯。Linux下寫程式碼也有很多軟體,常用的比如最性感的編輯器——Sublime Text。
在這裡插入圖片描述

最後

提供免費的Java架構學習資料,學習技術內容包含有:Spring,Dubbo,MyBatis, RPC, 原始碼分析,高並行、高效能、分散式,效能優化,微服務 高階架構開發等等。

需要的朋友可以:點這個!點這個!,暗號csdn。

還有Java核心知識點+全套架構師學習資料和視訊+一線大廠面試寶典+面試簡歷模板可以領取+阿里美團網易騰訊小米愛奇藝快手嗶哩嗶哩面試題+Spring原始碼合集+Java架構實戰電子書+2020年最新大廠面試題。
在這裡插入圖片描述
在這裡插入圖片描述