linux入門介紹

linux學習之開篇基礎學習

一、之前在學校的時候就接觸並學習了一段時間的linux,學習是散亂的,而且學習過程漫長的,在沒有集中練習的情況下很多時候學習的知識不能有效的組織在一起,不能形成很好的只是體系。此處從頭開始學習,希望在接下來的四個月通過努力能將鬆散的知識點組織成一個完整的體系。當然最重要的是即將畢業,爲了能找到個高水平的工作。以後將持續更新此博客,希望能看到的朋友對總結的知識提出寶貴的意見。

衆所周知,無論在哪裏學習,學習linux總是從它的歷史學起,瞭解linux的歷史有助於真正瞭解linux開源的意義。在這裏只談幾個重要的相關概念,有時候面試會提到的。


什麼是GUN?什麼事GPL?以及現在的幾種開源協議?(對於這些不必要論述特別清楚,只要能達到簡述並分清楚其概念即可)。

GUN----早期的unix發展之後,由於一些原因,richard(史託曼)提出了一個口號,叫做GUN(GUN is not unix),目的是創建一個自由開放的unix操作系統,因此成立了自由軟件基金組織FSF(全稱Free Software Foundation ),以方便更多的人加入到自由軟件組織中。而GUN就作爲一個自由軟件項目成立。

GPL----1985年,爲了避免GUN項目所開發的軟件被其他人利用稱爲專利軟件,因此編寫了GPL協議(全稱general public license)叫做GUN通用公共許可證。GUN開發的重要軟件有Emacs、gcc、GUN c library、bash shell,更多FSF項目開發的軟件參考http://www.fsf.org。遵循GPL協議的軟件可供使用者免費下載、使用、修改、發佈。但是修改發佈的軟件也必須遵循GPL協議。GPLv2是早期的通用許可協議,後來出現了庫通用許可證,簡稱LGPL(library general public license)是對GPLv2協議的補充,之後被重命名爲GUN寬通用公共許可證(lesser general public license)、GPLv3是在2005年開始起草的新版本的通用許可證協議,較之前的版本做了相應的修改。在所有的改動中,最重要的四個:解決軟件專利問題、與其他許可證的兼容性;源代碼分割和組成的定義;解決數字版權管理 (數字限制管理) 問題。

apache:apache軟件基金會asf(apache software foundation)是一個專門支持開源軟件項目而辦的非盈利組織。其項目和子項

目都遵循apache許可證。


BSD:BSD開源協議(Berkeley Software Distribution,伯克利軟件套件)是Unix的衍生系統。

BSD開源協議是一個給於使用者很大自由的協議。可以自由的使用,修改源代碼,也可以將修改後的代碼作爲開源或者專有軟件再發布。當

你發佈使用了BSD協議的代碼,或者以BSD協議代碼爲基礎做二次開發自己的產品時,需要滿足三個條件:

1、如果再發布的產品中包含源代碼,則在源代碼中必須帶有原來代碼中的BSD協議。

2、如果再發布的只是二進制類庫/軟件,則需要在類庫/軟件的文檔和版權聲明中包含原來代碼中的BSD協議。

3、不可以用開源代碼的作者/機構名字和原來產品的名字做市場推廣。

BSD代碼鼓勵代碼共享,但需要尊重代碼作者的著作權。BSD由於允許使用者修改和重新發布代碼,也允許使用或在BSD代碼上開發商業軟件

發佈和銷 售,因此是對商業集成很友好的協議。很多的公司企業在選用開源產品的時候都首選BSD協議,因爲可以完全控制這些第三方的代碼,

在必要的時候可以修改或者二次開發。更多信息參考中國開源社區http://www.oschina.net

二、接下來介紹主流的幾個linux發行版本。目前主流的三大linux發行版1、slacware 2、debian 3、redhat

本人學習過程中使用的redhat和centos,所以只闡述redhat、centos和linux的三者之間的關係。redhat作爲linux的三大發行版本之一,由

redhat公司提供,可供使用者個人、或商用免費下載使用,但是redhat提供的服務採取收費機制,因此一些功能或許個人學習使用的話會造成

某些不方便,在公司的話可以使用。rhel就是redhat的商用版本。而centos是一個完全免費版的redhat,其相關組件功能完全自由免費,和

redhat完全兼容。可供學習者使用。具體redhat和centos之間的親密關係可自行網上查找。另外需要提到的fedora是linux下的一個桌面型系統。

獲取redhat或centos可以從其官網直接下載相應的版本,也可以從以下的站點選擇下載:

http://mirrors.aliyun.com

http://mirrors.sohu.com

http://mirrors.163.com


簡單說下linux的哲學思想:

1、一切皆文件;

把幾乎所有資源,包括硬件設備都組織爲文件格式;

2、由衆多單一目的小程序組成;一個程序只實現一個功能,而且要做好;

組合小程序完成複雜任務;

3、儘量避免跟用戶交互;

目標:實現腳本編程,以自動完成某些功能;

4、使用純文本文件保存配置信息;

目標:一款使用的文本編程器即能完成系統配置工作;


三、正式開始學習linux。

linux的交互式接口分爲兩種方式:

一種是圖型用戶界面,簡稱GUI(Graphical user interface)。類似於大家熟悉的windows桌面系統。

linux的桌面系統有 GNOME:(C語言開發,使用gtk庫) 、  KDE:(C++豔豔開發,qt庫)  、XFCE:(輕量級桌面)

另一種是命令行界面CLI(commond line interface),是基於命令的終端,類似windows下的cmd打開的界面。

還要明白的一個終端的區別:linux下的終端分爲以下幾種:

物理終端:直接接入本機的顯示器和鍵盤設備;/dev/console

虛擬終端:附加在物理終端之上的以軟件方式虛擬實現的終端,CentOS 6默認啓動6個虛擬終端,使用Ctrl+Alt+F#: [1,6]

圖形終端:附加在物理終端之上的以軟件方式虛擬實現的終端,但額外會提供桌面環境;設備文件路徑:/dev/tty#

模擬終端:圖形界面下打開的命令行接口,基於ssh協議或telnet協議等遠程打開的界面設備文件:/dev/pts/# [0,+oo)


查看當前的終端設備命令:tty


通常情況下都是使用的linux命令行界面,不得不提到的就是命令提示符,$PS1表示一級命令提示符,$PS2表示二級提示符。

使用echo $PS1 和echo $PS2 可顯示。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章