1. 程式人生 > >Linux入門基礎——系統組成及版本介紹

Linux入門基礎——系統組成及版本介紹

開篇-認識linux前首先介紹系統與硬體的相關組成,需要知道無論是linux,OS X還是windows作業系統,都有以下部分組成一個分層的結構:
最底層硬體,底層之上將硬體介面抽象成系統呼叫(kernel核心),再至少是庫,在此之上為應用程式。
以下簡單介紹linux的相關概念

Linux入門基礎——系統組成及版本介紹
一.計算機的組成(最底層)
計算機組成是系統結構的邏輯實現,主要分為五個部分:控制器,運算器,儲存器,輸入裝置,輸出裝置

  1. 控制器(Control):是整個計算機的中樞神經,其功能是對程式規定的控制資訊進行解釋,根據其要求進行控制,排程程式、資料、地址,協調計算機各部分工作及記憶體與外設的訪問等。
    1. 運算器(Datapath):運算器的功能是對資料進行各種算術運算和邏輯運算,即對資料進行加工處理。
  2. 儲存器(Memory):儲存器的功能是儲存程式、資料和各種訊號、命令等資訊,並在需要時提供這些資訊。
  3. 輸入(Input system):輸入裝置是計算機的重要組成部分,輸入裝置與輸出裝置合稱為外部裝置,簡稱外設,輸入裝置的作用是將程式、原始資料、文字、字元、控制命令或現場採集的資料等資訊輸入到計算機。常見的輸入裝置有鍵盤、滑鼠器、光電輸入機、磁帶機、磁碟機、光碟機等。
  4. 輸出(Output system):輸出裝置與輸入裝置同樣是計算機的重要組成部分,它把外算機的中間結果或最後結果、機內的各種資料符號及文字或各種控制訊號等資訊輸出出來。微機常用的輸出裝置有顯示終端CRT、印表機、鐳射印字機、繪圖儀及磁帶、光碟機等。
    cpu=控制器+運算器
    主機板=I/O匯流排,輸入輸出系統
    儲存器=記憶體+硬碟
    I/O裝置:鍵盤,滑鼠,掃描器,顯示器等等
    二 . 核心(kernel)的作用
    linux核心是一種開源的類Unix作業系統巨集核心,整個Linux作業系統家族基於該核心部署在傳統計算機平臺(如個人計算機和伺服器,以 Linux 發行版的形式)和各種嵌入式平臺,如路由器、無線接入點、專用小交換機、機頂盒、FTA 接收器、智慧電視、數字視訊錄影機、網路附加儲存(NAS)等。工作於平板電腦、智慧手機及智慧手錶的Android作業系統同樣通過Linux核心提供的服務完成自身功能。
    三 . linux的發行版本
    比較流行的linux發行部如下:
    基於Dpkg(Debian系)
    商業發行版
    Ubuntu,一個非常流行的桌面發行版,由Canonical維護。
    社群發行版
    Debian,一個強烈信奉自由軟體,並由志願者維護的系統。
    Kubuntu, 使用KDE桌面的Ubuntu。
    Linux Mint,從Ubuntu派生並與Ubuntu相容的系統。
    Knoppix,第一個Live CD發行版,可以從可移動介質執行,Debian的派生版。
    OpenGEU,Ubuntu的派生版。
    Elementary OS:基於Ubuntu,介面酷似Mac OS X。
    gOS和其他上網本用的系統。
    基於RPM (Red Hat系)
    商業發行版
    Red Hat Enterprise Linux,Fedora的商業版,由Red Hat維護和提供技術支援。
    openSUSE,最初由Slackware分離出來,現在由Novell維護。
    社群發行版
    Fedora,是Red Hat的社群版,會經常引入新特性進行測試。
    PCLinuxOS,Mandriva的派生版本,由社群維護的非常流行的發行版。
    CentOS,從Red Hat發展而來的發行版,由志願者維護,旨在提供開源的,並與Red Hat 100%相容的系統。
    Mageia,從Mandriva發展而來的發行版。
    四 .常見的開源協議
    GPL,是GNU General Public License的縮寫,是GNU通用公共授權非正式的中文翻譯。它並非由自由軟體基金會所發表,亦非使用GNU通用公共授權的軟體的法定釋出條款─只有GNU通用公共授權英文原文的版本始具有此等效力。大多數軟體許可證決意剝奪你共享和修改軟體的自由。相比之下,GNU通用公共許可證試圖保證你共享和修改自由軟體的自由。——保證自由軟體對所有使用者是自由的。GPL適用於大多數自由軟體基金會的軟體,以及由使用這些軟體而承擔義務的作者所開發的軟體.(自由軟體基金會的其他一些軟體受GNU庫通用許可證的保護)。你也可以將它用到你的程式中。當我們談到自由軟體(free software)時,我們指的是自由而不是價格。為了保護你的權利,我們需要作出規定:禁止任何人不承認你的權利,或者要求你放棄這些權利。如果你修改了自由軟體或者釋出了軟體的副本,這些規定就轉化為你的責任.
    BSD,英語:(Berkeley Software Distribution license)是自由軟體中使用最廣泛的許可協議之一。BSD 就是遵照這個許可證來發布,也因此而得名 BSD 許可協議。
    BSD 包最初所有者是加州大學的董事會,這是由於 BSD 源自加州大學伯克利分校。BSD 開始後,BSD 許可協議得以修正,使得以後許多 BSD 變種,都採用類似風格的條款。
    跟其他條款相比,從GNU通用公共許可證(GPL)到限制重重的著作權(Copyright),BSD許可證比較寬鬆,甚至跟公有領域更為接近。事實上,BSD許可證被認為是copycenter(中間版權),介乎標準的copyright與GPL的copyleft之間。可以說,GPL強迫後續版本必須一樣是自由軟體,BSD的後續版本可以選擇要繼續是BSD或其他自由軟體條款或封閉軟體等等。
    Apache,(英語:Apache License),是一個由Apache軟體基金會發布的自由軟體許可證,最初為Apache http伺服器而撰寫。Apache許可證要求被授權者保留版權和放棄權利的宣告,但它不是一個反版權的許可證。Apache許可證是寬容的,因為它不會強制派生和修改產物使用相同的許可證進行釋出。但它仍然要求對所有未修改的部分應用相同的許可證,並且在每個許可檔案中,必須保留再分發程式碼中的任何原始版權,專利,商標和歸屬通知(不需要包括任何部分的派生作品);並且在每個更改的許可檔案中,都必須新增一條通知,說明對該檔案進行了更改。如果宣告文字檔案作為原始作品釋出的一部分包含在內,則派生作品必須在包含該通知文字檔案的可讀副本,可以是文件或顯示在軟體中。宣告檔案的內容不會修改許可證,因為它們僅用於提供資訊,並且可以在許可證文字中新增更多屬性宣告,前提是這些宣告不能被理解為修改許可證。修改可能有適當的版權宣告,並可能為修改提供不同的許可條款。除非另有明確規定,否則許可證持有者向授權者提交的任何文稿將根據許可證的條款進行,沒有任何條款和條件,但這並不排除與授權者有關的這些貢獻有單獨的協議。
    五. linux的哲學思想
    一切皆檔案,所有的資源在linux上都是以檔案存在,包括系統中的所有裝置。例如光碟機一般掛載在/mnt/cdrom裡。 linux常見 的裝置檔案在/dev目錄下。
    六 . linux的目錄結構

    linux樹狀目錄結構Linux入門基礎——系統組成及版本介紹以下為對目錄的簡單說明
    /bin:
    bin是Binary的縮寫, 這個目錄存放著最經常使用的命令。
    /boot:
    這裡存放的是啟動Linux時使用的一些核心檔案,包括一些連線檔案以及映象檔案。
    /dev :
    dev是Device(裝置)的縮寫, 該目錄下存放的是Linux的外部裝置,在Linux中訪問裝置的方式和訪問檔案的方式是相同的。
    /etc:
    這個目錄用來存放所有的系統管理所需要的配置檔案和子目錄。
    /home:
    使用者的主目錄,在Linux中,每個使用者都有一個自己的目錄,一般該目錄名是以使用者的賬號命名的。
    /lib:
    這個目錄裡存放著系統最基本的動態連線共享庫,其作用類似於Windows裡的DLL檔案。幾乎所有的應用程式都需要用到這些共享庫。
    /lost+found:
    這個目錄一般情況下是空的,當系統非法關機後,這裡就存放了一些檔案。
    /media:
    linux系統會自動識別一些裝置,例如U盤、光碟機等等,當識別後,linux會把識別的裝置掛載到這個目錄下。
    /mnt:
    系統提供該目錄是為了讓使用者臨時掛載別的檔案系統的,我們可以將光碟機掛載在/mnt/上,然後進入該目錄就可以檢視光碟機裡的內容了。
    /opt:
    這是給主機額外安裝軟體所擺放的目錄。比如你安裝一個ORACLE資料庫則就可以放到這個目錄下。預設是空的。
    /proc:
    這個目錄是一個虛擬的目錄,它是系統記憶體的對映,我們可以通過直接訪問這個目錄來獲取系統資訊。這個目錄的內容不在硬碟上而是在記憶體裡,我們也可以直接修改裡面的某些檔案,比如可以通過下面的命令來遮蔽主機的ping命令,使別人無法ping你的機器。
    七.linux檔案與目錄命名規定
    在linux下可以使用長檔案和目錄名,可以給目錄和檔案取任何名字,但必須遵守以下規則:
    除了/之外,所有的字元都合法
    有些字元最好不適用,比如空格符、製表符、退格符和字元 : ? , @ # $ & () \ | ; " "" <> 等等。
    避免使用+ 、 - 或 .來作為普通檔名的第一個字元
    大小寫敏感