關聯筆記:Google Cybersecurity Certificate > C4 課程總覽


C4W2 — Linux 作業系統(The Linux operating system)

Module 2: 認識 Linux 的架構、發行版和 Shell

目錄


一、Linux 簡介

1. Linux 的起源

Linux 誕生於 1990 年代初期,由兩個人的工作合流而成:

人物貢獻目標
Linus Torvalds開發了 Linux kernel(核心)改進 UNIX,讓它開源、任何人都能使用
Richard Stallman開發了 GNU(基於 UNIX 的作業系統)建立完全自由、開源的軟體生態

Stallman 的 GNU 缺少一個 kernel,Torvalds 的 kernel 剛好補上這個缺口——兩者結合就是我們今天說的「Linux」。

Linux 及其許多附帶程式採用 GNU Public License(GPL) 授權,允許任何人自由使用、分享和修改。


2. Linux 的三大特色

特色說明
完全開源任何人都能存取原始碼,整個開發者社群共同協作改進
高度客製化超過 600 種發行版(distributions),針對不同用途設計
資安產業標配許多安全工具和程式原生支援 Linux,是資安分析師的日常工具

3. 資安分析師如何使用 Linux

在入門級資安崗位中,你會用 Linux 來:

使用場景說明
檢視日誌查看各種系統日誌(例如錯誤日誌)來調查系統問題
身份與存取管理驗證存取權限和授權(identity and access management),確保系統安全
使用專門發行版用數位鑑識(digital forensics)工具調查警報事件,或用滲透測試(pen testing)工具在攻擊性安全中尋找漏洞

二、Linux 架構

1. 六層架構總覽

Linux 的架構由六個元件組成,就像建築的不同樓層,每層各有功能:

使用者(User)
    ↓  發起操作
應用程式(Applications)
    ↓  透過套件管理器安裝和管理
Shell(命令列直譯器)
    ↓  把使用者的指令翻譯給 kernel
檔案系統階層標準(FHS)── 組織資料的存放位置
    ↓
Kernel(核心)── 管理程序和記憶體
    ↓  透過驅動程式與硬體溝通
Hardware(硬體)── 實體元件

2. 各層詳細說明

User(使用者)

使用者是與電腦互動的人,負責發起任務和指令。Linux 是多使用者系統(multi-user system),代表多個使用者可以同時使用同一台機器的資源。

Applications(應用程式)

應用程式是執行特定任務的程式(如文字編輯器、計算機)。在 Linux 中:

  • 有些應用程式預裝在系統上(如計算機、日曆)
  • 其他需要透過**套件管理器(package manager)**安裝
  • 常用範例:Nano(文字編輯器)

套件(Package)

一個套件是一塊可以跟其他套件結合形成應用程式的軟體。套件包含安裝應用程式所需的檔案,包括依賴項(dependencies)——執行應用程式所需的輔助檔案。

Shell(命令列直譯器)

Shell 是 Linux 架構中你會最常互動的部分。它是文字型的命令列直譯器,負責:

  • 接收你輸入的文字指令
  • 把指令翻譯給 kernel 執行
  • 把結果回傳給你

可以把 Shell 想成你和電腦之間的翻譯員——你不會說二進位語言,Shell 幫你溝通。

Filesystem Hierarchy Standard(FHS,檔案系統階層標準)

FHS 是 Linux 組織資料的方式,規定了資料在 OS 中的存放位置。

  • 目錄(Directory):組織其他檔案存放位置的檔案,也叫「資料夾」
  • 目錄可以包含檔案或其他目錄
  • FHS 定義了目錄結構,讓 OS 知道去哪裡找特定資料

可以把 FHS 想成一個檔案櫃——每個抽屜有標籤,資料按規則分類存放。

Kernel(核心)

Kernel 是 Linux OS 中管理程序和記憶體的元件,是 Linux 特有的核心。它負責:

  • 跟應用程式溝通,轉發指令
  • 透過**驅動程式(drivers)**讓應用程式執行任務
  • 控制硬體的所有主要功能
  • 有效分配系統資源,讓系統跑得更快

Hardware(硬體)

硬體是電腦的實體元件,分為兩類:

類別說明範例
周邊裝置(Peripheral devices)連接在電腦上、可以自由新增或移除的外部設備螢幕、印表機、鍵盤、滑鼠
內部硬體(Internal hardware)電腦運作必需的核心元件,裝在主機板(motherboard)上CPU、RAM、硬碟

三大內部硬體:

元件功能資料特性
CPU(中央處理器)電腦的主要處理器,執行程式提供的指令從 RAM 讀取資料來跑程式
RAM(隨機存取記憶體)短期記憶體,暫存執行中的資料程式關閉或電腦關機後資料消失
Hard drive(硬碟)長期記憶體,儲存程式和檔案關機後資料仍在,電腦可以有多顆硬碟

三、Linux 發行版

1. 什麼是發行版(Distribution)

因為 Linux kernel 是開源的,任何人都可以拿去修改、建立新版本——這些不同版本就叫發行版(distributions / distros)。目前有超過 600 種。

車輛比喻:kernel 就像引擎。車廠拿同一顆引擎做出卡車、轎車、公車、飛機——就像開發者拿同一個 kernel 建出不同發行版,各有不同的預裝程式、介面和用途。

每個發行版都包含:

  • Linux kernel
  • 工具程式(utilities)
  • 套件管理系統(package management system)
  • 安裝程式(installer)

2. 發行版家族關係

所有發行版都衍生自某個母發行版(parent distribution):

Debian
├── Ubuntu
├── KALI LINUX™
└── Parrot
 
Red Hat®
├── CentOS(2021 年最後穩定版)
├── AlmaLinux(CentOS 的替代品)
└── ...
 
Slackware®
└── SUSE®

3. 資安常用發行版比較

發行版基於特色適用場景
KALI LINUX™Debian預裝大量滲透測試和數位鑑識工具滲透測試、數位鑑識
UbuntuDebian使用者友善,同時有 CLI 和 GUI,社群資源豐富通用安全工作、雲端運算
ParrotDebian預裝安全工具,GUI 友善滲透測試、數位鑑識
Red Hat® Enterprise Linux®Red Hat訂閱制(付費),提供專屬客服支援企業環境
AlmaLinuxRed Hat社群驅動,CentOS 8 的直接替代品(drop-in replacement)企業環境(免費替代方案)

4. KALI LINUX™ 深入介紹

KALI LINUX™ 是資安領域最廣泛使用的發行版之一,由 Offensive Security 開發。

使用注意

KALI LINUX™ 應該在虛擬機(VM)中使用,避免其工具被不當使用時損壞主系統。使用 VM 還有一個好處:可以還原到先前狀態。

滲透測試工具:

工具用途
Metasploit尋找並利用機器上的漏洞
Burp Suite測試 Web 應用程式的弱點
John the Ripper猜測密碼(密碼破解)

數位鑑識工具:

工具用途
tcpdump命令列封包分析器,用於擷取網路流量
Wireshark圖形介面網路流量分析工具,可分析即時和已擷取的網路封包
Autopsy分析硬碟和智慧型手機的鑑識工具

滲透測試(Penetration Test)

一種模擬攻擊,幫助找出系統、網路、網站、應用程式和流程中的漏洞。資安專業人員隨著職涯發展,有些會專精於滲透測試。

數位鑑識(Digital Forensics)

收集和分析資料以判斷攻擊發生後發生了什麼事的過程。例如調查與網路活動相關的資料。


四、套件管理系統

1. 套件與套件管理器

概念說明
套件(Package)一塊軟體,可以跟其他套件結合形成應用程式。有些套件大到足以獨立成為應用程式
依賴項(Dependencies)執行應用程式所需的輔助檔案,包含在套件中
套件管理器(Package manager)幫助使用者安裝、管理和移除套件或應用程式的工具。也能處理依賴項問題

保持更新

應盡可能使用套件的最新版本。最新版本包含最新的 bug 修復和安全補丁(security patches),有助於保持系統安全。


2. 套件管理器 vs 套件管理工具

Linux 有兩層套件管理系統:底層的套件管理器和上層的套件管理工具。

層級Debian 系Red Hat 系說明
底層:套件管理器dpkg(.deb 檔案)RPM(.rpm 檔案)直接處理套件檔案
上層:套件管理工具APT(Advanced Package Tool)YUM(Yellowdog Updater Modified)透過命令列介面更方便地管理套件,處理搜尋、安裝等日常操作

檔案命名格式:

  • Debian 系:Package_Version-Release_Architecture.deb
  • Red Hat 系:Package-Version-Release_Architecture.rpm

五、Shell 基礎

1. Shell 是什麼

Shell 就是命令列直譯器(command-line interpreter)——你在裡面輸入指令,Shell 翻譯給 kernel 執行,再把結果回傳給你。

Shell 讓你可以:

  • 執行數學運算
  • 執行測試
  • 執行應用程式
  • 組合操作、連結應用程式,執行複雜的自動化任務

2. Shell 的種類

就像 Linux 有很多發行版,Shell 也有很多種類:

Shell全名提示符號說明
bashBourne-Again Shell$大多數 Linux 發行版的預設 Shell,資安領域最常用
cshC Shell—語法類似 C 語言
kshKorn Shell$—
tcshEnhanced C Shell—csh 的增強版
zshZ Shell%功能豐富的現代 Shell

所有 Linux Shell 都使用相同的基本 Linux 指令,但在其他功能上可能有所不同(例如提示符號)。

本課程使用 Bash

Bash 是大多數 Linux 發行版的預設 Shell,也是資安領域最常用的 Shell。後續課程會學習在 Bash 中輸入 Linux 指令。


3. 標準輸入、輸出與錯誤

跟 Shell 溝通就像跟朋友對話:你問問題、朋友回答;如果朋友不知道答案,會跟你說不知道。

概念英文說明類比
標準輸入Standard input (stdin)透過命令列傳給 OS 的資訊(你從鍵盤輸入的指令)你問朋友一個問題
標準輸出Standard output (stdout)OS 透過 Shell 回傳的資訊(指令的執行結果)朋友給你回答
標準錯誤Standard error (stderr)OS 透過 Shell 回傳的錯誤訊息朋友說「我不知道」或「你問錯了」

常見觸發 stderr 的情況:

  • 指令拼錯
  • 系統不認識該指令
  • 沒有足夠的權限執行指令

字串資料(String data)

由一串有序字元組成的資料。例如 echo hello 中的 hello 就是字串資料。可以用引號包住字串(如 echo "hello"),告訴 Shell 將整串字元視為一組。


六、術語速查表

術語英文定義
應用程式Application執行特定任務的程式
BashBourne-Again Shell大多數 Linux 發行版的預設 Shell
中央處理器CPU (Central Processing Unit)電腦的主要處理器,執行一般運算任務
指令Command告訴電腦做某件事的指示
數位鑑識Digital forensics收集和分析資料以判斷攻擊後發生了什麼事
目錄Directory組織其他檔案存放位置的檔案
發行版DistributionsLinux 的不同版本
檔案路徑File path檔案或目錄的位置
檔案系統階層標準Filesystem Hierarchy Standard (FHS)Linux OS 中組織資料的元件
硬碟Hard drive用於長期記憶的硬體元件
內部硬體Internal hardware電腦運作必需的元件
Kernel—Linux OS 中管理程序和記憶體的元件
套件Package可與其他套件結合形成應用程式的軟體
套件管理器Package manager幫助使用者安裝、管理和移除套件的工具
周邊裝置Peripheral devices連接在電腦上、可自由新增移除的硬體元件
滲透測試Penetration test (pen test)模擬攻擊,幫助找出系統漏洞
Shell—命令列直譯器
標準錯誤Standard errorOS 透過 Shell 回傳的錯誤訊息
標準輸入Standard input透過命令列傳給 OS 的資訊
標準輸出Standard outputOS 透過 Shell 回傳的資訊
字串資料String data由一串有序字元組成的資料

關聯筆記:C4W1 作業系統入門 · C4W3 Bash 指令


筆記建立日期:2026-05-27 | 最後更新:2026-05-27