第三課 Linux縱覽 1. Linux 內核 內核是系統的心髒,是運行程序和管理像磁盤和打印機等硬件設備的核心程序。它從用戶那裡接受命令並把命令送給內核去執行。 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 版本。 3. Linux 文件結構 文件結構是文件存放在磁盤等存儲設備上的組織方法。主要體現在對文件和目錄的組織上。目錄提供了管理文件的一個方便而有效的途徑。我們能夠從一個目錄切換到另一個目錄,而且可以設置目錄和文件的權限,設置文件的共享程度。 使用 Linux ,用戶可以設置目錄和文件的權限,以便允許或拒絕其他人對其進行訪問。 Linux 目錄采用多級樹形結構,圖 1.1 表示了這種樹形等級結構。用戶可以浏覽整個系統,可以進入任何一個已授權進入的目錄,訪問那裡的文件。 文件結構的相互關聯性使共享數據變得容易,幾個用戶可以訪問同一個文件。 Linux 是一個多用戶系統,操作系統本身的駐留程序存放在以根目錄開始的專用目錄中,有時被指定為系統目錄。圖 1.1 中那些根目錄下的目錄就是系統目錄。 [[The No.1 Picture.]] 內核, Shell 和文件結構一起形成了基本的操作系統結構。它們使得用戶可以運行程序,管理文件以及使用系統。此外, Linux 操作系統還有許多被稱為實用工具的程序,輔助用戶完成一些特定的任務。 4. Linux 實用工具 標准的 Linux 系統都有一套叫做實用工具的程序 , 它們是專門的程序,例如編輯器、執行標准的計算操作等。用戶也可以產生自己的工具。 實用工具可分三類 : 編輯器:用於編輯文件。 過濾器:用於接收數據並過濾數據。 交互程序:允許用戶發送信息或接收來自其他用戶的信息。 Linux 的編輯器主要有: Ed 、 Ex 、 Vi 和 Emacs 。 Ed 和 Ex 是行編輯器, Vi 和 Emacs 是全屏幕編輯器。 Linux 的過濾器( Filter )讀取從用戶文件或其他地方的輸入,檢查和處理數據,然後輸出結果。從這個意義上說,它們過濾了經過它們的數據。 Linux 有不同類型的過濾器,一些過濾器用行編輯命令輸出一個被編輯的文件。另外一些過濾器是按模式尋找文件並以這種模式輸出部分數據。還有一些執行字處理操作,檢測一個文件中的格式,輸出一個格式化的文件。 過濾器的輸入可以是一個文件,也可以是用戶從鍵盤鍵入的數據,還可以是另一個過濾器的輸出。過濾器可以相互連接,因此,一個過濾器的輸出可能是另一個過濾器的輸入。在有些情況下,用戶可以編寫自己的過濾器程序。 交互程序是用戶與機器的信息接口。 Linux 是一個多用戶系統,它必須和所有用戶保持聯系。信息可以由系統上的不同用戶發送或接收。信息的發送有兩種方式,一種方式是與其他用戶一對一地鏈接進行對話,另一種是一個用戶對多個用戶同時鏈接進行通訊,即所謂廣播式通訊。