跳至內容

Unix/Linux 指南

來自華夏公益教科書

Linux® 是一個 開源Unix®-like 核心和作業系統。核心本身的作者是 Linus Torvalds,再加上一個鬆散的程式設計師團隊,他們在網際網路上透過協作的方式對其進行改進。本頁面簡要概述了 Linux 核心和系統的主要功能,特別是在與其他類 Unix 系統的比較中。還有其他幾本關於 Linux 的華夏公益教科書,其中包含更多資訊。

Linus Torvalds 建議一隻企鵝之後,Larry Ewing (lewing@isc.tamu.edu) 使用 The GIMP 繪製了這張廣受歡迎的 Tux 影像,它是 Linux 的吉祥物。Tux 現在也是一些 Linux 遊戲的英雄。在 Unix 指南 中,“tux” 在示例機器上有一個帳戶。
  • 發行版: 你實際獲得、安裝和執行的 Linux 系統是眾多可用的 Linux 發行版 之一。Linux 發行版(或簡稱“發行版”)是 Linux 核心和應用程式以及一套用於安裝和維護 Linux 系統的程式的捆綁包。
    • 發行版之間存在很大的差異,包括可用軟體包、安裝過程、首選桌面環境,甚至 Linux 核心配置。一些發行版針對不同的目標受眾:可能是家庭使用者、企業使用者、自由軟體 支持者、愛好者或某些應用程式的使用者。
    • 通常,發行版以 CD 或 DVD 形式提供。可以將它們下載為 ISO 格式的原始磁碟映像並燒錄。也可以以零售包裝形式以低廉的價格購買 Linux 發行版。Live CD 或 DVD 允許使用者從光碟啟動並在 RAM 磁碟 而不是 硬碟 上執行 Linux。
    • 對作業系統的中立看法Linux 系統 進行了 比較
    • 維基百科有 Linux 發行版列表
  • 軟體包: 一個完整的 GNU/Linux 作業系統使用來自 BSDX11GNU 和其他專案的許多自由軟體(開源)軟體包。也有一些非自由軟體包,它們沒有原始碼,或者需要購買許可證。每個發行版都會決定提供哪些軟體包。
  • 吉祥物: Linux 的官方吉祥物是 Tux,一隻 Linux 企鵝。

Linux 核心

[編輯 | 編輯原始碼]
  • 版權許可: Linux 核心及其原始碼是在 GNU 通用公共許可證 下發布的。許多使用者空間軟體包也使用此許可證。如果你使用此許可證修改 Linux 或其他軟體包,你可以重新分發你修改後的版本,但你必須使用相同的許可證,這意味著你必須提供原始碼。每個 Linux 供應商都提供 Linux 原始碼。
  • 獨立開發: Linux 核心的開發和維護與使用者空間分離。
    • 在大多數其他類 Unix 系統中,核心至少與基本實用程式集一起維護,其中將包括 shell、shell 實用程式、C 編譯器、C 庫、系統配置實用程式和系統引導指令碼。
    • Linus Torvalds 和他的團隊可以專注於核心(以及查詢和配置核心的使用者空間程式),並讓其他團隊獨立開發使用者空間系統。
    • 核心和使用者空間都維護額外的相容性,以便可以只更新核心,或者只更新某些使用者空間軟體包,例如 C 庫。通常,Linux 發行版供應商會負責使更新正確安裝。
  • 可定製核心: Linux 可能是最可定製的類 Unix 核心。甚至有幾種方法可以在構建核心之前編輯核心配置。
    • 大多數 Linux 構建積極地使用模組(儘管使用模組是可選的)。模組允許單片核心的某些部分(例如裝置驅動程式和網路協議實現)駐留在單獨的檔案中,按需載入並在未使用時解除安裝。
    • 許多系統安裝了多個版本的 Linux 標頭檔案,在/usr/include/linux-版本中。Linux 核心和某些使用者空間軟體(例如 C 庫)都需要這些。在非 Linux 系統上,/usr/include/sys有時會有核心和使用者空間共享使用的檔案。
  • 特殊檔案系統: Linux 有一些特殊的檔案系統,這些檔案系統不用於普通檔案。
    • /proc儲存有關正在執行的程序的資訊。其他類 Unix 系統有時會提供 /proc,但它不像在 Linux 中那樣重要。使用 /proc 的程式通常在移植到非 Linux 系統時會遇到麻煩。
    • /sys儲存有關正在執行的核心的其他資訊。
    • /dev通常是一個動態檔案系統,其中裝置節點會動態地出現和消失,當模組載入或解除安裝時,或者當裝置連線或斷開連線時。但是,你也可以只使用/dev包含靜態裝置節點,就像在其他類 Unix 系統上一樣。

使用者空間

[編輯 | 編輯原始碼]
  • GNU 專案: GNU(GNU's Not Unix)專案建立了類 Unix 系統的 shell、核心命令、C 編譯器和構建工具。然而,他們的核心,Hurd,從未執行良好,因此 GNU 鼓勵使用者使用 Linux 核心。
    • 幾乎每個 Linux 發行版都使用這些程式,這使得它們成為“GNU 斜槓 Linux”發行版。但除了 GNU C 庫和核心命令之外,許多 GNU 工具和應用程式也出現在其他類 Unix 系統上。事實上,*BSD 和 Mac OS X 就像 Linux 一樣,依賴於 GNU C 編譯器、彙編器和連結器。
    • GNU 專案始終堅持使用 GNU 通用公共許可證等許可證提供其軟體包作為自由軟體。
    • GNU 專案還與名為 GNOME(GNU 網路物件模型環境)的桌面環境有關。
  • /lib: 目錄/lib存在於 Linux 上,並儲存由/bin/sbin需要的庫,因為/usr可能未掛載。
  • /usr: 你的 Linux 發行版提供的軟體通常安裝在/usr中,而不是/usr/local中。這樣可以釋放/usr/local適用於您的 Linux 發行版未提供的軟體包。
  • 文字編輯器:大多數發行版都提供傳統的 Unix 編輯器“vi”和“emacs”,但有些發行版預設情況下安裝。即使“ed”也可能缺失。當 GNU “nano”是安裝的非 X11 編輯器時,傳統的 Unix 文字編輯技能不是必需的。
  • 軟體包管理:大多數發行版都提供軟體包管理系統,例如“apt”(高階軟體包工具),“rpm”(Red Hat 軟體包管理器)或 Portage。這些自動化軟體包的安裝和升級。應用程式軟體包和基本系統軟體包都使用此係統。軟體包管理器通常是發行版之間最大的區別。
  • 圖形使用者介面:許多流行的 Linux 發行版現在在安裝後立即將使用者直接引導到桌面環境(GNOME 或 KDE,均基於 X11 視窗系統)。這與一些 Linux 發行版和大多數 *BSD 發行版形成對比,後者會在 root shell 提示符下讓您進入,並期望您使用 root shell 提示符來安裝 X11、GNOME 或 KDE(如果您需要的話)。
  • 原始碼發行版:一些 Linux 發行版,例如 Gentoo,強調從原始碼構建。雖然每個帶有編譯器的 Linux 發行版都讓人有機會從原始碼重新構建 Linux 核心和其他軟體包,但這些原始碼發行版提供了指令碼,不僅可以自動化此過程,還可以幫助系統管理員進行自定義和最佳化。

Linux 管理

[編輯 | 編輯原始碼]

目標:使 Linux 新手掌握必要的管理技能,以便熟練使用 Linux 環境。

Linux 命令和基本 Shell 技能

[編輯 | 編輯原始碼]

系統管理

[編輯 | 編輯原始碼]
  • 定義:Cron 是一個排程程式,它會以一定的時間間隔自動執行一組命令。
  • 配置檔案
    • 1. /etc/crontab - 主配置檔案
    • 2. /etc/cron.d/ - 基於使用者的配置

伺服器管理

[編輯 | 編輯原始碼]

Linux 安全

[編輯 | 編輯原始碼]

桌面 Linux

[編輯 | 編輯原始碼]
[編輯 | 編輯原始碼]

適用於 Linux 的 Wikibooks

[編輯 | 編輯原始碼]

Wikibooks 在其Linux 部分的計算書架上有幾本關於 Linux 的其他書籍。以下是一些示例

此外,一些書籍有關於 Linux 的章節

[編輯 | 編輯原始碼]
[編輯 | 編輯原始碼]

另請參見

[編輯 | 編輯原始碼]
華夏公益教科書