跳轉到內容

Unix 指南/Unix 類系統

來自華夏公益教科書

許多 伺服器 和一些 工作站 上安裝的 作業系統Unix 類系統。但什麼是 Unix 一樣?在這本書中,一個 Unix 類系統是指類似於 *BSDGNU/LinuxSolaris原始 Unix 的系統。如今,Mac OS X 也被認為是 Unix 類系統。

一般概念

[編輯 | 編輯原始碼]

與普通計算機使用者熟悉的 (點選式) (圖形使用者介面) 不同,Unix 上的工作通常以基於文字的方式完成,透過所謂的 (命令列 Shell)。

與 (單使用者) 作業系統不同,單使用者作業系統僅允許一個人在特定時間使用計算機,Unix 是一個多使用者系統,允許多個使用者同時訪問計算機。通常,這是透過讓使用者 (遠端) 透過數字網路訪問系統來實現的。

無論是否 (遠端) 訪問,使用者都需要一個 (使用者帳戶) 才能獲得系統訪問許可權;用於計費、安全、日誌記錄和資源管理。

由於每個特定的使用者帳戶對系統及其資源的控制程度不同,因此能夠驗證給定使用者的真實身份至關重要,因此存在一種方法可以將每個使用者帳戶 (使用者名稱) 與相應的 (密碼) 進行驗證;在一個稱為 (登入) 的過程中。

所有 Unix 類系統都是相似的。與許多伺服器作業系統一樣,Unix 類系統可以同時託管多個使用者和程式。某些功能特定於 Unix 類系統。Unix 類系統提供了一個通用的 命令列介面,稱為 Shell。它們還為 C 語言 提供了一個通用的程式設計介面。後一點使得大多數 Unix 類系統能夠執行相同的 應用程式軟體桌面環境

Unix 在程式設計師中很受歡迎,原因有很多。它流行的一個主要原因是其構建塊方法,其中一系列簡單的工具可以串聯起來以產生非常複雜的結果。另一個原因是“一切皆檔案”的理念,這意味著可以對不同的檔案型別(目錄與普通檔案)、硬體裝置,甚至系統程序執行一套標準化的操作和功能。

Shell 是 Unix 類系統獨有的程式。它允許您鍵入命令來啟動其他程式。

當您透過純文字終端登入到系統時,Unix 會為您提供一個登入 Shell。如果您的系統具有 圖形使用者介面,例如 GNOMEKDE,或任何使用 X 視窗系統 的介面,您可以透過一個稱為控制檯模擬器或終端模擬器的程式訪問 Shell。這模擬了 Shell 執行所需的純文字終端。

不幸的是,Shell 和命令很難學習。此外,許多命令需要“引數”才能正常工作。例如,rm 命令用於刪除檔案,它需要一個或多個命名要刪除檔案的“引數”。本書中有一章 解釋/Shell 提示符 介紹了 Shell 及其許多功能。

可以透過將 Shell 命令儲存到名為 Shell 指令碼 的文字檔案中來自動化任務。例如,Shell 指令碼用於啟動系統。

Unix Shell 是 Unix 類系統獨有的。實際上,Unix 有多個 Shell 可用。這些 Shell 以不同的方式擴充套件其功能。對於“Bourne 相容” Shell,華夏公益教科書 Bourne Shell 指令碼 對它們進行了描述。大多數 Shell 指令碼都是用於 Bourne 相容 Shell 的。

Unix 是流行的 C 語言 的起源。計算機上的每個程式都連結到 C 庫,該庫提供了基本的系統功能,包括對核心的訪問。即使應用程式是用另一種語言編寫的,比如 C++,它仍然連結到 C 庫。像 perl 這樣的解釋語言需要連結到 C 庫的 perl 直譯器。

對 C 的依賴可能是一個缺點。大多數 Unix 類核心完全用 C 編寫;最常見的程式使用 C、C++Objective-C。很難用另一種語言(如 Fortran)向這些程式新增程式碼。相反,一些非 Unix 系統允許不同的程式語言更容易地互動。

本書不介紹如何用 C 程式設計;這是書 Programming:C 的工作。但是,本書的計劃補充部分將描述如何構建和執行 Unix 程式,當您獲得它們的 C 原始碼時。

核心和使用者空間

[編輯 | 編輯原始碼]

每個 Unix 類系統都有一個 核心。這個程式控制著計算機 硬體

系統上的所有其他程式都是 使用者空間 的一部分,這意味著在核心之外。核心在所有正在執行的使用者空間程式之間共享系統。要使用鍵盤、網路連線或硬體的其他部分,使用者空間程式必須使用 系統呼叫 聯絡核心。核心允許多個程式安全地共享硬體。它還將程式切換進出 處理器;因此它是一個“多工”核心。

例如,像 Apache 這樣的 Web 伺服器,可以透過核心同時與多個 Web 瀏覽器建立多個網路連線。同一臺計算機也可以執行其他伺服器程式。作為另一個例子,桌面系統上的使用者(例如,使用 GNOMEKDEXfce)可以同時開啟多個視窗,其中包含檔案管理器、文字處理器和遊戲。當檔案管理器複製檔案,文字處理器列印文件時,使用者可以同時玩一個俄羅斯方塊克隆。

如今,一個非常流行的核心是 LinuxLinux 被認為是 免費開源 的;即使 Linux 執行著為數百萬使用者提供服務的伺服器,也沒有許可費。Linux 通常與 GNU 結合起來,形成類似 UNIX 的作業系統 GNU/Linux(儘管在某些情況下它沒有與 GNU 結合使用)。因此,家庭使用者獲得類似 Unix 系統的簡單方法是安裝包含友好的桌面的 GNU/Linux 發行版。

當我們想要配置網路連線、儲存系統或硬體的其他部分時,我們通常必須使用專門的實用程式來配置正在執行的核心。本書中描述了其中的一些程式。

中立觀點

[編輯 | 編輯原始碼]

本書的目的是保持 中立觀點。因此,本書沒有聲稱 Unix 始終是任何任務的最佳選擇。它會提到 Unix 類系統的優缺點。


華夏公益教科書