1. 程式人生 > >Linux初級學習

Linux初級學習

Linux初級學習

在學習Linux之前需要說一個老生常談的故事。我覺得學習Linux這個故事還是需要知道的。

Multics計劃:

上個世紀六十年代為了滿足科研的需求,在1965年有Bell(貝爾實驗室)和MIT(麻省理工學院)以及GE(通用電氣)聯合研發了一個分時多工系統並取名為Multics(多路資訊計算系統)。由於各方面的原因,1969年Bell退出專案組。

Unix的誕生:

Bell實驗室的Ken Thompson在做Multics研發的同時,自己寫了一個Space Travel(太空大戰)的遊戲。但是由於退出專案之後,沒有可以執行的Multics平臺。為了可以繼續玩遊戲花費了一個月時間寫了一個小型作業系統執行Space Travel,當完成之後,Ken Thompson讓同事們試玩之後,大家對於的作業系統非常感興趣。於是起名叫UNiplexed Information and Computing Service縮寫為UNICS,後來取其諧音稱之為UNIX。剛好這一年是1970年,於是將1970年定為Unix元年,從此計算上的時間就從這一年開始計算。

Unix系統在Bell實驗室開始流行起來,經過不斷的改良於1974年的7月釋出了Unix的第5個版本。Bell實驗室公開了Unix,引起學術界對於其原始碼的極大興趣。所以Unix第五版以“教育目的”提供給各大學校和科研機構作為學術研究。1978年伯克利大學,推出了以第六版為基礎,加上改良和新功能而組成的Unix。 並命名為BSD(Berkeley Software Distribution伯克利分發版),開創了Unix的另一個分支:BSD 系列。 

 於是乎Unix就有了兩個分支,一個就是BSD系列的分支,一個就是Bell內部流行的分支。當時Bell屬於AT&T,AT&T受到了美國《謝爾曼反托拉斯法》的影響。不能銷售除了電話機電報機等之外的商品,因此Unix都是免費提供給個大學使用的。後來AT&T分解,Bell賣了Unix,從此Unix就走向了商業化,如果想繼續使用就需要購買版權。很多機構提供了使用。

Minix以及Linux的誕生:

Unix開始收費之後,各大學無法再使用免費的Unix。於是在1987年荷蘭有個大學教授安德魯寫了一個Minix。其類似於Unix,但是比Unix小的多,專用於教學。當Minix流傳之後,世界各地的黑客們紛紛開始研究使用並進行改良。希望可以把改良之後的內容合併到Minix中。安德魯覺得他的系統是用於教學的,不能破壞純淨性,於是拒絕了。

在1991年,Linus Torvalds(林納斯·託瓦茲)在網際網路上公佈了自己寫的Linux。希望大家一起探討並發展該系統。公佈之後引起了強烈的反響,並在大家的努力下,在1994年釋出了Linux的1.0版本。

Richard Stallman,Stallman因為Unix受商業化的影響,他認為軟體應該讓大家自由的使用不受約束。於是在八十年代的時候他發起了自由軟體運動 (GUN運動),併發布了自由軟體協議(GPL協議)。這一運動得到了很多人的認同。

所謂自由軟體就是指:自由使用;自由學習和修改;自由分發;自由建立衍生版;

Linux是遵循GPL協議的,可以免費使用,讓黑客們盡情的施展(這裡的黑客指技術大牛,不是指那些做壞事的人)。於是Linux提供核心(Kernel),GUN提供外圍軟體,就這樣GUN/Linux誕生了。

Linux的版本:

Linux和Unix是一個作業系統。1991年Linus Torvalds公佈的其實是Linux的核心(Kernel)。說白了其實是原始碼,需要編譯成作業系統才可以進行安裝使用。 ReadHat(紅帽)就是其中著名的一家作業系統釋出者。Linux是遵循GPL協議的,也就是不能商業化。Redhat的作業系統可以免費使用。但是Redhat的服務是需要提供額外的費用。這些服務包含技術支援和軟體更新優化。

既然Redhat可以商業化,那為什麼不可以做免費的呢。於是CentOS開源社群,將Redhat的原始碼重新編譯成作業系統併發布到CentOS開源社群,所以CentOS也叫社群版CentOS。本質上Redhat和CentOS是同宗同源,只是服務的方向不一樣。所以Redhat和CentOS可以互相使用彼此的免費資訊。

Linux的思想:

1、  一切皆檔案,Linux本身就是檔案系統。

2、  Linux配置檔案都以文字形式存在。

3、  所有程式都是以庫檔案存在,以“.so”的形式存在。

4、  Linux的顯示方式是以命令列的形式存在並且返回值以無結果為正確,與Windows的彈窗形式不一樣。