Linux簡介及Linux學習路線圖

一、Linux 爲何物

Linux 就是一個操作系統,就像你多少已經瞭解的 Windows(xp,7,8)和 Max OS ,至於操作系統是什麼,就不用過多解釋了,如果你學習過前面的入門課程,應該會有個基本概念了,這裏簡單介紹下操作系統在整個計算機系統中的角色。

我們的 Linux 也就是系統調用和內核那兩層,當然直觀的來看,我們使用的操作系統還包含一些在其上運行的應用程序,比如文本編輯器,瀏覽器,電子郵件。

二、Linux 歷史簡介

操作系統始於二十世紀 50 年代,當時的操作系統能運行批處理程序。批處理程序不需要用戶的交互,它從文件或者穿孔卡片讀取數據,然後輸出到另外一個文件或者打印機。

二十世紀六十年代初,交互式操作系統開始流行。它不僅僅可以交互,還能使多個用戶從不同的終端同時操作主機。這樣的操作系統被稱作分時操作系統,它的出現對批處理操作系統是個極大的挑戰。許多人嘗試開發分時操作系統, 其中包括一些大學的研究項目和商業項目。當時有一個項目叫做” Multics “,它的技術在當時很創新。” Multics “項目的開發並不順利。它花費了遠超過預計的時間來完成,卻沒有在操作系統市場上佔到多少份額。而參加該項目的一個開發團體-貝爾實驗室退出了這個項目。他們在退出後開發了他們自己的一個操作系統—— UNIX。

UNIX 最初免費發佈並因此在大學裏受到歡迎。後來,UNIX 實現了 TCP/IP 協議棧,成爲了早期工作站的操作系統的一個流行選擇。

1990年,UNIX 在服務器市場尤其是大學校園成爲主流操作系統,許多校園都有 UNIX 主機,當然還包括一些研究它的計算機系的學生。這些學生都渴望能在自己的電腦上運行 UNIX 。不幸的是,從那時候開始,UNIX 開始變得商業化,它的價格也變得非常昂貴。而唯一低廉的選擇就是 MINIX ,這是一個功能有限的類似 UNIX 的操作系統,作者 Andrew Tanebaum 開發它的目的是用於教學。

1991 年 10 月,Linus Torvalds(Linux 之父)在赫爾辛基大學接觸 UNIX ,他希望能在自己的電腦上運行一個類似的操作系統。可是 UNIX 的商業版本非常昂貴,於是他從 MINIX 開始入手,計劃開發一個比 MINIX 性能更好的操作系統。很快他就開始了自己的開發工作。他第一次發行的版本很快吸引了一些黑客。儘管最初的 Linux 並沒有多少用處,但由於一些黑客的加入使它很快就具有了許多吸引人的特性,甚至一些對操作系統開發不感興趣的人也開始關注它。

Linux 本身只是操作系統的內核。內核是使其他程序能夠運行的基礎。它實現了多任務和硬件管理,用戶或者系統管理員交互運行的所有程序實際上都運行在內核之上。其中有些程序是必需的,比如說,命令行解釋器(shell),它用於用戶交互和編寫 shell 腳本(.bat文件)。 Linus沒有自己去開發這些應用程序,而是使用已有的自由軟件。這減少了搭建開發環境而所需花費的工作量。實際上,他經常改寫內核,使得那些程序能更容易在 Linux 上運行。許多重要的軟件,包括 C 編譯器,都來自於自由軟件基金 GNU 項目。GNU 項目開始於 1984 年,目的是爲了開發一個完全類似於 UNIX 的免費操作系統。爲了表揚 GNU 對 Linux 的貢獻,許多人把 Linux 稱爲GNU/Linux(GNU 有自己的內核)。

1992-1993 年,Linux 內核具備了挑戰 UNIX 的所有本質特性,包括 TCP/IP 網絡,圖形界面系統(X window),Linux 同樣也吸引了許多行業的關注。一些小的公司開發和發行Linux,有幾十個 Linux 用戶社區成立。1994 年,Linux 雜誌也開始發行。

Linux 內核 1.0 在 1994 年三月發佈,內核的發佈要經歷許多開發週期,直至到達一個穩定的版本。

下面列舉一下 Linux 誕生大事件:

  • 1965 年,Bell 實驗室、MIT、GE(通用電氣公司)準備開發 Multics 系統,爲了同時支持 300 個終端訪問主機,但是 1969 年失敗了;

 剛開始並沒有鼠標、鍵盤,輸入設備只有卡片機,因此如果要測試某個程序,則需要將讀卡紙插入卡片機,如果有錯誤,還需要重新來過; Multics:Multiplexed Information and Computing Service

  •  1969 年,Ken Thompson(C語言之父)利用彙編語言開發了 FIle Server System(Unics,即 UNIX 的原型)

因爲彙編語言對於硬件的依賴性,因此只能針對特定硬件; 只是爲了移植一款“太空旅遊”的遊戲;

  •  1973 年,Dennis Ritchie 和 Ken Thompson 發明了 C 語言,而後寫出了 UNIX 的內核

將 B 語言改成 C 語言,由此產生了 C 語言之父; 90% 的代碼是 C 語言寫的,10% 的代碼用匯編寫的,因此移植時只要修改那 10% 的代碼即可;

  •  1977 年,Berkeley 大學的 Bill Joy 針對他的機器修改 UNIX 源碼,稱爲BSD(Berkeley Software Distribution)

Bill Joy 是 Sun 公司的創始人;

  •  1979 年,UNIX 發佈 System V,用於個人計算機;
  •  1984 年,因爲 UNIX 規定:“不能對學生提供源碼”,Tanenbaum 老師自己編寫兼容於 UNIX 的Minix,用於教學;
  •  1984 年,Stallman 開始 GNU(GNU’s Not Unix)項目,創辦 FSF(Free Software Foundation)基金會;

產品:GCC、Emacs、Bash Shell、GLIBC; 倡導“自由軟件”; GNU 的軟件缺乏一個開放的平臺運行,只能在 UNIX 上運行; 自由軟件指用戶可以對軟件做任何修改,甚至再發行,但是始終要掛着 GPL 的版權; 自由軟件是可以賣的,但是不能只賣軟件,而是賣服務、手冊等;

  •  1985 年,爲了避免 GNU 開發的自由軟件被其他人用作專利軟件,因此創建 GPL(General Public License)版權聲明;
  •  1988 年,MIT 爲了開發 GUI,成立了 XFree86 的組織;
  •  1991 年,芬蘭赫爾辛基大學的研究生 Linus Torvalds 基於 gcc、bash 開發了針對 386 機器的 Linux 內核;
  •  1994 年,Torvalds 發佈 Linux-v1.0;
  • 1996 年,Torvalds 發佈 Linux-v2.0,確定了 Linux 的吉祥物:企鵝;

UNIX進化史(UNIX大家族族譜1969-2013)

三、Linux 重要人物

1.Ken Thompson:C 語言之父和 UNIX 之父

2.Dennis Ritchie:C 語言之父和 UNIX 之父

3.Stallman:著名黑客,GNU 創始人,開發了 Emacs、gcc、bash shell

 

4.Bill Joy:BSD 開發者

 

5.Tanenbaum:Minix 開發者

6.Linus Torvalds:Linux 之父,芬蘭赫爾辛基大學

四、Linux 與 Windows 到底有哪些不同

1.免費與收費

  • 最新正版 Windows8.1 官方售價 ¥888;
  • Linux 免費或少許費用。

2.軟件與支持

  • Windows 平臺:數量和質量的優勢,不過大部分爲收費軟件;由微軟官方提供重要支持和服務;
  • Linux 平臺:大都爲開源自由軟件,用戶可以修改定製和再發布,由於基本免費沒有資金支持,部分軟件質量和體驗欠缺;有全球所有的 Linux 開發者和自由軟件社區提供支持。

3.安全性

  • Windows 平臺:三天兩頭打補丁安裝系統安全更新,還是會中病毒木馬;
  • Linux 平臺:要說 Linux 沒有安全問題,那當然是不可能的,這一點仁者見仁智者見智,相對來說肯定比 Windows 平臺要更加安全,使用 Linux 你也不用裝某殺毒,某毒霸。

4.使用習慣

  • Windows:普通用戶基本都是純圖形界面下操作使用,依靠鼠標和鍵盤完成一切操作,用戶上手容易入門簡單;
  • Linux:兼具圖形界面操作(需要使用帶有桌面環境的發行版)和完全的命令行操作,可以只用鍵盤完成一切操作,新手入門較困難,需要一些學習和指導(這正是我們要做的事情),一旦熟練之後效率極高。

5.可定製性

  • Windows:這些年之前算是全封閉的,系統可定製性很差;
  • Linux:你想怎麼做就怎麼做,Windows 能做到得它都能,Windows 做不到的,它也能。

6.應用範疇

或許你之前不知道 Linux ,要知道,你之前在 Windows 使用百度,谷歌,上淘寶,聊 QQ 時,支撐這些軟件和服務的,是後臺成千上萬的 Linux 服務器主機,它們時時刻刻都在進行着忙碌的數據處理和運算,可以說世界上大部分軟件和服務都是運行在 Linux 之上的。

7.Windows 沒有的

  • 穩定的系統
  • 安全性和漏洞的快速修補
  • 多用戶
  • 用戶和用戶組的規劃
  • 相對較少的系統資源佔用
  • 可定製裁剪,移植到嵌入式平臺(如安卓設備)
  • 可選擇的多種圖形用戶界面(如 GNOME,KDE)

8.Linux 沒有的

  • 沒有特定的支持廠商
  • 遊戲娛樂支持度不足
  • 專業軟件支持度不足

五、如何學習 Linux

1.學習心態

  • 明確目的:你是要用 Linux 來幹什麼,搭建服務器,做程序開發,還是日常辦公,還是娛樂遊戲;

  • 面對現實:Linux 大都在命令行下操作,能否接受不用或少用圖形界面;

  • 是學習 Linux 操作系統本身還是某一個Linux發行版(Ubuntu,CentOS,Fedora,OpenSUSE,Debian,Mint 等等),如果你對發行版的概念或者它們之間的關係不明確的話可以參看Linux 發行版

2.注重基礎,從頭開始

大致的學習路徑如下:




等這次藍橋比完,就抽空玩玩linux。。。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章