0_Linux簡介

来源:http://www.cnblogs.com/zytomcat/archive/2017/12/07/7999210.html
-Advertisement-
Play Games

要使用Linux先要瞭解什麼是Linux,這篇隨筆簡單介紹一個Linux的起源與現狀。(挖坑填) ...


一、Linux的起源

藍色胖子IBM公司在1964年開發出了電腦歷史上第一個通用操作系統——System/360。第二年1965年另外三家巨頭合作也要開發一套前無古人後無來者的通用操作系統。這三大巨頭分別是貝爾實驗室,麻省理工學院,通用電器公司。這三巨頭偉大之處不僅在於因為他們成立時間長,而且為人類的科技進步做出了巨大的貢獻。這三巨頭於1965年合作,要開發MULTICS操作系統(MULTiplexed Information and Computing System),並且成立了相關的項目組,開發一套通用的操作系統是相當困難的。於是四年後,1969年MULTICS項目組取消了。

貝爾實驗室有人一個很普通的人,Kenneth Lane Thompson 湯姆遜。他在項目成立的第二年1966年加入了貝爾實驗室,參與了MULTICS項目。工作之餘,他編寫了一個名叫星際旅行的游戲,最初這款游戲是在MULTICS操作系統下運行了,可是項目取消了,自然也就沒什麼玩的了。於是他和同事Dernis Ritchie找到了一臺PDP-7機器,打算把這款游戲移植到這台機器上,但是這台機器沒有固定的操作系統。MULTICS已經停工了,憑藉他們二人之力是無法繼續完成該項目的。於是他們用彙編語言寫了個非常簡陋的操作系統,這就是UNIX的前身。Brian Kernghan開玩笑的稱他們的系統是UNiplexed Information and Computing System,縮寫為UNICS,後來人們根據諧音,取了UNIX這個詞,這一年是1970年,史稱UINX元年。為了紀念這一歷史時刻,到現在電腦中的時間都是以1970年為原點來記錄時間的。後來他們覺得用彙編語言寫的系統不好維護,於是發明瞭C語言,然後把UNIX用C語言重新寫了一遍。後來UNIX的版權歸貝爾實驗室的老大AT&T公司所有,併進行商業運營。

1988年荷蘭赫爾辛基大學迎來了一個新的大學生——Linus Benedict Torvalds。他們學校為了教學編寫了一個類UNIX的小型操作系統Minix。這個小型的系統沒有滿足Torvalds的需要,他為了學習Intel386體繫結構保護模式下的編程技術,於是開始自己寫了操作系統。這個系統叫Freax,他把這個系統的源代碼公佈在網上。後來人們想既然這個是Linus寫的,又是類Unix,那就乾脆叫Linux吧。於是Linux一詞誕生了。當時Torvalds寫的其實也只是Linux內核,他完全公開代碼,引來全世界各地程式員一起來完善這個系統,於是Linux在全世界程式員的共同維護下發展到了今天。

二、Linux的版本

我們通常所說的Linux操作系統,是對使用Linux內核的一類操作系統的統稱。我們通常使用的Linux操作系統由Linux內核和內核之上的各種應用程式組成。Linux自1991年問世以來,發展了將近30年,衍生出的版本達數百種之多。這裡我們介紹幾種常見的版本。

2.1   Ubuntu

Ubuntu 是一個以桌面應用為主的Linux操作系統,其名稱來自非洲南部祖魯語或豪薩語的“ubuntu”一詞(譯為吾幫托或烏班圖),意思是“人性”、“我的存在是因為大家的存在”,是非洲傳統的一種價值觀,類似華人社會的“仁愛”思想。Ubuntu基於Debian發行版和GNOME桌面環境,與Debian的不同在於它每6個月會發佈一個新版本。Ubuntu的目標在於為一般用戶提供一個最新的、同時又相當穩定的主要由自由軟體構建而成的操作系統。Ubuntu具有龐大的社區力量,用戶可以方便地從社區獲得幫助。

2.2   Debian

Debian Project誕生於1993年8月13日,它的目標是提供一個穩定容錯的Linux版本。支持Debian的不是某家公司,而是許多在其改進過程中投入了大量時間的開發人員,這種改進吸取了早期Linux的經驗。 Debian以其穩定性著稱,雖然它的早期版本Slink有一些問題,但是它的現有版本Potato已經相當穩定了。這個版本更多的使用了 pluggable authentication modules (PAM),綜合了一些更易於處理的需要認證的軟體(如winbind for Samba)。 Debian的安裝完全是基於文本的,對於其本身來說這不是一件壞事。但對於初級用戶來說卻並非這樣。因為它僅僅使用fdisk 作為分區工具而沒有自動分區功能,所以它的磁碟分區過程令人十分討厭。磁碟設置完畢後,軟體工具包的選擇通過一個名為dselect的工具實現,但它不向用戶提供安裝基本工具組(如開發工具)的簡易設置步驟。最後需要使用anXious工具配置X Windows,這個過程與其他版本的X Windows配置過程類似。完成這些配置後,Debian就可以使用了。 Debian主要通過基於Web的論壇和郵件列表來提供技術支持。作為伺服器平臺,Debian提供一個穩定的環境。為了保證它的穩定性,開發者不會在其中隨意添加新技術,而是通過多次測試之後才選定合適的技術加入。有一點要註意的是:它的當前版本採用的是2.2內核而不是2.4內核。大部分系統管理員註重伺服器環境的穩定性,Debian正好能提供這一點。但是,因為2.4版本內核擁有許多2.2版本內核所沒有的新特性,所以我認為採用2.2版本內核是 Debian的一個缺陷,另外不夠友好的磁碟分區設置也是它的一個缺陷。

2.3   Mandrake

MandrakeSoft Linux Mandrake的發行商,在1998年由一個推崇Linux的小組創立,它的目標是儘量讓工作變得更簡單。最終,Mandrake給人們提供了一個優秀的圖形安裝界面,它的最新版本還包含了許多Linux軟體包。 作為Red Hat Linux的一個分支,Mandrake將自己定位在桌面市場的最佳Linux版本上。但該公司還是支持伺服器上的安裝,而且成績並不壞。 Mandrake的安裝非常簡單明瞭,為初級用戶設置了簡單的安裝選項。它完全使用GUI界面,還為磁碟分區製作了一個適合各類用戶的簡單GUI界面。軟體包的選擇非常標準,另外還有對軟體組和單個工具包的選項。安裝完畢後,用戶只需重啟系統並登錄進入即可。 Mandrake主要通過郵件列表和Mandrak 自己的Web論壇提供技術支持。Mandrak對桌面用戶來說是一個非常不錯的選擇,它還可作為一款優秀的伺服器系統,尤其適合Linux新手使用。它使用最新版本的內核,擁有許多用戶需要在Linux伺服器環境中使用的軟體——資料庫和Web伺服器。 Mandrak沒有重大的軟體缺陷,只是它更加關註桌面市場,較少關註伺服器市場。因為本文是一篇討論伺服器系統版本的文章,所以這也算是一個缺陷吧。

2.4   Red Hat Linux

可能這是最著名的Linux版本了,Red Hat Linux已經創造了自己的品牌,越來越多的人聽說過它。Red Hat在1994年創業,當時聘用了全世界500多名員工,他們都致力於開放的源代碼體系。 Red Hat Linux是公共環境中表現上佳的伺服器。它擁有自己的公司,能向用戶提供一套完整的服務,這使得它特別適合在公共網路中使用。這個版本的Linux也使用最新的內核,還擁有大多數人都需要使用的主體軟體包。 Red Hat Linux的安裝過程也十分簡單明瞭。它的圖形安裝過程提供簡易設置伺服器的全部信息。磁碟分區過程可以自動完成,還可以選擇GUI工具完成,即使對於 Linux新手來說這些都非常簡單。選擇軟體包的過程也與其他版本類似;用戶可以選擇軟體包種類或特殊的軟體包。系統運行起來後,用戶可以從Web站點和 Red Hat那裡得到充分的技術支持。 我發現Red Hat是一個符合大眾需求的最優版本。在伺服器和桌面系統中它都工作得很好。Red Hat的唯一缺陷是帶有一些不標準的內核補丁,這使得它難於按用戶的需求進行定製。 Red Hat通過論壇和郵件列表提供廣泛的技術支持,它還有自己公司的電話技術支持,後者對要求更高技術支持水平的集團客戶更有吸引力。RedHat發行過兩個版本,一個是桌面版,最後一個版本是RedHat Linux 9.0;另外一個版本是企業版Red Hat Enterprise Linux簡稱RHEL,現在仍在更新並提供服務。

2.5   CentOS

CentOS是一款企業級Linux發行版,它使用紅帽企業級Linux中的免費源代碼重新構建而成。這款重構版完全去掉了註冊商標以及Binary程式包方面一個非常細微的變化。有些人不想支付一大筆錢,又能領略紅帽企業級Linux;對他們來說,CentOS值得一試。此外,CentOS的外觀和行為似乎與母發行版紅帽企業級Linux如出一轍。 CentOS使用YUM來管理軟體包。

2.6   SuSE

總部設在德國的SuSE AG在商界已經奮鬥了8年多,它一直致力於創建一個連接資料庫的最佳Linux版本。為了實現這一目的,SuSE與Oracle 和IBM合作,以使他們的產品能穩定地工作。SuSE還開發了SuSE Linux eMail Server III,一個非常穩定的電子郵件群組應用。 基於2.4.10內核的SuSE 7.3,在原有版本的基礎上提高了易用性。安裝過程通過GUI完成,磁碟分區過程也非常簡單,但它沒有為用戶提供更多的控制和選擇。 在SuSE 操作系統下,可以非常方便地訪問Windows磁碟,這使得兩種平臺之間的切換,以及使用雙系統啟動變得更容易。SuSE的硬體檢測非常優秀,該版本在伺服器和工作站上都用得很好。 SuSE擁有界面友好的安裝過程,還有圖形管理工具,可方便地訪問Windows磁碟,對於終端用戶和管理員來說使用它同樣方便,這使它成為了一個強大的伺服器平臺。 SuSE也通過基於Web的論壇提供技術支持,另外我還發現它有電話技術支持。

2.7   Linux Mint

Linux Mint是一份基於Ubuntu的發行版,其目標是提供一種更完整的即刻可用體驗,這包括提供瀏覽器插件、多媒體編解碼器、對DVD播放的支持、Java和其他組件。它與Ubuntu軟體倉庫相容。 Linux Mint 是一個為pc和X86電腦設計的操作系統。 因此,一個可以跑得動Windows的電腦也可以使用Linux Mint來代替Windows,或者兩個都跑。既有Windows又有Linux的系統就是傳說中的“雙系統”。同樣,MAC,BSD或者其他的Linux版本也可以和Linux Mint 共存。一臺裝有多系統的電腦在開機的時候會出現一個供你選擇操作系統的菜單。 Linux Mint可以很好的在一個但系統的電腦上運行,但是它也可以自動檢測其他操作系統並與其互動,例如,如果你安裝Linux Mint在一個安裝了Windows版本的(xp,vista或者其他版本),它會自動檢測並建立雙啟動以供您在開機的時候選擇啟動哪個系統。並且你可以在Linux Mint下訪問Windows分區。 Linux是更安全,更穩定,更有效並且日益易於操作的甚至可以和Windows相媲美的系統,它越來越讓人感到難以抉擇了。   Gentoo   Gentoo,偉大的Gentoo是Linux世界最年輕的發行版本,正因為年輕,所以能吸取在她之前的所有發行版本的優點,這也是Gentoo被稱為最完美的Linux發行版本的原因之一。Gentoo最初由Daniel Robbins(FreeBSD的開發者之一)創建,首個穩定版本發佈於2002年。由於開發者對FreeBSD的熟識,所以Gentoo擁有媲美FreeBSD的廣受美譽的ports系統 ——Portage包管理系統。不同於APT和YUM等二進位文件分發的包管理系統,Portage是基於源代碼分發的,必須編譯後才能運行,對於大型軟體而言比較慢,不過正因為所有軟體都是在本地機器編譯的,在經過各種定製的編譯參數優化後,能將機器的硬體性能發揮到極致。Gentoo是所有Linux發行版本里安裝最複雜的,但是又是安裝完成後最便於管理的版本,也是在相同硬體環境下運行最快的版本。

三、Linux的優勢

(正在體驗中,挖坑填)

四、Linux下的磁碟

Linux下的磁碟有兩種命名方式一類是hd,hd是早期使用的IDE硬碟類型,其介面使用並行方式傳輸數據,稱“並口硬碟”,以並行方式傳輸數據的存儲設備,在Linux上都以hd來標識;另一類是sd,以SCSI模塊來驅動的存儲設備和以串列方式傳輸數據例如SATA介面的硬碟,U盤,以串口方式來傳輸數據的存儲設備均以sd標識命名。

五、Linux的七種桌面環境

5.1   Unity

 

5.2   GNOME

 

5.3   KDE

 

5.4   Cinnamon

 

5.5   MATE

 

5.6   Lxde

 

5.7   Xfce

 

六、Linux的五種常見shell

6.1   ash

 

6.2   bash

 

6.3   ksh

 

6.4   csh

 

6.5   zch


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

-Advertisement-
Play Games
更多相關文章
  • 演示產品下載地址:http://www.jinhusns.com ...
  • 1.對稱加密 例子:壓縮文件加密碼,別人要打開,只能知道你的密碼,這樣的方法不安全,因為這個密碼可能是你的qq密碼或者是郵箱密碼等等 2.非對稱加密 類似於放羽毛球的桶,兩邊都可以拿資源,兩邊都加一個鎖,一個是我自己的公鑰,一個是我想給對方的公鑰 3. ssh scp是linux之間傳遞文件簡單的命 ...
  • 波特率就是發送二進位數據位的速率, 習慣上用 baud 表示, 即我們發送一位二進位數據的持續時間=1/baud。 在通信之前, 單片機 1 和單片機 2 首先都要明確的約定好它們之間的通信波特率, 必須保持一致, 收發雙方纔能正常實現通信, 這一點大家一定要記清楚。約定好速度後, 我們還要考慮第二 ...
  • 在上章34.Linux-printk分析、使用printk調試驅動里講述了: printk()會將列印信息存在內核的環形緩衝區log_buf[]里, 可以通過dmesg命令來查看log_buf[] 1.環形緩衝區log_buf[]又是存在內核的哪個文件呢? 位於/proc/kmsg里,所以除了dme ...
  • 花了一下午時間,感覺最坑的是,書寫代碼的個數和編譯器的坑比較多,還各種版本的編譯器! 會讓人“眼花繚亂”! 主要代碼 將文件保存為*.asm 對應的軟體,放在大工院ftp://10.84.0.90上的asm中,只有在機房或者學校內網才能訪問到哦! 或者訪問https://files.cnblogs. ...
  • 1.1 資料庫對比 緩存: 將數據存儲到記憶體中,只有當磁碟勝任不了的時候,才會啟用緩存 缺點:斷電數據丟失(雙電),用緩存存儲數據的目的只是為了應付大併發的業務。 資料庫: mysql(關係型資料庫,能夠保證數據一致性,保證數據不丟失,當因為功能太多,導致性能不高) 數據參考 緩存資料庫: memc ...
  • 話不多說,直接上代碼 分割線 [root@ip-172-31-9-121 ec2-user]# yum install mysql [root@ip-172-31-9-121 ec2-user]# yum install mysql-server tips:如果出現以下代碼,就需要下載mysql-s ...
  • 對於android調用JS代碼的方法有2種: 1. 通過WebView的loadUrl() 2. 通過WebView的evaluateJavascript() 對於JS調用Android代碼的方法有3種: 1. 通過WebView的addJavascriptInterface()進行對象映射 2. ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...