跳轉到內容

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 Window System 的介面,您可以透過一個名為控制檯模擬器或終端模擬器的程式訪問 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 程式設計;那是本書 程式設計:C 的工作。但是,本書的計劃新增部分將描述如何構建和執行 Unix 程式,以便您獲得它們的 C 原始碼。

核心和使用者空間

[編輯 | 編輯原始碼]

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

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

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

如今,一個非常流行的核心是 LinuxLinux 符合 免費開源 的標準;即使 Linux 為數百萬使用者執行伺服器,也不需要支付許可費。Linux 通常與 GNU 結合起來,形成像 UNIX 一樣的作業系統,GNU/Linux(雖然有些情況下它沒有與 GNU 結合)。因此,家庭使用者獲取像 Unix 一樣的系統的簡單方法是安裝一個包含友好桌面的 GNU/Linux 發行版。

當我們需要配置網路連線、儲存系統或硬體的其他部分時,通常需要使用特殊的實用程式來配置執行的核心。本書將介紹其中一些程式。

中立的觀點

[編輯 | 編輯原始碼]

本書旨在保持中立的觀點。因此,本書並不聲稱 Unix 始終是任何任務的最佳選擇。它將同時提及類 Unix 系統的優缺點。


華夏公益教科書