Linux 簡(jiǎn)介
1. 初識(shí) Linux
Linux,全稱(chēng) GNU/Linux,是一套免費(fèi)使用和自由傳播的類(lèi) UNIX 操作系統(tǒng),其內(nèi)核由林納斯·本納第克特·托瓦茲于 1991 年第一次釋出,它主要受到 MINIX 和 UNIX 思想的啟發(fā),是一個(gè)基于 POSIX 和 UNIX 的多用戶(hù)、多任務(wù)、支持多線(xiàn)程和多 CPU 的操作系統(tǒng)。它能運(yùn)行主要的 UNIX 工具軟件、應(yīng)用程序和網(wǎng)絡(luò)協(xié)議。它支持 32 位和 64 位硬件。Linux 繼承了 UNIX 以網(wǎng)絡(luò)為核心的設(shè)計(jì)思想,是一個(gè)性能穩(wěn)定的多用戶(hù)網(wǎng)絡(luò)操作系統(tǒng)。Linux 有上百種不同的發(fā)行版,如基于社區(qū)開(kāi)發(fā)的 Debian、Arch Linux,和基于商業(yè)開(kāi)發(fā)的 Red Hat Enterprise Linux、SUSE、Oracle Linux 等。
2. Linux 簡(jiǎn)介
Linux 操作系統(tǒng)性能穩(wěn)定,并且是開(kāi)源的操作系統(tǒng)軟件。它的防火墻相關(guān)的組件保證了系統(tǒng)的安全,且配置簡(jiǎn)單、性能高效。Linux 在很多企業(yè)網(wǎng)絡(luò)中,追求速度和安全,它不僅僅是被網(wǎng)絡(luò)運(yùn)維人員當(dāng)作服務(wù)器使用,也可以作為網(wǎng)絡(luò)防火墻。Linux 開(kāi)放源碼并且沒(méi)有版權(quán),技術(shù)社區(qū)用戶(hù)多等特點(diǎn) ,開(kāi)放源碼使得用戶(hù)可以自由裁剪,靈活性高,功能強(qiáng)大,成本低。尤其系統(tǒng)中內(nèi)嵌網(wǎng)絡(luò)協(xié)議棧 ,經(jīng)過(guò)適當(dāng)?shù)呐渲镁涂蓪?shí)現(xiàn)路由器的功能。這些特點(diǎn)使得 Linux 成為開(kāi)發(fā)路由交換設(shè)備的理想開(kāi)發(fā)平臺(tái)。
3. Linux 發(fā)展史
-
Linux 操作系統(tǒng)的誕生、發(fā)展和成長(zhǎng)過(guò)程始終依賴(lài)著五個(gè)重要支柱:UNIX 操作系統(tǒng)、MINIX 操作系統(tǒng)、GNU 計(jì)劃、POSIX 標(biāo)準(zhǔn)和 Internet 網(wǎng)絡(luò)。
-
20 世紀(jì) 80 年代,計(jì)算機(jī)硬件的性能不斷提高,PC 機(jī)的市場(chǎng)不斷擴(kuò)大,UNIX、DOS、MacOS。UNIX 操作系統(tǒng)價(jià)格昂貴且不能在一般的 PC 機(jī)上面運(yùn)行,DOS 操作系統(tǒng)相對(duì)來(lái)說(shuō)比較簡(jiǎn)陋,且源代碼被軟件廠商嚴(yán)格保密,MacOS 是一種專(zhuān)門(mén)用于蘋(píng)果計(jì)算機(jī)的操作系統(tǒng)。
-
因此,計(jì)算機(jī)應(yīng)用領(lǐng)域需要更加完善、強(qiáng)大、價(jià)格低廉和開(kāi)源的操作系統(tǒng)。由于供教學(xué)使用的典型操作系統(tǒng)很少,當(dāng)時(shí)荷蘭一位美國(guó)人教授 AndrewS.Tanenbaum 編寫(xiě)了一個(gè)操作系統(tǒng),名為 MINIX,為了向?qū)W生講述操作系統(tǒng)內(nèi)部工作原理。
-
MINIX 雖然很好,但只是一個(gè)用于教學(xué)為目的的簡(jiǎn)單操作系統(tǒng),它最大的好處就是公開(kāi)了源代碼。全球計(jì)算機(jī)領(lǐng)域的學(xué)生都可以通過(guò)鉆研 MINIX 源代碼來(lái)了解和學(xué)習(xí) MINIX 操作系統(tǒng),其中芬蘭赫爾辛基大學(xué)的學(xué)生 Linus Torvalds 就是其中一個(gè),他在吸收了 MINIX 精華的基礎(chǔ)上,在 1991 年寫(xiě)出了屬于自己的操作系統(tǒng) Linux,并且版本為 Linux0.01,是 Linux 時(shí)代開(kāi)始的標(biāo)志。他利用 UNIX 的核心,去掉了那些復(fù)雜難處理的核心程序,把它改寫(xiě)成適用于普通計(jì)算機(jī)的操作系統(tǒng)放在網(wǎng)絡(luò)上免費(fèi)供其他學(xué)習(xí)者下載。
-
1994 年推出完整的核心 Version1.0,至此,Linux 逐漸成為功能完善、穩(wěn)定的操作系統(tǒng),并被廣泛使用。
4. Linux 特性和優(yōu)點(diǎn)
4.1 Linux 特性
基本思想
Linux 的基本思想有兩點(diǎn):第一,一切都是文件;第二,每個(gè)文件都有確定的用途。其中第一條詳細(xì)來(lái)講就是系統(tǒng)中的所有都?xì)w結(jié)為一個(gè)文件,包括命令、硬件和軟件設(shè)備、操作系統(tǒng)、進(jìn)程等等對(duì)于操作系統(tǒng)內(nèi)核而言,都被視為擁有各自特性或類(lèi)型的文件。至于說(shuō) Linux 是基于 UNIX 的,很大程度上也是因?yàn)檫@兩者的基本思想十分相近。
完全免費(fèi)
Linux 是一款免費(fèi)的操作系統(tǒng),用戶(hù)可以通過(guò)網(wǎng)絡(luò)或其他途徑免費(fèi)獲得,并可以任意修改其源代碼。這是其他的操作系統(tǒng)所做不到的。正是由于這一點(diǎn),來(lái)自全世界的無(wú)數(shù)程序員參與了 Linux 的修改、編寫(xiě)工作,程序員可以根據(jù)自己的興趣和靈感對(duì)其進(jìn)行改變,這讓 Linux 吸收了無(wú)數(shù)程序員的精華,不斷壯大。
完全兼容 POSIX1.0 標(biāo)準(zhǔn)
這使得可以在 Linux 下通過(guò)相應(yīng)的模擬器運(yùn)行常見(jiàn)的 DOS、Windows 操作系統(tǒng)中的軟件程序。這為用戶(hù)從 Windows 轉(zhuǎn)到 Linux 奠定了基礎(chǔ)。許多用戶(hù)在考慮使用 Linux 時(shí),就想到以前在 Windows 下常見(jiàn)的程序是否能正常運(yùn)行,這一點(diǎn)就消除了他們的疑慮。
多用戶(hù)、多任務(wù)
Linux 支持多用戶(hù),各個(gè)用戶(hù)對(duì)于自己的文件設(shè)備有自己特殊的權(quán)利,保證了各用戶(hù)之間互不影響。多任務(wù)則是現(xiàn)在計(jì)算機(jī)最主要的一個(gè)特點(diǎn),Linux 可以使多個(gè)程序同時(shí)并獨(dú)立地運(yùn)行。
良好的界面
Linux 同時(shí)具有字符界面和圖形界面。在字符界面用戶(hù)可以通過(guò)鍵盤(pán)輸入相應(yīng)的指令來(lái)進(jìn)行操作。它同時(shí)也提供了類(lèi)似于 Windows 圖形界面的 X-Window 系統(tǒng),用戶(hù)可以使用鼠標(biāo)對(duì)其進(jìn)行操作。在 X-Window 環(huán)境中就和在 Windows 中相似,可以說(shuō)是一個(gè) Linux 版的 Windows 操作系統(tǒng)。
支持多種平臺(tái)
Linux 可以運(yùn)行在多種硬件平臺(tái)上,如具有 x86、680x0、SPARC、Alpha 等處理器的平臺(tái)。此外 Linux 還是一種嵌入式操作系統(tǒng),可以運(yùn)行在掌上電腦、機(jī)頂盒或游戲機(jī)上。2001 年 1 月份發(fā)布的 Linux 2.4 版內(nèi)核已經(jīng)能夠完全支持 Intel64 位芯片架構(gòu)。同時(shí) Linux 也支持多處理器技術(shù)。多個(gè)處理器同時(shí)工作,使系統(tǒng)性能大大提高。
4.2 Linux 優(yōu)點(diǎn)
-
Linux 由眾多微內(nèi)核組成,其源代碼完全開(kāi)源;
-
Linux 繼承了 UNIX 的特性,具有非常強(qiáng)大的網(wǎng)絡(luò)功能,其支持所有的因特網(wǎng)協(xié)議,包括 TCP/IPv4、 TCP/IPv6 和鏈路層拓?fù)涑绦虻龋⑶铱梢岳?UNIX 的網(wǎng)絡(luò)特性開(kāi)發(fā)出新的協(xié)議棧;
-
Linux 系統(tǒng)工具鏈完整,簡(jiǎn)單操作就可以配置出合適的開(kāi)發(fā)環(huán)境,可以簡(jiǎn)化開(kāi)發(fā)過(guò)程,減少開(kāi)發(fā)中仿真工具的障礙,使系統(tǒng)具有較強(qiáng)的移植性;
5. Linux 發(fā)行版本
由于最初 Linux 操作系統(tǒng)開(kāi)源免費(fèi),所有的學(xué)習(xí)者都可以將 Linux 操作系統(tǒng)優(yōu)化和拓展,所以 Linux 操作系統(tǒng)發(fā)展迅猛,當(dāng)前發(fā)行版非常多,這里簡(jiǎn)單介紹一下六種常見(jiàn)的 Linux 操作系統(tǒng)。
5.1 Debian
Debian 計(jì)劃是一個(gè)致力于創(chuàng)建一個(gè)自由操作系統(tǒng)的合作組織。我們所創(chuàng)建的這個(gè)操作系統(tǒng)名為 Debian。操作系統(tǒng)是使計(jì)算機(jī)運(yùn)行的基本程序和工具的集合,其中最主要的部分稱(chēng)為內(nèi)核(kernel)。內(nèi)核是計(jì)算機(jī)中最重要的程序,負(fù)責(zé)一切基本的調(diào)度工作,并讓您運(yùn)行其他程序。Debian 系統(tǒng)目前采用 Linux 內(nèi)核或者 FreeBSD 內(nèi)核。
然而,讓 Debian 支持其他內(nèi)核的工作也正在進(jìn)行,最主要的就是 Hurd。Hurd 是一組在微內(nèi)核(例如 Mach)上運(yùn)行的、提供各種不同功能的守護(hù)進(jìn)程。Hurd 是由 GNU 工程所設(shè)計(jì)的自由軟件。官方所創(chuàng)建的這個(gè)操作系統(tǒng)中的大部分基本工具來(lái)自于 GNU 工程;因此我們把它們命名為 GNU/Linux、GNU/kFreeBSD 和 GNU/Hurd。
這些工具同樣都是自由的,當(dāng)然,人們真正需要的是應(yīng)用軟件,也就是幫助他們完成工作的程序:從文檔編輯,到電子商務(wù),到游戲娛樂(lè),到軟件開(kāi)發(fā)。Debian 帶來(lái)了超過(guò) 51000 個(gè)軟件包(為了能在您的機(jī)器上輕松地安裝,這些軟件包都已經(jīng)被編譯包裝為一種方便的格式),一個(gè)軟件包管理器(APT),以及其他幫助您在上千臺(tái)計(jì)算機(jī)上管理數(shù)千個(gè)軟件包的工具,過(guò)程就如安裝一個(gè)應(yīng)用程序那么簡(jiǎn)單。而這些全都是自由軟件。這有點(diǎn)像一個(gè)高塔:在最底層的是內(nèi)核,在內(nèi)核上面的是所有的基本工具,然后是所有您在計(jì)算機(jī)上運(yùn)行的軟件。
最后,在這個(gè)高塔頂端的就是 Debian 把每件事情謹(jǐn)慎地組織和配合在一起,使得它們能夠在一起和諧地運(yùn)作。
5.2 RedHat
紅帽在 2014 年 6 月發(fā)布了最新旗艦版企業(yè)操作系統(tǒng),紅帽企業(yè) Linux 7?;诩t帽企業(yè) Linux 7 操作系統(tǒng),企業(yè)可整合裸機(jī)服務(wù)器、 虛擬機(jī)、基礎(chǔ)設(shè)施即服務(wù)(IaaS)和平臺(tái)即服務(wù)(PaaS),以構(gòu)建一個(gè)強(qiáng)大穩(wěn)健的數(shù)據(jù)中心環(huán)境,滿(mǎn)足不斷變化的業(yè)務(wù)需求。紅帽衛(wèi)星是一個(gè)綜合性解決方案,它通過(guò)配置軟件分發(fā)、補(bǔ)丁和配置管理,以及物理、虛擬和云環(huán)境的訂閱管理為紅帽系統(tǒng)提供完整的生命周期管理,為管理構(gòu)建、部署、運(yùn)行和淘汰系統(tǒng)所需的工具提供了單獨(dú)的管理控制臺(tái)和方法論。
5.3 CentOs
CentOS(Community Enterprise Operating System,中文意思是社區(qū)企業(yè)操作系統(tǒng))是 Linux 發(fā)行版之一,它是來(lái)自于 Red Hat Enterprise Linux 依照開(kāi)放源代碼規(guī)定釋出的源代碼所編譯而成。由于出自同樣的源代碼,因此有些要求高度穩(wěn)定性的服務(wù)器以 CentOS 替代商業(yè)版的 Red Hat Enterprise Linux 使用。兩者的不同,在于 CentOS 完全開(kāi)源。
5.4 Slackware
Slackware Linux 是由 Patrick Volkerding 開(kāi)發(fā)的 GNU/Linux 發(fā)行版。與很多其他的發(fā)行版不同,它堅(jiān)持 KISS(Keep It Simple Stupid) 原則。一開(kāi)始,配置系統(tǒng)會(huì)有一些困難,但是更有經(jīng)驗(yàn)的用戶(hù)會(huì)喜歡這種方式的透明性和靈活性。 Slackware 的很多特性體現(xiàn)出了 KISS 原則,最為有名的例子就是不依賴(lài)圖形界面的文本化系統(tǒng)配置,傳統(tǒng)的服務(wù)管理方式和不解決依賴(lài)的包管理。
5.6 Ubuntu
Ubuntu 是一個(gè)以桌面應(yīng)用為主的 Linux 操作系統(tǒng),其名稱(chēng)來(lái)自非洲南部祖魯語(yǔ)或豪薩語(yǔ)的 “ubuntu” 一詞,意思是 “人性”、“我的存在是因?yàn)榇蠹业拇嬖凇?,是非洲傳統(tǒng)的一種價(jià)值觀。Ubuntu 基于 Debian 發(fā)行版和 Gnome 桌面環(huán)境,而從 11.04 版起,Ubuntu 發(fā)行版放棄了 Gnome 桌面環(huán)境,改為 Unity。從前人們認(rèn)為 Linux 的難以安裝、難以使用,在 Ubuntu 出現(xiàn)后這些都成為了歷史。Ubuntu 也擁有龐大的社區(qū)力量,用戶(hù)可以方便地從社區(qū)獲得幫助。
Tips:本套教程演示學(xué)習(xí)使用的是 CentOs 操作系統(tǒng),也有部分小節(jié)使用其他的操作系統(tǒng)。
6. 為什么要學(xué)習(xí) Linux?
Linux 操作系統(tǒng)在服務(wù)器、云計(jì)算、大數(shù)據(jù)、嵌入式等等領(lǐng)域發(fā)展日益增大,幾乎所有的開(kāi)發(fā)、運(yùn)維工程師必須都要使用和接觸 Linux 操作系統(tǒng),學(xué)習(xí) Linux 操作系統(tǒng)基礎(chǔ)教程將會(huì)幫助你很好的管理 Linux 服務(wù)器、項(xiàng)目部署、服務(wù)搭建,為你學(xué)習(xí) Linux 高級(jí)功能打下基礎(chǔ)。
7. 本課程的大致規(guī)劃
本教程將會(huì)介紹 Linux 操作系統(tǒng)安裝和配置、基本的命令使用、文件和目錄管理、磁盤(pán)管理、權(quán)限管理等等,學(xué)完本課程,您將會(huì)對(duì) Linux 的基本操作有了一定的理解和認(rèn)識(shí),并且能像操作 Windows 一樣去操作 Linux,會(huì)為你學(xué)習(xí)更加高級(jí)的 Linux 知識(shí)打下堅(jiān)實(shí)的基礎(chǔ)。
8. 本課程的學(xué)習(xí)基礎(chǔ)
- 對(duì)計(jì)算機(jī)網(wǎng)絡(luò)有基本的認(rèn)識(shí)。
- 會(huì)在指定的網(wǎng)址上下載軟件包。