1. 程式人生 > >Linux複習筆記-linux簡介

Linux複習筆記-linux簡介

Linux複習筆記-linux簡介

【Open source】

   公佈原始碼,使用者具有修改權、任意再散佈、允許修改、不限制使用權、不限制某些領域的應用、不具有排他條款

【GPL是Open Source的一種形式】

【自由軟體】:就是Free Software,使用者擁有自由的控制、複製、修改、再發行該軟體的權利,通常是Open source

【開源軟體】:軟體釋出時釋出原始碼,僅此而已

【自由軟體一定是開源軟體】

【Freeware】:免費,但是不開源

【Shareware】:試用軟體,最終還是需要收費

【POSIX】:可攜式作業系統介面(portable operating system interface),允許不同系統之間共享同一種軟體(事實上應該是介面相同)

有趣:linux開發完成之後,很多軟體不能在linux上執行,當時主要有兩種修改方法:修改軟體和修改linux。作者選擇了修改linux適應POSIX來使linux可以執行大量的軟體。

【版本】:形如“2.5.xx”的奇數版本是不穩定的;形如“2.6.xx”的偶數版本是穩定的,後面的數字是小改版的次數。這種版本命名方式在3.0之後被拋棄。(這是kernel的版本,不是distribution的版本)

{命令:使用命令uname -r可以查詢kernel的版本,詳情man手冊,再問自殺~}

【linux distribution】:也就是linux發行版,是為了方便普通使用者使用,在kernel(核心)的基礎上,加入一些軟體和使用手冊還有工具而釋出的整合之後的系統。

【LSB,FHS】:linux standard base,linux標準庫和file system hierarchy standard,檔案層次標準,他們的存在主要是為了防止linux的不同發行版有過大的差異。

linux的特點:

   真正的多使用者多工【推測當時是得益於“分時系統”】

   高度的安全性和穩定性

   良好的相容性【POSIX】

   完全免費

   支援多平臺【和gcc應該有關】

   強大的網路功能

   美觀的使用者介面【X window】

【linux kernel】:使用C語言編寫,一小部分關於驅動的部分利用匯編語言編寫。總體分為五個子系統:

   程序排程

   記憶體管理

   虛擬檔案系統(邏輯檔案系統和裝置驅動程式)

   網路介面(網路協議和網路驅動)

   程序間通訊

【shell】:互動式命令解釋程式,完成和使用者的互動任務,實現使用者和核心的通訊。常用的shell有(linux會為每一個登入成功的使用者啟動一個shell):

Bourne Shell(sh):最初的shell,在互動方面差強人意,程式設計領域出色。

C shell(Csh):語法和C相似,適用程式設計。

Korn Shell(Ksh):繼承了csh和sh的優點,和sh完全相容。

Bourne-Again shell(bash):linux的預設shell,功能強大。

【linux的作用】:

   檔案管理

   程序管理

   記憶體管理

   使用者和組群管理:組群(對於某些檔案具有相同操作許可權的使用者集合)

   裝置管理(字元裝置、塊裝置、網路裝置)