自學Linux--系統介紹
1. Linux的組成部分
Linux一般有四個主要部分:內核、Shell、文件結構和實用工具。
1.1 Linux內核
內核是系統的心髒,是運行程序和管理像磁盤和打印機等硬件設備的核心程序。它從用戶那裡接受命令並把命令送給內核去執行。
1.2 Linux Shell
Shell是系統的用戶界面,提供了用戶與內核進行交互操作的一種接口。它接收用戶輸入的命令並把它送入內核去執行。
實際上Shell是一個命令解釋器,它解釋由用戶輸入的命令並且把它們送到內核。
不僅如此,Shell有自己的編程語言用於對命令的編輯,它允許用戶編寫由shell命令組成的程序。
Shell編程語言具有普通編程語言的很多特點,比如它也有循環結構和分支控制結構等,用這種編程語言編寫的Shell程序與其他應用程序具有同樣的效果。
Linux提供了像Microsoft Windows那樣的可視的命令輸入界面--X Window的圖形用戶界面(GUI)。它提供了很多窗口管理器,其操作就象Windows一樣,有窗口、圖標和菜單,所有的管理都是通過鼠標控制。現在比較流行的窗口管理器是KDE和GNOME。
每個Linux系統的用戶可以擁有他自己的用戶界面或Shell,用以滿足他們自己專門的Shell需要。 同Linux本身一樣,Shell也有多種不同的版本。
目前主要有下列版本的Shell:
Bourne Shell:是貝爾實驗室開發的。
BASH:是GNU的Bourne Again Shell,是GNU操作系統上默認的shell。
Korn Shell:是對Bourne SHell的發展,在大部分內容上與Bourne Shell兼容。
C Shell:是SUN公司Shell的BSD版本。
1.3 Linux 文件結構
文件結構是文件存放在磁盤等存儲設備上的組織方法。主要體現在對文件和目錄的組織上。目錄提供了管理文件的一個方便而有效的途徑。我們能夠從一個目錄切換到另一個目錄,而且可以設置目錄和文件的權限,設置文件的共享程度。
使用Linux,用戶可以設置目錄和文件的權限,以便允許或拒絕其他人對其進行訪問。Linux目錄采用多級樹形結構,圖1.1表示了這種樹形等級結構。用戶可以浏覽整個系統,可以進入任何一個已授權進入的目錄,訪問那裡的文件。
文件結構的相互關聯性使共享數據變得容易,幾個用戶可以訪問同一個文件。Linux是一個多用戶系統,操作系統本身的駐留程序存放在以根目錄開始的專用目錄中,有時被指定為系統目錄。圖1.1中那些根目錄下的目錄就是系統目錄。
內核,Shell和文件結構一起形成了基本的操作系統結構。它們使得用戶可以運行程序,管理文件以及使用系統。此外,Linux操作系統還有許多被稱為實用工具的程序,輔助用戶完成一些特定的任務。
圖1.1 Linux目錄結構
1.4 Linux 實用工具
標准的Linux系統都有一套叫做實用工具的程序,它們是專門的程序,例如編輯器、執行標准的計算操作等。用戶也可以產生自己的工具。
實用工具可分三類:
編輯器:用於編輯文件。
過濾器:用於接收數據並過濾數據。
交互程序:允許用戶發送信息或接收來自其他用戶的信息。
Linux的編輯器主要有:Ed、Ex、Vi和Emacs。Ed和Ex是行編輯器,Vi和Emacs是全屏幕編輯器。
Linux的過濾器(Filter)讀取從用戶文件或其他地方的輸入,檢查和處理數據,然後輸出結果。從這個意義上說,它們過濾了經過它們的數據。
Linux有不同類型的過濾器,一些過濾器用行編輯命令輸出一個被編輯的文件。
另外一些過濾器是按模式尋找文件並以這種模式輸出部分數據。
還有一些執行字處理操作,檢測一個文件中的格式,輸出一個格式化的文件。
過濾器的輸入可以是一個文件,也可以是用戶從鍵盤鍵入的數據,還可以是另一個過濾器的輸出。
過濾器可以相互連接,因此,一個過濾器的輸出可能是另一個過濾器的輸入。在有些情況下,用戶可以編寫自己的過濾器程序。
交互程序是用戶與機器的信息接口。
Linux是一個多用戶系統,它必須和所有用戶保持聯系。信息可以由系統上的不同用戶發送或接收。信息的發送有兩種方式,一種方式是與其他用戶一對一地鏈接進行對話,另一種是一個用戶對多個用戶同時鏈接進行通訊,即所謂廣播式通訊。
2. Linux特性
2.1 開放性
開放性是指系統遵循世界標准規范,特別是遵循開放系統互連(OSI)國際標准。凡遵循國際標准所開發的硬件和軟件,都能彼此兼容,可方便地實現互連。
2.2 多用戶
多用戶是指系統資源可以被不同用戶各自擁有使用,即每個用戶對自己的資源(例如:文件、設備)有特定的權限,互不影響。Linux和Unix都具有多用戶的特性。
2.3 多任務
多任務是現代計算機的最主要的一個特點。它是指計算機同時執行多個程序,而且各個程序的運行互相獨立。Linux系統調度每一個進程平等地訪問微處理器。由於CPU的處理速度非常快,其結果是,啟動的應用程序看起來好像在並行運行。事實上,從處理器執行一個應用程序中的一組指令到Linux調度微處理器再次運行這個程序之間只有很短的時間延遲,用戶是感覺不出來的。
2.4 良好的用戶界面
Linux向用戶提供了兩種界面:用戶界面和系統調用。Linux的傳統用戶界面是基於文本的命令行界面,即shell,它既可以聯機使用,又可存在文件上脫機使用。shell有很強的程序設計能力,用戶可方便地用它編制程序,從而為用戶擴充系統功能提供了更高級的手段。可編程Shell是指將多條命令組合在一起,形成一個Shell程序,這個程序可以單獨運行,也可以與其他程序同時運行。
系統調用給用戶提供編程時使用的界面。用戶可以在編程時直接使用系統提供的系統調用命令。系統通過這個界面為用戶程序提供低級、高效率的服務。
Linux還為用戶提供了圖形用戶界面。它利用鼠標、菜單、窗口、滾動條等設施,給用戶呈現一個直觀、易操作、交互性強的友好的圖形化界面。
2.5 設備獨立性
設備獨立性是指操作系統把所有外部設備統一當作成文件來看待,只要安裝它們的驅動程序,任何用戶都可以象使用文件一樣,操縱、使用這些設備,而不必知道它們的具體存在形式。
具有設備獨立性的操作系統,通過把每一個外圍設備看作一個獨立文件來簡化增加新設備的工作。當需要增加新設備時、系統管理員就在內核中增加必要的連接。這種連接(也稱作設備驅動程序)保證每次調用設備提供服務時,內核以相同的方式來處理它們。當新的及更好的外設被開發並交付給用戶時,操作允許在這些設備連接到內核後,就能不受限制地立即訪問它們。設備獨立性的關鍵在於內核的適應能力。其他操作系統只允許一定數量或一定種類的外部設備連接。而設備獨立性的操作系統能夠容納任意種類及任意數量的設備,因為每一個設備都是通過其與內核的專用連接獨立進行訪問。
Linux是具有設備獨立性的操作系統,它的內核具有高度適應能力,隨著更多的程序員加入Linux編程,會有更多硬件設備加入到各種Linux內核和發行版本中。另外,由於用戶可以免費得到Linux的內核源代碼,因此,用戶可以修改內核源代碼,以便適應新增加的外部設備。
2.6 提供了豐富的網絡功能
完善的內置網絡是Linux的一大特點。 Linux在通信和網絡功能方面優於其他操作系統。其他操作系統不包含如此緊密地和內核結合在一起的連接網絡的能力,也沒有內置這些聯網特性的靈活性。而Linux為用戶提供了完善的、強大的網絡功能。
支持Internet是其網絡功能之一。Linux免費提供了大量支持Internet的軟件,Internet是在Unix領域中建立並繁榮起來的,在這方面使用Linux是相當方便的,用戶能用Linux與世界上的其他人通過Internet網絡進行通信。
文件傳輸是其網絡功能之二。用戶能通過一些Linux命令完成內部信息或文件的傳輸。
遠程訪問是其網絡功能之三。Linux不僅允許進行文件和程序的傳輸,它還為系統管理員和技術人員提供了訪問其他系統的窗口。通過這種遠程訪問的功能,一位技術人員能夠有效為多個系統服務,即使那些系統位於相距很遠的地方。
2.7 可靠的系統安全
Linux采取了許多安全技術措施,包括對讀、寫進行權限控制、帶保護的子系統、審計跟蹤、核心授權等,這為網絡多用戶環境中的用戶提供了必要的安全保障。
2.8 良好的可移植性
可移植性是指將操作系統從一個平台轉移到另一個平台使它仍然能按其自身的方式運行的能力。
Linux是一種可移植的操作系統,能夠在從微型計算機到大型計算機的任何環境中和任何平台上運行。可移植性為運行Linux的不同計算機平台與其他任何機器進行准確而有效的通信提供了手段,不需要另外增加特殊的和昂貴的通信接口。