歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> 再談如何學習Linux,一線Linux專家學習經驗談

再談如何學習Linux,一線Linux專家學習經驗談

日期:2017/3/1 12:17:35   编辑:關於Linux

記得最早接觸linux是在2000年,那個時候,還在上大學,一個同學從荷蘭回來,帶回來了一個Linux的拷貝版,記得版本還是Redhat6.2。曾經為安裝一個系統讓我們忘記疲勞,挑燈夜戰,不亦樂乎。那時Linux的學習資料還很少,能夠學習的書籍也不多,網上Linux技術社區也很少,就憑著Redhat6.2自帶的幾頁使用說明開始了學習linux的生涯。

轉眼間,10幾年過去了,我也與Linux相伴了10多年,10年間,隨著虛擬化、雲計算時代的來臨,Linux迅猛發展,在服務器領域已經占據半壁江山,而基於Linux的運維也面臨新的挑戰:面對越來越復雜的業務,面對越來越多樣化的用戶需求,不斷擴展的應用需要越來越合理的模式來保障Linux靈活便捷、安全穩定地持續提供服務,這種模式中的保障因素就是Linux運維。從初期的幾台服務器發展到龐大的雲計算數據中心,單靠人工已經無法滿足在技術、業務、管理等方面的要求,那麼標准化、自動化、穩定性、可靠性等業務需求越來越被人們所重視。因此,對Linux的高性能、可靠性提出了更高的要求。

2009年我完成了基於Linux操作系統的作品《循序漸進Linux——基礎知識、服務器搭建、系統管理、性能調優、集群應用》,此書出版後,得到了很多同行的認可,但是,此書出版已近6年,書中介紹的部分知識點和操作系統版本已經變得陳舊,已不能滿足Linux以及開源技術迅速發展的需求,抱著對讀者和本書負責的態度,我決定修訂此書,因此也就有了這本《循序漸進Linux(第2版)——基礎知識、服務器搭建、系統管理、性能調優、虛擬化與集群應用》這本新書。

今天不講深入的東西,只想將自己多年來學習Linux的心得與感受與大家一起分享下,希望能給愛好Linux的朋友們或者Linux的同行們一點意見和建議,一點經驗心得與大家共勉!

一、Linux在各領域發展的現狀與趨勢

很多新手都有一個很疑惑的問題:“Linux我聽過,但是學習linux系統,能在上面干什麼呢,或者說linux系統具體能做什麼”,帶著這個疑問,在本書的開篇,我們先來了解下Linux與開源軟件的關系以及Linux的應用領域和未來的發展趨勢。

1.1Linux與開源軟件

Linux是一種自由和開放源代碼的類UNIX操作系統,該操作系統的內核由林納斯托瓦茲在1991年首次發布,之後,在加上用戶空間的應用程序之後,就成為了Linux操作系統。嚴格來講,Linux只是操作系統內核本身,但通常采用“Linux內核”來表達該意思。而Linux則常用來指基於Linux內核的完整操作系統,它包括GUI組件和許多其他實用工具。

GNU通用公共許可協議(GNU General Public License,簡稱GNU GPL或GPL),是一個廣泛被使用的自由軟件許可協議條款,最初由理查德斯托曼為GNU計劃而撰寫,GPL給予了計算機程序自由軟件的定義, 任何基於GPL軟件開發衍生的產品在發布時必須采用GPL許可證方式,且必須公開源代碼,

Linux是自由軟件和開放源代碼軟件發展中最著名的例子。只要遵循GNU通用公共許可證,任何個人和機構都可以自由地使用Linux的所有底層源代碼,也可以自由地修改和再發布。隨著Linux操作系統飛速發展,各種集成在Linux上的開源軟件和實用工具也得到了應用和普及,因此,Linux也成為了開源軟件的代名詞。

1.2Linux在服務器領域的發展

隨著開源軟件在世界范圍內影響力日益增強,Linux服務器操作系統在整個服務器操作系統市場格局中占據了越來越多的市場份額,已經形成了大規模市場應用的局面。並且保持著快速的增長率。尤其在政府、金融、農業、交通、電信等國家關鍵領域。此外,考慮到Linux的快速成長性以及國家相關政策的扶持力度,Linux服務器產品一定能夠沖擊更大的服務器市場。

據權威部門統計,目前Linux在服務器領域已經占據75%的市場份額,同時,Linux在服務器市場的迅速崛起,已經引起全球IT產業的高度關注,並以強勁的勢頭成為服務器操作系統領域中的中堅力量。

1.3Linux在桌面領域的發展

近年來,特別在國內市場,Linux桌面操作系統的發展趨勢非常迅猛。國內如中標麒麟Linux、紅旗Linux、深度Linux等系統軟件廠商都推出的Linux桌面操作系統,目前已經在政府、企業、OEM等領域得到了廣泛應用。另外SUSE、Ubuntu也相繼推出了基於Linux的桌面系統,特別是Ubuntu Linux,已經積累了大量社區用戶。但是,從系統的整體功能、性能來看,Linux桌面系統與Windows系列相比還有一定的差距,主要表現在系統易用性、系統管理、軟硬件兼容性、軟件的豐富程度等方面。

1.4 Linux在移動嵌入式領域的發展

Linux的低成本、強大的定制功能以及良好的移植性能,使得Linux在嵌入式系統方面也得到廣泛應用,目前Linux以廣泛應用於手機、平板電腦、路由器、電視和電子游戲機等領域。在移動設備上廣泛使用的Android操作系統就是創建在Linux內核之上的。目前,Android已經成為全球最流行的智能手機操作系統,據2015年權威部門最新統計,Android操作系統的全球市場份額已達84.6%。

此外,思科在網絡防火牆和路由器也使用了定制的Linux,阿裡雲也開發了一套基於Linux的操作系統“YunOS”,可用於智能手機、平板電腦和網絡電視;常見的數字視頻錄像機、舞台燈光控制系統等都在逐漸采用定制版本的Linux來實現,而這一切均歸功與Linux與開源的力量。

1.5 Linux在雲計算/大數據領域的發展

互聯網產業的迅猛發展,促使雲計算、大數據產業的形成並快速發展,雲計算、大數據作為一個基於開源軟件的平台,Linux占據了核心優勢;據Linux基金會的研究,86%的企業已經使用Linux操作系統進行雲計算、大數據平台的構建,目前,Linux已開始取代Unix成為最受青睐的雲計算、大數據平台操作系統。

二、選擇適合自己的Linux發行版

談到Linux的發行版本,太多了,可能誰也不能給出一個准確的數字,但是有一點是可以肯定的,Linux正在變得越來越流行。面對這麼多的Linux發行版,打算從其他系統轉到Linux系統來的初學者可能會感到困惑,即便是忠實的Linux用戶也沒有時間和精力去挨個嘗試,因此初學者在學習Linux之前,需要有一個明確的方向,選擇一個適合自己的Linux系統至關重要。下面我們就分類介紹。

2.1 常見的Linux發行版

1.Red Hat Linux

Red Hat Linux是Red Hat最早發行的個人版本的Linux,其1.0版本於1994年11月3日發行。雖然其歷史不及其他Linux發行版本悠久,但比起很多的Linux發行套件,Red Hat的歷史要悠久得多。自從Red Hat 9.0版本發布後,Red Hat公司就不再開發桌面版的Linux發行套件,Red Hat Linux停止了開發,而將全部力量集中在服務器版的開發上,也就是Red Hat Enterprise Linux版。2004年4月30日,Red Hat公司正式停止對Red Hat 9.0版本的支援,標志著Red Hat Linux的正式完結。原本的桌面版Red Hat Linux發行套件則與來自開源社區的Fedora進行合並,成為Fedora Core發行版本。

目前Red Hat分為兩個系列:由Red Hat公司提供收費技術支持和更新的Red Hat Enterprise Linux,以及由社區開發的免費的Fedora Core。

2.Fedora Core

Fedora Core(縮寫為FC)被Red Hat公司定位為新技術的測試平台,許多新的技術都會在FC中檢驗。如果穩定的話Red Hat公司則會考慮加入到Red Hat Enterprise Linux中。

Fedora Core 1發布於2003年年末,而FC的定位便是桌面用戶。FC提供了最新的軟件包,同時它的版本更新周期也非常短,僅有6個月。由於版本更新頻繁,性能和穩定性得不到保證,因此一般在服務器上不推薦采用Fedora Core。

Fedora對於用戶而言,是一套功能完備、更新迅速的免費操作系統,因此,個人領域的應用,例如開發、體驗新功能等可選擇此發行版本。

3.Red Hat Enterprise Linux

Red Hat Enterprise Linux(縮寫為RHEL,Red Hat的企業版Linux)。Red Hat現在主要做服務器版的Linux開發,在版本上注重了性能和穩定性,以及對硬件的支持。由於企業版操作系統的開發周期較長,注重性能、穩定性和服務端軟件支持,因此版本更新相對較緩慢。

RHEL的版本都是基於Fedora。大約每六個版本的Fedora會有一個新版本的RHEL發布,因此,RHEL大約3年發布一個新版本。其最新版本是2015年3月6日發布的RHEL 7.1。本書就是以此版本展開講述的。

4.Centos

CentOS全名為“社區企業操作系統”(Community Enterprise Operating System)。它是來自於RHEL依照開放源代碼規定發布的源代碼所編譯而成,由於RHEL是商業產品,因此必須將所有Red Hat的Logo標識改成自己的CentOS標識,這就產生了CentOS操作系統,兩者的不同在於,CentOS並不包含封閉源代碼軟件。因此,CentOS不但可以自由使用,而且還能享受CentOS提供的免費長期升級和更新服務。這是CentOS的一個很大優勢。

CentOS采取從RHEL的源代碼包來構建,它的版本號有兩個部分:一個主要版本和一個次要版本,主要和次要版本號分別對應於RHEL的主要版本與更新包,例如CentOS6.5構建在RHEL6.0更新的第5版。但是從RHEL7.0版本以後,CentOS版本命名格式又稍有變化:主要版本仍然對應於RHEL的主要版本,次要版本以RHEL更新包發布日期為准,例如RHEL7.1對應的CentOS版本為CentOS 7.1.1503,這表示RHEL7.1版本是2015年3月份發布的。

在2014年CentOS宣布與Red Hat合作,但CentOS將會在新的委員會下繼續運作,並不受RHEL的影響。這個策略表明CentOS後續發展將有Red Hat作為強有力的支持。

5、SuSE Linux

SUSE是德國最著名的Linux發行版,也享有很高的聲譽,不過命運相當坎坷;2003年11月4日,Novell公司對外宣布將收購SUSE。2004年1月該收購順利完成,Novell同時將SUSE正式命名為SUSE Linux。Novell公司收購SUSE,加速了SUSE Linux的發展,將免費SUSE Linux改為openSUSE社區項目,但在2010年,Attachmate公司收購了Novell,在被收購後,SUSE Linux發展受阻,而就在3年後,SUSE再次易主,2014年9月Attachmate公司被上市公司Micro Focus收購,但幸運的是:SUSE官方宣布開源作為SUSE的發展之本,仍將持續貢獻開源,SUSE仍將全力投入對openSUSE的支持。

雖然SUSE多次易主,但並不影響它的專業性,據不完全統計,SUSE Linux現在歐洲Linux市場占有將近80%的份額,大部分關鍵性應用都是建立在SUSE Linux下的。而由於SUSE多次易主,再加上SUSE在中國的營銷模式問題,現在SUSE在中國的Linux市場份額並不大,但是這些並不影響SUSE Linux高可靠性與穩定性的事實。隨著SUSE的發展,相信SUSE Linux在中國的應用會越來越多。

6、Ubuntu Linux

Ubuntu(中文諧音為友幫拓、優般圖、烏班圖)是一個以桌面應用為主的Linux操作系統,基於Debian GNU/Linux,Ubuntu的目標在於為一般用戶提供一個最新的、同時又相當穩定的主要由自由軟件構建而成的操作系統。Ubuntu具有龐大的社區力量,用戶可以方便地從社區獲得幫助。

7、發行版總結

上面主要介紹了幾種最常見的Linux發行版本,其實Linux的發行版本還有很多,比較常見的還有Debian GNU/Linux、Mandriva、Gentoo、Slackware、Knoppix、MEPIS和Xandros,以及國產的紅旗Redflag、深度deepin Linux和中標麒麟Linux等,這裡不再一一介紹。其實縱觀Linux的各個發行版,Linux發行版本無非是朝著這兩個方面而來,一是服務器市場,二是桌面市場。

以Ubuntu Linux為代表的Linux發行版走的是桌面市場路線,雖然它們給用戶帶來很多驚喜,更新也很快,但是由於桌面市場有著Windows這樣強勁的對手,因此Linux桌面發展不容樂觀,目前Ubuntu Linux也開始向企業級服務器市場發力。

以Red Hat系列版本為代表的Linux發行版現在主要面向企業級Linux的服務器市場,重點開發Linux的企業版本,其他的(例如國產Redflag、中標麒麟Linux等)都重點投入在了Linux服務器市場。Linux兩大發布廠商現在都走了Linux服務器市場的路線,可見Linux作為企業級服務器有著巨大的發展前途。據權威部門統計,Linux在服務器市場的占有率每年都在持續上升。

其實很多Linux的應用都是針對Linux服務器的,本書的講述也是主要針對Linux在服務器下的各種應用展開的。

2.2初學者入門首選——Centos系列

在了解了Linux幾個主要發行版本後,我們就找到了為何選擇CentOS作為初學者入門學習的理由了。

CentOS現在擁有龐大的網絡用戶群體,網絡Linux資源基本80%都是基於CentOS發行版的,如果在學習過程中遇到任何問題,在網絡中可以較容易地搜索到解決方案。

CentOS系列版本可以輕松獲得。可以從CentOS官網或者163開源、sohu開源、阿裡雲開源站下載CentOS各個版本的安裝介質,如果是第一次接觸Linux,那麼建議先安裝Fedora Core。Fedora Core的安裝簡單,對硬件支持很好,界面也很華麗,同時也可以體驗Linux的最新功能。如果對Linux有一定的了解,需要深入學習,建議使用CentOS發行版系統。

CentOS應用范圍廣,具有典型性和代表性,現在基本所有的互聯網公司後台服務器都采用CentOS作為操作系統,可以說學會了CentOS,不但能迅速融入企業的工作環境,還能觸類旁通,其它類似的Linux發行版也能很快掌握。同時,現在周圍學習Linux的用戶一般也都是以CentOS為主的,這樣交流方便,學習中出現問題,更容易得到解決。最主要的是CentOS的安裝和使用上也是最簡單的,因此基本上不會在“裝系統”上浪費過多時間。

2.3 桌面平台首選——Ubuntu Linux

說到Linux桌面市場,Ubuntu Linux幾乎占據了桌面Linux的半壁江山,Ubuntu Linux主打Linux桌面之最,界面美觀,簡潔而不失華麗,如果想在Linux下進行娛樂休閒,Ubuntu Linux絕對是首選。

Ubuntu的安裝非常人性化,只需按照提示一步一步進行。Ubuntu被譽為對硬件支持最好最全面的Linux發行版之一,許多在其他發行版上無法使用的,或者在默認配置時無法使用的硬件,在Ubuntu上都能輕松安裝使用。因此用戶可以像安裝Windows一樣輕松地安裝Ubuntu,盡情體驗Ubuntu Linux帶來的樂趣。

2.4 企業級應用首選——RHEL/Centos系列

企業級的應用追求的是可靠性和穩定性,這就要求構建企業級應用的系統平台具有高可靠性和高穩定性。企業級Linux的發行版本就是解決的這個問題。

RHEL與Centos兩個Linux發現版本,並沒有太大差別,所不同的是RHEL屬於商業Linux發行版本,如果要使用RHEL版本,則需要購買商業授權和咨詢服務,Red Hat提供系統的技術支持並提供系統的免費升級。目前Red Hat官網已經不再提供可免費下載的光盤介質,如果需要試用,可通過官網下載有試用時間的評估版Linux。而CentOS屬於非商業發行版,可以從網上免費下載CentOS各個版本的安裝介質,但CentOS並不提供商業支持,當然使用者也不用負上任何商業責任。

那麼,到底是選擇CentOS還是RHEL呢,這取決於你所在公司是否擁有相應的技術力量,如果是單純的業務型企業,那麼建議選購RHEL發行版並購買相應服務,這樣可以節省企業的IT管理費用,並可得到專業的技術支持服務。相反,如果企業技術力量比較強大,並且有多年Linux使用經驗的話,那麼CentOS發行版將是最好的選擇。

三、 養成良好的Linux操作習慣

開始Linux的學習之後,請不要用Windows的工作方式來思考問題,因為它們之間確實有很大的不同,比如它們之間的內存管理機制、進程運行機制等都有很大不同,因此拋開Windows的那種思維,用全新的理念嘗試去挖掘Linux身上特有的潛質,對初學者是至關重要的。

3.1 一定要習慣命令行方式

Linux是由命令行組成的操作系統,精髓在命令行,無論圖形界面發展到什麼水平,命令行方式的操作永遠是不會變的。Linux命令有許多強大的功能:從簡單的磁盤操作、文件存取,到進行復雜的多媒體圖像和流媒體文件的制作,都離不開命令行。雖然Linux也有桌面系統,但是X-window也只是運行在命令行模式下的一個應用程序。

因此,可以說命令是學習Linux系統的基礎,在很大程度上學習Linux就是學習命令,很多Linux高手其實都是玩兒命令很熟練的人。

也許對於剛剛從Windows系統進入Linux學習的初學者來說,立刻進入枯燥的命令學習實在太難,但是一旦學會就愛不釋手。因為它的功能實在太強大了。

3.2 理論結合實踐

有很多初學者都會遇到這麼一個問題,自己對系統的每個命令都很熟悉,但是在系統出現故障的時候,就無從下手了,甚至不知道在什麼時候用什麼命令去檢查系統,這是很多Linux新手最無奈的事情了。說到底,就是學習的理論知識沒有很好地與系統實際操作相結合。

很多Linux知識,例如每個命令的參數含義,在書本上說得很清楚,看起來也很容易理解,但是一旦組合起來使用,卻並不那麼容易,沒有多次的動手練習,其中的技巧是無法完全掌握的。

人類大腦不像計算機的硬盤,除非硬盤壞掉或者硬盤被格式化,否則儲存的資料將永遠記憶在硬盤中,而且時刻可以調用。而在人類記憶的曲線中,必須要不斷地重復練習才會將一件事情記得比較牢。學習Linux也一樣,如果無法堅持學習的話,就會學了後面的,忘記了前面的。還有些Linux初學者也學了很多Linux知識,但是由於長期不用,導致學過的東西在很短的時間內又忘記了,久而久之,失去了學習的信心。

可見,要培養自己的實戰技能,只有勤於動手,肯於實踐,這也是學好Linux的根本。

3.3 學會使用Linux聯機幫助

各個Linux的發行版本的技術支持時間都較短,這對於Linux初學者來說往往是不夠的,其實當安裝了完整的Linux系統後其中已經包含了一個強大的幫助,只是可能你還沒有發現它,或者還沒有掌握使用它的技巧。例如,對於tar命令的使用不是很熟悉,那麼只要在命令行輸入“man tar”,就會得到tar的詳細說明和用法。

主流的Linux發行版都自帶了非常詳細的幫助文檔,包括使用說明和FAQ,從系統的安裝到系統的維護,再到系統安全,針對不同層次用戶的詳盡文檔。仔細閱讀文檔後,60%的問題都可在這裡得到解決。

3.4 學會獨立思考問題,獨立解決問題

遇到問題,首先想到的應該是如何自己去解決這個問題,解決方式有很多,比如看書查資料、網絡搜索引擎搜索和浏覽技術論壇等,通過這幾種方式,90%的問題都能得到解決

獨立思考並解決問題,不但鍛煉了自己獨立解決問題的能力,在技術上也能得到快速提高。如果通過以上方式實在解決不了的話,可以向人詢問,得到答案後要思考為何這麼做,然後做筆記記錄解決過程。最忌諱的方式是只要遇到問題,就去問人,雖然這樣可能會很快解決問題,但是長久下去遇到問題就會依賴別人,技術上也不會進步。

3.5 學習專業英語

如果想深入學習Linux,一定要嘗試去看英文文檔。因為,技術性的東西寫的最好的,最全面的文檔都是英語寫的,最先發布的高新技術也都是用英語寫的。即便是非英語國家的人發布技術文檔,也都首先翻譯成英語在國際學術雜志和網絡上發表。安裝一個新的軟件時先看Readme文檔,再看Install文檔,然後看FAQ文檔,最後才動手安裝,這樣遇到問題就知道原因了。因此,學習一點專業的英語是很有必要的。

四、Linux學習路線圖

Linux運維或管理人才是企業目前急需的技術人才之一,筆者根據10多年Linux相關工作經驗,總結出了一套學習Linux的線路圖,大家可以此線路圖為依據,抓住重點,分清主次,相信一定能達到事半功倍的效果。如果讀者能認真學習完並掌握本線路圖所涉及的技術要點,那麼也就基本掌握了企業對Linux運維或管理人才的基本應用需求。

Linux學習線路圖如下圖所示,本線路圖分為初級、中級和高級三個階段:初級階段主要是對Linux基礎知識以及系統基本應用的介紹,要掌握的內容較多,如果初次接觸Linux,那麼入門還是有一定難度的,Linux注重的是命令操作,因此初級階段以學習基礎命令為主,多看書、多實踐是學好命令的根本;中級階段以服務器常見配置為主,涉及各種應用服務器的配置、網絡配置、系統安全配置等幾個方面。此階段的難點在於各種服務器的搭建,對綜合知識要求較高;高級階段的重點是編程語言、集群架構兩個方面,此階段的發展方向是高級運維工程師或系統架構師,要成為系統架構師,熟練掌握一門編程語言是必須的,而Linux下常見的各種集群架構、分布式架構也是高級運維工程師必須要掌握的。

wKiom1apsP2DIczSAACuNcaweKs354.png

本文出自 “技術成就夢想” 博客,請務必保留此出處http://ixdba.blog.51cto.com/2895551/1739514

Copyright © Linux教程網 All Rights Reserved