Linux的簡介
馮諾依曼體系結構
-
主要特點:使用存儲器,采用二進制(據說,采用二進制的靈感來源于中國的八卦,2變4,4變8…)
-
體系介紹:其由幾大部分組成,輸入設備,運算器,控制器,內部存儲器,外部存儲器,輸出設備。
-
目前,輸入設備就是指鍵盤鼠標,
-
運算器和控制器現在統稱CPU。其實已經內置了兩個功能。
-
內部存儲器就是內存,某種意義上,緩存也算內部存儲器。
-
外部存儲器就是硬盤,光盤,移動存儲等。
Linux系統組成
硬件,內核,系統調用,(shell殼,庫函數)應用程序。
-
內核將硬件資源抽象出來,形成系統調用,應用程序直接訪問系統調用,不能直接調用內核,這樣保證了系統的穩定性
-
內核的工作:進程管理,文件系統管理,內存管理,驅動管等基本工作。
-
庫函數,為了方便應用程序的開發,把一些經常用到的系統調 用封裝起來,形成常用的庫。叫庫函數。
-
開發應用程序的時候,可以直接使用系統調用,也可以使用庫函數。shell其實也是一種應用程序。
Linux主流發行版
現在Linux主要的發行版為Red Hat(Centos)、Gentoo 、Debian、SuSE,Slackware
-
DeBian,比較好,限制比較少,也難用一些。(linux熟手)
-
國際化協作產生,而且 Debian開發者 所創建的操作系統中絕大部分基礎工具來自于GNU工程 ,因此 “Debian” 常指Debian GNU/Linux。
-
ubuntu:屬于其二次發行版,其中的knopix以其安全性著稱。Minit桌面版,以其桌面華麗著稱。
-
RedHat。從9.0分開
-
RedHat Enterprise Linux(企業版):簡稱:RHEL 18個月或更長時間,版本號7.0。另外,CentOS:Communicity 就是紅帽山寨版(據說已經被招安。。)
-
Fedora core(桌面版):6個月甚至更短更新一次,至少23個版本
-
Slackware:主分支為suse 桌面系統做的很好)
-
suse(由德國大學生創建,然后賣給novell實驗室)
* SLES(企業版) * openSUSE(界面華麗) -
Gentoo:最顯著的特點是提供給用戶自己將源碼編譯成二進制文件的功能。
-
ArchLinux:是一種以輕量簡潔為設計理念的Linux發行版
Linux哲學思想
-
由目的單一的小程序組成,組合小程序完成復雜任務 就是模塊化設計,每個功能盡可能的簡單,這樣一是容易開發,二是代碼少,穩定性好。這樣,組裝起來的大程序功能強大且穩定。
-
一切皆文件。管理簡單,所有的東西都依存于文件系統而不需要像windows那樣還需要注冊表。
-
盡量減少和用戶交互。(盡量捕獲用戶接口) 盡量減少用戶交互,有兩大好處,一是只要有用戶交互就有可能出現錯誤,利于系統穩定。二是能最輕量化運維工作,這也是其主要目的
-
配置文件保存為純文本格式。linux將所有的配置文件都設置為文本格式且都放到etc目錄下面(usr/etc等等),任何程序修正參數,簡潔有效。
編譯
其實編譯就是將源代碼解釋成二進制文件的過程,這其中分為靜態編譯和動態編譯
-
靜態編譯:直接將源代碼和他所以依賴的庫函數全部打包編譯成可執行文件的過程。
-
動態編譯:只編譯源代碼,不包含他所依賴的庫函數
-
兩種方式的優劣:
-
當進行靜態編譯時,生成的可執行文件中包含庫函數,這樣運行速度會有所提升。但是如果這樣的程序較多,并且包含的庫函數又是一些經常調用的函數,就會造成運行時大量重復的資源進駐內存,造成資源浪費。并且每個程序保存了一部分相同的代碼,造成系統體積增大。
-
動態編譯,雖然不包含所依賴的庫函數,體積較小和節省了內存,但是移植性相對較差,因為目標電腦可能沒有這個程序所依賴的庫函數;運行速度也有一定程度的降低,因為需要去調用公共的庫函數。
Linux進程的類型
-
與終端無關:操作系統引導啟動過程中自動啟動
-
與終端有關:需要通過用戶操作等終端啟動
命令的使用格式和類型
大致格式:command [option] 參數。 以date為例:
-
command 類型 命令分為內部命令和外部命令
-
內置命令(shell內置),不論是哪種shell,都必須使用的命令,因此,shell就內置了這些命令。
-
外部命令在文件系統的某個路徑下有一個與命令名稱相應的可執行文件。因此,某種意義上說,內部命令也屬于外部命令的一種。
-
區分內外部命令。用type。內部顯示:builtin command 內建
-
[option ]
-
短選項,-l(字母),多個選項可以組合使用。ls -l -h=ls -lh
-
長選項, –單詞, 一般是不能組合的。
-
[] 中表示可以省略
-
”|“表示多選一
-
<>必須給出的內容,必選
-
….可以使用多個。這個選項可以出現多次
-
{}:分組用的,無特殊意義。
-
參數肯定是文件。但是需要標明路徑。有的情況下可以不用標明,如果作用對象是當前目錄或者它下面的文件就不需要。
原創文章,作者:haoyp,如若轉載,請注明出處:http://www.www58058.com/55092
內容格式把握得很好,希望可以將這段發展史和幾個關鍵性時間點熟知,加油!