Linux入門——初識Linux

来源:https://www.cnblogs.com/shamao/archive/2019/07/03/11129297.html
-Advertisement-
Play Games

本文主要說明瞭Linux是什麼,Linux發展歷史,以及同Linux系統有關的一些基本知識。 ...


Linux入門——初識Linux

摘要:本文主要說明瞭Linux是什麼,Linux發展歷史,以及同Linux系統有關的一些基本知識。

簡介

操作系統

Linux系統同Windows系統、Mac系統一樣,都屬於電腦的操作系統,當我們擁有了一臺新電腦之後,要做的第一件事就是裝系統,那麼,什麼是操作系統呢?

電腦,也就是我們常說的電腦,其實只是由一堆看得見摸得著的東西組成的機器,這些東西被稱為硬體

我們在電腦上用到的一些應用,比如:聊天用到的QQ、微信,打游戲用到的英雄聯盟、絕地求生,工作用到的Word、Excel、PowerPoint。這些是在電腦本身不具備的東西,是通過安裝相應的程式才能讓它們在電腦上運行,這些東西被稱為軟體

操作系統本質上是一套程式,是用來管理機硬體和軟體的電腦程式,比如:它可以對磁碟進行分區管理,對連接電腦的輸入輸出設備進行管理,對網路通信進行管理,對系統里的文件進行管理,對程式運行的記憶體進行管理,有的操作系統還提供了一套自己的用戶交互界面,等等。

因為操作系統本身不具備應用程式的功能,所以在安裝了Linux操作系統之後,根據不同的需求還需要在Linux操作系統上安裝不同的軟體。

發展歷史

上個世紀六十年代,電腦系統使用批處理,中途不需要用戶的交互,別人也不能用,導致了電腦資源的浪費。

1965年,貝爾實驗室(Bell)、麻省理工學院(MIT)以及通用電氣(GE)聯合起來準備研發一個分時多任務處理系統。

1969年,貝爾實驗室退出,Ken Thompson用彙編語言寫出了一組核心程式,同時包括一些核心工具程式,以及一個小小的文件系統,這個系統就是Unix的原型。

1973年,柏克萊大學的Bill Joy在取得了Unix的核心原始碼後,著手修改成適合自己機器的版本,最終將它命名為Berkeley Software Distribution(BSD)。這個BSD是Unix很重要的一個分支,Bill Joy也是Sun公司的創始人。

1984年,因為Unix規定:“不能對學生提供源碼”,Tanenbaum老師自己編寫相容於Unix的Minix,用於教學。

1984年,Stallman開始GNU(GNU's Not Unix)計劃,創辦FSF(Free Software Foundation)基金會。完成一些重要軟體的開發:Emacs、GCC(GNU C Compiler)、GLIBC(GNU C Library)、BASH Shell。

1985年,為了避免GNU所開發的自由軟體被其他人所利用而成為專利軟體,所以他與律師草擬了有名的通用公共許可證(GPL,General Public License)。

1991年,芬蘭的赫爾辛基大學的Linus Torvalds基於GCC、BASH Shell開發了針對386機器的Linux內核。

1994年,Torvalds發佈Linux-v1.0。

1996年,Torvalds發佈Linux-v2.0,確定了Linux的吉祥物:企鵝。

優缺點

系統穩定:Linux本來就是基於Unix概念而發展出來的操作系統,因此,Linux具有與Unix系統相似的程式介面跟操作方式,當然也繼承了Unix穩定並且有效率的特點。安裝Linux的主機連續運做一年以上而不曾當機、不必關機是稀鬆平常的事。

開源,免費:由於Linux是基於GPL授權下的產物,因此任何人皆可以自由取得Linux。不同於Unix需要負擔龐大的版權費用,當然也不同於Windows需要一而再、再而三的更新你的系統,並且繳納大量費用。

安全性高,修複漏洞速度快:由於使用Linux的人很多,有相當多的熱心團體、個人參與其中的開發,因此可以隨時獲得最新的安全信息,並給予隨時的更新,安全性相對較高。

允許多人共同使用:與Windows系統不同,Linux主機上允許多人同時使用,並且資源的分配較為公平,比起Windows的單人多任務系統要穩定的多。可以在一個Linux主機上添加不同身份的用戶,而且每個用戶登入系統時的工作環境都可以不相同,此外,還可以允許不同的使用者在同一個時間登入主機,同時使用主機的資源。

文件屬性和用戶組許可權:在Linux的系統中,文件的屬性可以分為“可讀、可寫、可執行”,這些屬性還可以分為三個種類,分別是文件擁有者、文件所在組、其他。這對於項目計劃或者其他計劃開發者具有相當良好的系統保密性。

相對節省資源:Linux系統對主機的要求比較低,不需要很高的配置。

強大的網路支持:Linux在通信和網路功能方面優於其他操作系統。其他操作系統沒有如此緊密地和內核結合在一起的連接網路的能力,也沒有內置這些聯網特性的靈活性。而Linux為用戶提供了完善的、強大的網路功能。

發行版本

從技術上來說,Linus Torvalds開發的Linux只是一個內核。內核指的是一個提供設備驅動、文件系統、進程管理、網路通信等功能的系統軟體,內核並不是一套完整的操作系統,它只是操作系統的核心。一些組織或廠商將Linux內核與各種軟體和文檔包裝起來,並提供系統安裝界面和系統配置、設定與管理工具,就構成了Linux的發行版本。

在Linux內核的發展過程中,各種Linux發行版本起了巨大的作用,正是它們推動了Linux的應用,從而讓更多的人開始關註Linux。因此,把Red Hat、Ubuntu、SUSE等直接說成Linux其實是不確切的,它們是Linux的發行版本,更確切地說,應該叫作“以Linux為核心的操作系統軟體包”。

Linux的各個發行版本使用的是同一個Linux內核,因此在內核層不存在什麼相容性問題,每個版本有不一樣的感覺,只是在發行版本的最外層(由發行商整合開發的應用)才有所體現。

Redhat

Redhat,應該稱為Redhat系列,包括RHEL(Redhat Enterprise Linux,也就是所謂的Redhat Advance Server收費版本)、FedoraCore(由原來的Redhat桌面版本發展而來,免費版本)、CentOS(RHEL的社區克隆版本,免費)。

Redhat應該說是在國內使用人群最多的Linux版本,甚至有人將Redhat等同於Linux,而有些老鳥更是只用這一個版本的Linux。所以這個版本的特點就是使用人群數量大,資料非常多,言下之意就是如果你有什麼不明白的地方,很容易找到人來問,而且網上的一般Linux教程都是以Redhat為例來講解的。Redhat系列的包管理方式採用的是基於RPM包的YUM包管理方式,包分發方式是編譯好的二進位文件。穩定性方面RHEL和CentOS的穩定性非常好,適合於伺服器使用,但是Fedora Core的穩定性較差,最好只用於桌面應用。

Debian

Debian,或者稱Debian系列,包括Debian和Ubuntu等。

Debian是社區類Linux的典範,是迄今為止最遵循GNU規範的Linux系統。Debian最早由Ian Murdock於1993年創建,分為三個版本分支(branch):stable,testing和unstable。其中,unstable為最新的測試版本,其中包括最新的軟體包,但是也有相對較多的bug,適合桌面用戶。testing的版本都經過unstable中的測試,相對較為穩定,也支持了不少新技術(比如SMP等)。而stable一般只用於伺服器,上面的軟體包大部分都比較過時,但是穩定和安全性都非常的高。Debian最具特色的是APT-GET/DPKG包管理方式,其實Redhat的YUM也是在模仿Debian的APT方式,但在二進位文件發行方式中,APT應該是最好的了。Debian的資料也很豐富,有很多支持的社區,有問題求教也有地方可去。

Slackware

Slackware由Patrick Volkerding創建於1992年,是現存最古老的Linux發行版。其受歡迎程度大幅下降與紅帽Linux和其它更易用發行版的發行有關,但Slackware仍然是一個倍受贊賞且經營中更面向系統管理員技術和桌面用戶的系統。Slackware是一個高度技術性的,乾凈的發行版,只有少量非常有限的個人設置。它使用簡單,基於文本的系統安裝和比較原始的包管理系統,沒有解決軟體依賴關係。因此,Slackware被認為是今天最為純凈和最不穩定的發行版。

SuSE

SuSE以Slackware為基礎,原來是德國的SuSE Linux AG公司發佈的Linux版本,1994年發行了第一版,早期只有商業版本,2004年被Novell公司收購後,成立了OpenSUSE社區,推出了自己的社區版本OpenSUSE。

SuSE在歐洲較為流行,在我國國內也有較多應用。值得一提的是,它吸取了Red Hat的很多特質。SuSE可以非常方便地實現與Windows的交互,硬體檢測非常優秀,擁有界面友好的安裝過程、圖形管理工具,對於終端用戶和管理員來說使用非常方便。

Gnome

Gnome,基於KDE的Kubuntu,基於LXDE的Lubuntu以及基於Xfce的Xubuntu等。特點是界面非常友好,容易上手,對硬體的支持非常全面,是最適合做桌面系統的Linux發行版本。

Gentoo

Gentoo,偉大的Gentoo是Linux世界最年輕的發行版本,正因為年輕,所以能吸取在她之前的所有發行版本的優點,這也是Gentoo被稱為最完美的Linux發行版本的原因之一。

FreeBSD

FreeBSD,需要強調的是,FreeBSD並不是一個Linux系統!但FreeBSD與Linux的用戶群有相當一部分是重合的,二者支持的硬體環境也比較一致,所採用的軟體也比較類似,所以可以將FreeBSD視為一個Linux版本來比較。

FreeBSD擁有兩個分支:stable和current。顧名思義,stable是穩定版,而current則是添加了新技術的測試版。FreeBSD採用Ports包管理系統,與Gentoo類似,基於源代碼分發,必須在本地機器編後後才能運行,但是Ports系統沒有Portage系統使用簡便,使用起來稍微複雜一些。FreeBSD的最大特點就是穩定和高效,是作為伺服器操作系統的最佳選擇,但對硬體的支持沒有Linux完備,所以並不適合作為桌面系統。

桌面環境

早期的Linux系統都是不帶界面的,只能通過命令來管理,比如運行程式、編輯文檔、刪除文件等。所以,要想熟練使用Linux,就必須記憶很多命令。後來隨著Windows的普及,電腦界面變得越來越漂亮,點點滑鼠就能完成很多工作,人們已經習慣了圖形界面化的操作,很難再忍受一片漆黑的命令行視窗了。這推動了Linux社區進行變革,很快推出了Linux系統的圖形界面環境。

Linux中的桌面環境也是一個程式,它和內核不是綁定的,兩者的開發也不是同步的。給不帶界面的Linux系統安裝上一個桌面環境,你就能看到各種漂亮的視窗,並能用滑鼠點擊它們了。

KDE桌面系統

KDE是K Desktop Environment的縮寫,中文譯為“K桌面環境”。

KDE基於大名鼎鼎的Qt,最初於1996年作為開源項目公佈,併在1998年發佈了第一個版本,現在KDE幾乎是排名第一的桌面環境了。

許多流行的Linux發行版都提供了KDE桌面環境,比如Ubuntu、Linux Mint、OpenSUSE、Fedora、Kubuntu、PC Linux OS等。

KDE允許你把應用程式圖標和文件圖標放置在桌面的特定位置上。單擊應用程式圖標,Linux系統就會運行該應用程式。單擊文件圖標,KDE桌面就會確定使用哪種應用程式來處理該文件。

KDE項目組還開發了大量的可運行在KDE環境中的應用程式,包括Dolphin(文件管理工具)、Konsole(終端)、Kate(文本編輯工具)、Gwenview(圖片查看工具)、Okular(文檔及PDF查看工具)、Digikam(照片編輯和整理工具)、KMail(電子郵件客戶軟體)、Quassel(IRC客戶軟體)、K3b(DVD刻錄程式)、Krunner(啟動器)等,它們都是預設安裝的。

GNOME桌面環境

GNOME是the GNU Network Object Model Environment的縮寫,中文譯為“GNU網路對象模型環境”。

GNOME於1999年首次發佈,現已成為許多Linux發行版預設的桌面環境(不過用得最多的是 Red Hat Linux)。

GNOME的特點是簡潔、運行速度快,但是沒有太多的定製選項,用戶需要安裝第三方工具來實現。GNOME甚至不包括一些簡單的調整選項,比如更改主題、更改字體等,就這兩種基本的調整而言,用戶都需要安裝第三方工具。所以,GONME適合那些不需要高度定製界面的用戶。

GNOME被用作Fedora中的預設桌面環境,提供在幾款流行的Linux發行版中,比如Ubuntu、Debian、OpenSUSE等。

Unity桌面環境

Unity是由Ubuntu的母公司Canonical開發的一款外殼。之所以說它是外殼,是因為Unity運行在GNOME桌面環境之上,使用了所有GNOME的核心應用程式。

2010年,Unity第一個版本發佈,此後經過數次改進,如今和其它的桌面環境一樣,也可以安裝到其它的Linux發行版上了。

Unity使用了不同的界面風格,如果你用的是Ubuntu Linux發行版,你會註意到Unity與KDE和GNOME桌面環境有些不一樣。

Unity在左邊有一個啟動器,位於啟動器頂部的是搜索圖標,又叫“Dash”。在Dash上搜索文件時,不僅會給出來自硬碟的搜索結果,還會給出來自線上來源的搜索結果,比如Google Drive、Facebook、Picasa、Flick及其他。Unity還提供了隱藏啟動器、觸摸側邊欄就顯示的選項,用戶還可以調高/調低顯示啟動器菜單的靈敏度。

Unity很簡單、運行速度快,但Unity在系統設置下卻沒有定製桌面的太多選項,要想安裝主題或者定製另外不同的選項,比如系統菜單是否應該總是可見,或者“從啟動器圖標一次點擊最小化”,用戶需要安裝第三方工具。

CCSM和Unity Tweak Tool是面向Unity桌面環境的非常流行的定製工具。

MATE桌面環境

上面我們提到,GNOME 3進行了全新的界面設計,這招致一些用戶的不滿,他們推出了其它的桌面環境,MATE就是其中之一。

MATE是一種從現在無人維護的GNOME 2代碼庫派生出來的桌面環境。

MATE讓人覺得在使用舊的桌面環境,但是結合了歷年來界面方面的諸多改進。MATE還非常適用於低配電腦,所以如果你有一臺舊的或速度較慢的電腦,可以使用MATE。

MATE還是許多流行的Linux發行版隨帶的,比如Ubuntu、Linux Mint、Mageia、Debian及另外更多發行版。Ubuntu MATE頭一回是官方版本。

MATE自帶的應用程式包括Caja(文件管理工具)、Pluma(文本編輯工具)、Atril(文檔查看工具)、Eye of MATE(圖像查看工具)等,如果用戶不需要其他功能完備的桌面環境的所有額外功能,那麼MATE對他們來說是一款簡單的輕量級桌面環境。

Cinnamon桌面環境

與MATE類似,Cinnamon是由Linux Mint團隊因為不滿Gnome 3的改進而開發的另一種桌面環境。但Cinnamon與MATE不同之處在於,Cinnamon建立在Gnome 3的基礎上。Cinnamon是新的,而且在積極開發之中,但這款出色的桌面環境沒有因新穎而在功能方面有所減弱。

Cinnamon擁有GNOME和Unity等其它桌面環境所沒有的種種功能。Cinnamon是高度可定製的桌面環境,不需要任何外部插件、視窗組件和調整工具來定製桌面。Cinnamon甚至可以通過設置管理器本身來下載並安裝主題,甚至不需要打開互聯網瀏覽器。

由於種種出色的所需功能,Cinnamon對任何剛接觸Linux的新用戶來說都非常方便。許多用戶放棄使用Linux,是因為他們並不瞭解Linux的工作方式,但是我強烈建議新手應從Cinnamon桌面環境開始入手。

許多流行的Linux發行版提供了各自版本的Cinnamon,比如Ubuntu、Fedora、OpenSUSE、Gentoo、Arch Linux等。Cinnamon還是Linux Mint的預設桌面環境。


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

-Advertisement-
Play Games
更多相關文章
  • C# 單例模式 1、定義:單例模式就是保證在整個應用程式的生命周期中,在任何時刻,被指定的類只有一個實例,併為客戶程式提供一個獲取該實例的全局訪問點。 2、單例模式的優點有: (1)實例控制:單例模式會阻止其他對象實例化其自己的單例對象的副本,從而確保所有對象都訪問唯一實例。 (2)靈活性:因為類控 ...
  • DES(Data Encryption Standard)的加密與MD5不同,DES可以解密,而MD5的加密是不可逆的;用於數字簽名和數據加密,對稱加密-即加密秘鑰和解密秘鑰相同。標準的DES密鑰長度為64bit,密鑰每個字元占7bit,外加1bit的奇偶校驗,64/(7+1)=8;所以必須是8個字 ...
  • 原文:https://www.stevejgordon.co.uk/httpclientfactory-named-typed-clients-aspnetcore 發表於:2018年1月 原文:https://www.stevejgordon.co.uk/httpclientfactory-nam ...
  • 最近利用周末時間,完成了線上轉換服務的各個功能模塊。 網站地址:http://101.201.64.215:8088 前臺網站採用MVC結構。文件支持本地文件和網路文件。 後臺服務採用WCF服務。後臺支持多個服務端同時運行,高效負載。 主要功能: 1.Word,Excel,PPT文件轉PDF文件。 ...
  • never下app的host與api Never是純c#語言開發的一個框架。host則是使用該框架開發出來的API網關,它包括了:路由、認證、鑒權、熔斷,內置了負載均衡器Deployment;並且只需要簡單的配置即可完成。 設計的核心思路:host負責轉發 + 身份識別 + 熔斷,api提供業務處理 ...
  • 回顧下ClientCredentials模式,在ReSourceApi中定義了我們公開服務,第三方網站想要去訪問ReSourceApi則需要在身份驗證服務中獲取toekn,根據token的內容,硬編碼去訪問公開服務(ResApi),這個還是非常簡單的,但!仔細思考下,我們在客戶端當中設置了對應的身份 ...
  • Linux入門——註意事項 摘要:本文主要說明瞭在使用Linux操作系統時,需要註意的問題。 同Windows對比 Linux嚴格區分大小寫 和Windows不同,Linux是嚴格區分大小寫的,包括文件名和目錄名、命令、命令選項、配置文件設置選項等。 例如,Windows系統桌面上有一個名為Demo ...
  • Tree命令簡介 tree是一種遞歸目錄列表命令,產生一個深度縮進列表文件,這是彩色的ALA dircolors如果ls_colors設置環境變數和輸出是TTY。樹已經被移植和報道以下操作系統下工作:Linux,FreeBSD,OS X操作系統,Solaris,HP UX,Cygwin,HP Non ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...