天天看點

『學了就忘』Linux基礎 — UNIX系統介紹

『學了就忘』Linux基礎 — UNIX系統介紹

在學習Linux系統之前,我們先來了解以下UNIX系統。

在介紹Linux系統之前,我們先來了解以下UNIX系統。

1965年,美國麻省理工學院(MIT)、通用電氣公司(GE)及AT&T的貝爾實驗室聯合開發Multics工程計劃,其目标是開發一種互動式的具有多道程式處理能力的分時作業系統,但因Multics追求的目标過于龐大複雜,項目進度遠遠落後于計劃,最後貝爾實驗室宣布退出。 1969年,美國貝爾實驗室的肯·湯普森在DEC PDP-7機器上(性能低)開發出了UNIX系統。 1971年,肯·湯普森的同僚丹尼斯·裡奇發明了C語言;1973年,UNIX系統的絕大部分源代碼用C語言重寫,這為提高UNIX系統的可移植性打下基礎。
『學了就忘』Linux基礎 — UNIX系統介紹
左邊:肯·湯普森 右邊:丹尼斯·裡奇

目前最主流的三款發行版本如下:

『學了就忘』Linux基礎 — UNIX系統介紹

說明:

AIX最為普及(數量最多),因為IBM的伺服器買的最多,但是AIX有一個巨大的問題就是,它隻能在IBM的伺服器硬體平台安裝(PowerPC)。

換句話說,我們自己用的普通電腦,裝不了這個系統。想要學習AIX系統,就需要買一台IBM的伺服器。

HP-UX也同樣是上邊的問題,必須在PA-RISC平台的伺服器上安裝。

Solaris具有支援微機的版本。可以在我們自己普通的電腦上安裝,不需要在單獨購買伺服器。

這就變成你學習UNIX系統成本最低的一個選擇了,而我們到市面上買一些UNIX的書籍,可以發現,反而Solaris系統的書籍最多。

補充:

Linux和BSD這樣的系統,稱為類UNIX系統。指令上基本上大緻一樣,檔案系統結構基本一樣,差別就是有個别指令,有個别檔案儲存的位置或者檔案名不一樣。但是深入到底層的内容,确實是有很多很多的内容是不一樣的。

1、GNU計劃介紹

Richard Mathew Stallman(史托曼)在1984年發起的GNU計劃,對于現今的自由軟體風潮,有不可磨滅的地位!目前我們所使用的很多自由軟體或開源軟體,幾乎均直接或間接受益于GNU這個計劃。GNU計劃對于整個自由軟體與開放原始碼軟體來說,是占有非常重要的角色!

2、為何Stallman會發起這個GNU計劃呢?

史托曼開始GNU計劃的目的是:建立一個自由、開放的Unix作業系統(Free Unix)。

3、GNU的通用公共許可證:

到了1985年,為了避免GNU所開發的自由軟體被其他人所利用,而成為專利軟體,是以Stallman與律師草拟了有名的通用公共許可證(General Public License,GPL)。

(1)那麼這個GPL(GNU General Public License)是什麼?

Stallman對GPL一直是強調Free的,這個Free的意思是這樣的:大意是說,Free Software(自由軟體)是一種自由的權力,并非是價格。也就是說,自由軟體的重點并不是指免費的,而是指具有自由度(freedom)的軟體。

舉例來說,你可以擁有自由呼吸的權力、你擁有自由發表言論的權力,但是,這并不代表你可以到處喝免費的啤酒(free beer)。

史托曼進一步說明了自由度的意義是:使用者可以自由的執行、複制、再發行、學習、修改與強化自由軟體。

GPL是站在互助互利的角度上去開發的,你不應該将大家的成果占為己有。

(2)為什麼要将自由軟體挂上GPL的【版權宣告】呢?

因為如此一來,你所拿到的軟體可能原先隻能在Unix上面跑,但是經過原始碼的修改之後,你将可以拿他在Linux或者是Windows上面來跑!總之,一個軟體挂上了GPL版權宣告之後,他自然就成了自由軟體!這個軟體就具有底下的特色:

取得軟體與原始代碼:你可以根據自己的需求來執行這個自由軟體;

複制:你可以自由的複制該軟體;

修改:你可以将取得的原始代碼進行程式修改工作,使之适合你的工作;

再發行:你可以将你修改過的程式,再度的自由發行,而不會與原先的撰寫者沖突;

回饋:你應該将你修改過的程式代碼回饋于社群。

(3)這個版權宣告對于作者有何好處?

因為是提供原始代碼的自由軟體,那麼你的程式代碼将會有很多人幫你查閱,如此一來,程式的漏洞與程式的優化将會進展的很快!是以,在安全性與效能上面,自由軟體一點都不輸給商業軟體。

此外,因為GPL授權當中,修改者并不能修改授權,是以,你如果曾經貢獻過程式代碼,你将名留青史。

對于程式開發者來說,GPL是一個非常好的授權,因為大家可以互相學習對方的程式撰寫技巧,而且自己寫的程式也有人可以幫忙除錯。

對于廣大的終端使用者,或許自己不會編譯程式代碼或者是幫人家除錯,但是終端使用者使用的軟體絕大部分就是GPL的軟體。

大緻的優點總結:

軟體安全性較佳;

軟體執行效能較佳;

軟體除錯時間較短;

貢獻的原始碼永遠都存在。

『學了就忘』Linux基礎 — UNIX系統介紹

GCC說明

不論是什麼軟體,都得要進行編譯成為二進制檔案(binary

program)後才能夠執行,說明軟體的能見度還是不夠。是以他便開始撰寫C語言的編譯程式,那就是現在相當有名的GNUCCompiler(gcc)!

Emacs 編輯器、函式庫(GNU C library),以及可以被使用來操作作業系統的基本接口BASH

shell,這些都在1990年左右完成的。

1984年創立GNU計劃的Stallman先生認為,寫程式最大的快樂就是讓自己開發的良好的軟體讓大家使用起來!

如果使用方撰寫程式的能力比自己強,那麼當對方修改完自己的程式,并且回傳修改後的程式代碼給自己,那自己的程式撰寫功力無形中就更往上爬了!

而既然程式是想要分享給大家使用的,不過每個人所使用的計算機軟硬體并不相同,既然如此的話,那麼該程式的原始碼(Source code)就應該要同時釋出,這樣才能友善大家修改而适用于每個人的計算機中。這個将原始代碼連同軟體程式釋出的舉動,在GNU計劃的範疇之内就稱為自由軟體(Free Software)運動!

此外,史托曼同時認為,如果你将你程式的Source code分享出來時,若該程式是很優秀的,那麼将會有很多人使用,而每個人對于該程式都可以查閱Source code,無形之中就會有一票人幫你除錯,你的程式将會越來越壯大,越來越優秀。

有人會說,目前不是有很多Linux開發商販賣Linux這個GPL授權的軟體。原因很簡單,因為他們大多都是販賣的是售後服務。

比如你可以購買他們的LinuxCD光牒,如果你購買了CD光牒,他們會提供相關的手冊說明檔案,同時也會提供你數年不等的咨詢、售後服務、軟體更新與其他協力工作等等的附加價值!

通過服務來收費,自由軟體确實還是具有商業空間的。

『學了就忘』Linux基礎 — UNIX系統介紹

這些資料,對于【軟體測試】的朋友來說應該是最全面最完整的備戰倉庫,這個倉庫也陪伴我走過了最艱難的路程,希望也能幫助到你

關注我的微信公衆号【傷心的辣條】免費擷取~

世界的模樣取決于你凝視它的目光,自己的價值取決于你的追求和心态,一切美好的願望,不在等待中擁有,而是在奮鬥中争取。

我的學習交流群:902061117 群裡有技術大牛一起交流分享~

如果我的部落格對你有幫助、如果你喜歡我的部落格内容,請 “點贊” “評論” “收藏” 一鍵三連哦!

阿裡小黑歎息:越來越多的年輕人從職場撤退了?

Python簡單?先來40道基礎面試題測試下

App公共測試用例梳理

從一名開發人員轉做測試的一些感悟