小白該如何學習Linux操作系統

来源:https://www.cnblogs.com/Aa123456780/archive/2018/09/28/9717100.html
-Advertisement-
Play Games

一、 選擇適合自己的Linux發行版 談到linux的發行版別,太多了,可能誰也不能給出一個準確的數字,但是有一點是能夠必定的,linux正在變得越來越盛行, 面臨這麼多的Linux 發行版,打算從別的體系轉到linux體系來的初學者可能會感到迷惑,即便是忠誠的 Linux 用戶也沒有時刻和精力去挨 ...


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

談到linux的發行版別,太多了,可能誰也不能給出一個準確的數字,但是有一點是能夠必定的,linux正在變得越來越盛行, 面臨這麼多的Linux 發行版,打算從別的體系轉到linux體系來的初學者可能會感到迷惑,即便是忠誠的 Linux 用戶也沒有時刻和精力去挨個測驗,因而初學者在學習linux的之前,需求有一個清晰的方向,挑選一個合適自個的體系開端學習linux至關重要!下麵咱們就分類介紹。大數據Linux學習資料分享群119599574

1.1 初學者入門首選-redhat系列
在學習redhat系列linux之前,首先要瞭解以下redhat linux各個發行版本之間的關係。

1.Red Hat Linux
Red Hat Linux是redhat最早發行的個人版本的linux, 其1.0版本於1994年11月3日發行。雖然其歷史不及其它linux發行版本悠久,但比起很多的Linux發行套件,Red Hat 的歷史悠久得多。自從Red Hat 9.0版本發佈後,RedHat 公司就不再開發桌面版的 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)被紅帽公司定位為新技術的實驗場地,許多新的技術都會在 FC 中檢驗,如果穩定的話紅帽公司則會考慮加入 Red Hat Enterprise Linux 中。
Fedora Core 1發佈於2003年年末,而FC的定位便是桌面用戶。FC提供了最新的軟體包,同時,它的版本更新周期也非常短,僅6個月。由於版本更新頻繁,性能和穩定性得不到保證,因此,一般在伺服器上不推薦採用Fedora Core。
其實可以這麼認為,Fedora就是Red Hat發行Red Hat企業版linux的一個實驗版本,以用戶做測試,為Red Hat企業版發佈奠定基礎。

3.Red Hat Enterprise Linux
Red Hat Enterprise Linux(縮寫為RHEL,Red Hat的企業版)。Red Hat現在主要做伺服器版的linux開發,在版本上註重了性能和穩定性以及對硬體的支持。 由於企業版操作系統的開發周期較長,註重性能、穩定性和服務端軟體支持,因此版本更新相對較緩慢。
RedHat Enterprise Linux又分為4個版本 Advanced Server(AS)、ES Workstation(WS)、Desktop,它們的差別不太大,只是功能方面的差別。

4.Centos
CentOS全名為“社區企業操作系統”(Community Enterprise Operating System)
CentOS產生的背景:
Redhat發佈Redhat 9。0後,不再開發redhat 10,11……,全面轉向Redhat enterprise linux(簡寫為rhel)的開發,和以往不同的是,新的redhat企業版要求用戶先購買lisence,redhat同時承諾確保產品的穩定性,安全性。rhel二進位代碼不再提供下載,而是作為redhat 服務的一部分,但源代碼依然是開放的。在這種情況下,出現了centos、whitebox、dao 等等一批open source的企業版本,其中以centos最為活躍。
下麵講述centos是如何製作產生的:
CentOS社區將Redhat的網站上的所有源代碼下載下來,進行重新編譯。由於AS/ES/WS是商業產品,因此,必須將所有Redhat的Logo和標識改成自己的CentOS標識。比如將AS4.0原版的SRPM源碼編譯後,換上Centos社區的logo,這樣就成為了CentOS 4.0。Redhat Enterprise Linux AS4 Update1的源碼編譯後,就成為了CentOS4.1。AS4 Update2的源碼編譯後,就成為了CentOS4.2等等。CentOS就是這樣產生的。
因此,可以說CentOS就是Redhat的AS/ES/WS的免費版本,使用centos可以獲得與redhat 企業級linux一樣的功能和性能。同時centos還提供免費的長期升級和更新服務。因此, 在眾多的RHEL的克隆版本中,CentOS是很出眾很優秀的。
雖然說centos是RHEL的克隆,但並不是一模一樣,所說的克隆是具有100%的互換性。對於centos其實不盡相同,RHEL的軟體在CentOS上面不能保證100%的正常工作。
在瞭解了Redhat系列各個版本的差異後。其實我們就找到了為何選擇Redhat linux作為初學者入門學習的理由了。
首先:在國內,乃至是全世界的Linux用戶最熟悉、最耳聞能詳的發行版肯定就是Red Hat了。因為Red Hat是linux界的“老大”,美國Red Hat公司發佈的Red Hat linux是商業上運作最成功的一個Linux發行套件,因此Red Hat公司發行的linux值得信任, Red Hat linux的功能和性能也毋庸置疑。
其次:Red hat現在擁有龐大的網路用戶群體,網路linux資源基本90%都是基於Redhat linux的,如果您在學習過程中遇到任何問題,隨便搜索網路,就有成千上萬的答案展示在你面前。
第三: Red Hat linux系列版本相互補充,相得益彰:如果你第一次接觸linux,那麼建議你先安裝Fedora Core, Fedora Core安裝簡單,對硬體支持很好,界面也很華麗,同時也可以體驗Redhat linux的最新功能;如果你對linux有一定的瞭解,需要深入學習,建議你使用CENTOS系統;如果你是在做linux企業級應用,建議你使用RHEL版本。
最後: redhat應用範圍廣,具有典型性和代表性,很多系統(例如紅旗redflag,中標linux,Oracle發佈的Enterprise Linux )都是以Red Hat linux為基準的,因而,可以說學會了Red Hat linux,就能觸類旁通,其它類似的linux系統也能很快掌握; 現在周圍學習linux的一般也都是以redhat linux為主,這樣交流方便,學習中出現問題,更容易得到解決。同時redhat linux的安裝和使用也是最簡單的,因此,基本上不會在”裝系統”上浪費過多時間。
大數據Linux學習資料分享群119599574

1.2 企業級應用首選-suse linux
企業級的應用追求的是可靠性和穩定性,這就要求構建企業級應用的系統平臺具有高可靠性和高穩定性。企業級linux的發行版本就是解決的這個問題。
SUSE是德國最著名的Linux發行版,在全世界範圍中也享有很高的聲譽。2003年11月4日,Novell公司對外宣佈將收購SuSE。2004年1月該收購順利完成,Novell同時將SuSE正式命名為SuSE Linux。 Novell公司收購suse,加速了suse linux的發展, suse linux無論在桌面市場還是伺服器市場都更加專業化,據不完全統計,suse linux現在歐洲linux市場占有將近80%的份額,大部分關鍵性應用都是建立在suse linux下。由於suse 進入中國時間較短,同時加上suse在中國的營銷模式短時間不能被國內接受,因此現在suse在中國的市場份額還不是很大,但是這些並不影響suse linux高可靠與穩定性的事實,隨著suse的發展,相信suse linux在中國的應用會越來越多。

1.3 游戲娛樂首選-Ubuntu Linux
說到linux桌面市場, Ubuntu Linux幾乎占據了桌面linux的半壁江山, Ubuntu Linux主打linux桌面之最,界面美觀, 簡易而不失華麗,如果想在linux下進行娛樂休閑,Ubuntu Linux絕對是首選。
Ubuntu 的安裝非常的人性化,只須按照提示一步一步進行,安裝與Windows一樣簡單!並且,Ubuntu被譽為對硬體支持最好最全面的Linux 發行版之一,許多在其他發行版上無法使用,或者在預設配置時無法使用的硬體,在Ubuntu上都能輕鬆搞定。因此你可以像安裝windows一樣輕鬆的安裝Ubuntu。盡情體驗Ubuntu linux帶來的樂趣。

1.4  linux作為伺服器是發展趨勢
在上面的章節中主要介紹了幾種最常見的linux發行版本,其實linux的發行版本還有很多很多,比較常見的還有Debian GNU/Linux, Mandriva, Gentoo,Slackware, Knoppix,MEPIS, Xandros,國產的紅旗redflag,中標linux等等,這裡不再一 一介紹,其實縱觀linux的各個發行版,linux發行版本無非是朝著這兩個方面而來,一是伺服器市場,而是桌面市場。
以Ubuntu Linux為代表的linux發行版走的是桌面市場路線,雖然它們給用戶帶來很多驚喜,更新也很快,但是由於桌面市場有著windows這樣強勁的對手,linux桌面發展舉步維艱。
以redhat系列版本為代表的linux發行版現在主要面向企業級linux的伺服器市場,重點開發linux的企業版本,suse linux同樣主要力量也集中在開發企業級linux上面,其它的例如國產redhat flag,中標linux等都重點投入在了linux伺服器市場。linux兩大發佈廠商現在都走了linux伺服器市場的路線,可見linux作為企業級伺服器有著巨大的發展前途,據權威部門統計,linux在伺服器市場的占有率每年都在持續上升。
其實很多linux的應用都是針對linux伺服器的,本書的講述也是主要針對linux在伺服器下的各種應用展開的。

二、 養成良好的linux操作習慣

當你進入linux的學習之後,請不要用windows的工作方式來思考問題,因為它們之間確實有很大的不同,比如它們之間的記憶體管理機制,進程運行機制等都有很大不同,這些異同點將在下麵章節陸續講述,因此,拋開windows那種思維,用全新的理念嘗試去挖掘linux身上特有的潛質,對初學者至關重要。

2.1 一定要習慣命令行方式
Linux是一個命令行組成的操作系統,精髓在命令行,無論圖形界面發展到什麼水平,命令行方式的操作永遠是不會變的,Linux命令有許多強大的功能:從簡單的磁碟操作、文件存取、到進行複雜的多媒體圖象和流媒體文件的製作都離不開命令行。雖然linux也有桌面系統,但是X-window也只是運行在命令行模式下的一個應用程式。
因此,可以這麼說,命令是學習linux系統的基礎,學習linux,很大程度上就是學習命令,很多linux高手其實都是玩兒命令很熟的人。
也許對於剛剛從windows系統進入linux學習的初學者來說,立刻進入枯燥的命令學習,實在太難,但是你一旦學會就愛不釋手。因為它的功能實在太強大了。您未來的學習之路也將會以指數增加的方式增長。

2.2 理論結合實踐
有很多初學者都會遇到這麼一個問題,說到系統的每個命令,都很熟悉,但是在系統出現故障的時候,面對出現問題的linux系統無從下手了。不知道在什麼時候用什麼命令去檢查系統,這是很多linux新手最無奈的事情了。說到底,就是學習的理論沒有很好的與系統實際操作相結合。
很多linux知識,例如每個命令的參數含義,在書本上說的很清楚,看起來也很容易理解,但是一旦組合起來使用,卻並不是那麼容易,沒有多次的動手練習,其中的技巧是無法掌握的。
人類大腦不像電腦的硬碟一樣,除非硬碟壞掉或者硬碟被格式化,否則儲存的資料將永遠而且時刻的記憶在硬碟中。而在人類記憶的曲線中,必須要不斷的重覆練習才會將一件事情記得比較熟。同樣的,學習 Linux 也一樣,如果無法經常學習的話,學了後面的,忘記了前面的;還有些linux初學者也學了很多linux知識,但是由於長期不用,導致學過的東西在很短的時間內又忘記了,久而久之,失去了學習的信心。
可見,增加自己Linux 的實戰技能,只有勤於動手,勇於實踐,這也是學好linux的根本。

2.3 學會使用linux聯機幫助
各個Linux的發行版本的技術支持時間都較短,這對於Linux初學者來說往往是不夠的, 其實當安裝了一個完整的Linux系統後其中已經包含了一個強大的幫助,只是可能你還沒有發現和使用它們的技巧。例如,對於一個linux tar命令的使用,你不是很熟悉,那麼只要你在命令行輸入man tar, 就會得到tar的詳細說明和用法;
主流的linux發行版都自帶了非常詳細的幫助文檔,包括使用說明和FAQ,從系統的安裝到系統的維護,再到系統安全,針對不同層次人群的詳盡文檔。仔細閱讀文檔後60%的問題都可在這裡得到解決。

2.4 學會獨立思考問題,獨立解決問題
遇到問題,首先想到的應該是如何自己去解決這個問題,解決方式很多,看書查資料,網路搜索引擎,技術論壇等等,通過這幾種方式,90%的問題都能得到解決,通過這種方式一方面鍛煉了自己獨立解決問題的能力。另一方面技術上也能得到快速提高。
如果通過如上方式實在解決不了的話,可以向人詢問,得到答案後要考慮為何這麼做,然後做筆記記錄解決過程。最忌諱的方式是只要遇到問題,就去問人,雖然這樣可能會很快解決問題,但是長久下去遇到問題就會依賴別人,技術上也不會進步。

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

2.6  Linux學習基本步驟
到這裡,我們總結一下linux的學習路線圖,給各位初學者作為參考。
初級階段:
1. 命令是必須要學的,linux常用的命令大概在80個左右,這些常用命令一定要熟練掌握。
2. 掌握linux軟體包的常用安裝方法,例如源碼安裝,rpm方式安裝等等。
3. 學習安裝設備驅動程式(比如網卡、顯卡驅動)
4. 熟悉Grub/Lilo引導程式及簡單的修複操作。
5. 熟悉Linux文件系統和目錄結構以及linux基本運行原理。
6. 掌握vi,gcc,gdb等常用編輯器,編譯器,調試器。
7. 理解shell別名、管道、I/O重定向、輸入和輸出以及shell簡單腳本編程。
8. 學習Linux環境下的網路基本組建。

高級階段:
1:嘗試閱讀linux內核源碼:
這需要具有一定的C、C++語言基礎,因為C、C++是linux/unix的核心語言,系統代碼都是C寫的。
2:嘗試編譯安裝和調試自己的linux內核:
在閱讀源碼瞭解了linux底層的運行原理後,完全可以編譯一個適合自己的linux系統來。
3:深入學習shell, perl,cgi等腳本語言:
這些腳本語言在linux下非常強大,它們能完成你想做的任何事情,熟練掌握這些語言,可以讓你在linux系統下游刃有餘,如魚得水。
4:構建企業級linux高可用集群體系:
linux下有許多開源免費的集群軟體,使用這些免費的集群軟體完全可以構建出與商業unix體系想媲美的集群體系來。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 這篇博客是在學習MySQL Server 5.7版的源代碼過程中編寫的第一個學習筆記,主要內容包括: 連接處理總體過程 連接監聽總體過程 登錄驗證 命令交互總體過程 命令的種類 命令的執行結果 支持的協議以及相關的類 連接處理總體過程 在一個線程中來處理與一個mysql客戶端程式的整個會話過程中的全 ...
  • SQL Server中通用資料庫角色許可權處理 最近和同事在做資料庫許可權清理的事情,主要是刪除一些賬號;取消一些賬號的較大的許可權等,例如,有一些有db_owner許可權,我們取消賬號的資料庫角色db_owner,授予最低要求的相關許可權。但是這種工作完全是一個體力活,而且是吃力不討好,而且推進很慢。另外,... ...
  • -- 查詢外鍵 塗聚文 (Geovin Du) select concat(table_name, '.', column_name) as 'foreign key', concat(referenced_table_name, '.', referenced_column_name) as 'r... ...
  • 首先在master庫下建立表ProcSqlTable和BackProcSqlTable。ProcSqlTable存放存儲過程當前版本代碼,BackProcSqlTable存放歷史版本代碼。 接下來需要建立兩個庫級(DDL)觸發器:tr_saveProcSql和tr_saveBackProcSql。t ...
  • 關於消息中間件,我找了一些比較好玩的討論主題,覺得對於深入理解一些技術問題非常有幫助:https://www.slidestalk.com/s/kafka_vs_rabbitmq_fmwmi4 (怎麼比較消息中間件?應該從哪幾個緯度來關註其特點,kafka和rabbitmq有比較的意義麽?)http ...
  • 在開發過程中有時候會遇到sql相關的問題,但是有時候代碼中不會直接看到真實的sql,想要看到mysql中實際執行的是什麼sql,可以通過開啟日誌跟蹤方式查看。 1 開啟日誌跟蹤 開啟之後可以查看系統參數是否已經修改成功: 2 跟蹤日誌保存位置 跟蹤日誌可以有兩種方式保存:(1) 保存到文件預設情況下 ...
  • 即將發佈的 Apache Spark 2.4 版本是 2.x 系列的第五個版本。 本文對 Apache Spark 2.4 的主要功能和增強功能進行了概述。 新的調度模型(Barrier Scheduling),使用戶能夠將分散式深度學習訓練恰當地嵌入到 Spark 的 stage 中,以簡化分佈... ...
  • 1、windows圖標右鍵,選擇“電腦管理”; 2、展開左邊的“ 服務和應用程式” 選項,點擊“服務",找到 MySQL 伺服器,點擊左側的 "啟動",即可完成 MySQL伺服器的開啟。 PS: 1、未開啟MySQL伺服器之前,cmd命令行切換到MySQL目錄下的bin文件下,mysql -u r ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...