緯育 2026-0319
出自頂極製作所
LINUX 課程大綱
本課程以系統化方式建立對 Linux 的完整認識與實務能力,涵蓋過去、現況與未來趨勢,並強調其在現代設備與服務中的核心地位。課程以半天一主題進行:上午導入生態與觀念、安裝並體驗桌面版;下午安裝兩套主流伺服器(Ubuntu 與 CentOS),完成帳號登入與網路連通,若時間不夠至少完成一套。 後續主題延伸:
- 指令基礎
- 文字編輯器
- 網路設定
- 套件安裝
- 檔案權限(預設/延伸/特殊/ACL)
- 帳號與群組
- 磁碟與檔案系統(分割、格式化、掛載、LVM 擴容與資料遷移)
- 系統開機流程(GRUB、init、Kernel)
- 在無圖形介面環境的系統管理(主態檔變更、程序管理、資源監控)
- 文字網路工具(上傳下載、文字瀏覽器)
- 排程與自動化(單次與週期)
- 以及常見伺服器服務的安裝與管理(Web、FTP、rsync、SSH、NFS)。
課程亦對比 Linux 與 Windows 維運心智模型,指出 Linux 架構與維護的清晰與簡潔,並提醒在正式環境禁止冒進更動開機流程與關鍵設定。
Linux 的重要性與普及
- 產業採用度持續攀升,伺服器環境由傳統 Unix 轉向 Linux,比例已超過一半,未來只會更高。
- 消費與智慧設備高度仰賴 Linux:Android 手機、生態系各品牌智慧裝置、家用視訊監控器、智慧門鎖與燈泡等。
- 家用路由器普遍以 Linux 為核心,雖僅提供 Web 管理介面,但內部服務堆疊與常見網頁伺服器一致。
- 桌面版 Linux 已能對應多數 Windows 常用軟體(會議軟體、瀏覽器含 Edge 等),差異逐漸集中在作業系統層面。
發行版生態與就業對應
- 主軸聚焦 Ubuntu 與 CentOS,兩者合計使用比例達七成以上;網通設備導向常用 CentOS,研發導向常用 Ubuntu。
- 具備雙版本經驗可提升面試應對力;理解兩者共通性與差異,可延伸到其他發行版。
- 教學策略:差異大則雙版示範,相同則單版示範、跨版練習;動手操作為主。
無圖形介面環境的操作與系統管理
- 主態檔變更與常見維運:時區與時間設定、程序查詢與終止、記憶體與硬體資源監控。
- 純文字介面操作習慣與便利工具:alias、link、帳號間訊息傳遞;熟練後文字操作更高效。
- 身分驗證(PAM)概念與示範:理解「誰來驗證」的機制與基本配置。
- 文字網路工具:檔案上傳下載、純文字瀏覽器;適用於高安控且無 GUI 的受限環境。
指令、編輯器與網路設定
- 指令基本架構與核心命令:目錄切換、檔案/目錄建立刪除、複製、搬移/改名;掌握 stdin/stdout/stderr、重導向與管線。
- 文字編輯器在設定檔管理中的角色:以兩套編輯器完成主機名稱與固定 IP 設定,對比 Ubuntu/CentOS 操作差異。
- 套件安裝的三種方式:圖形化商店與兩類指令途徑;跨版指令已整理到「只差一個字」等級;理解來源與認證。
檔案權限體系(預設、延伸、特殊、ACL)
- 預設 RWX 權限為通用基礎,可直接以權限判斷目錄可進入與檔案可執行性。
- 延伸屬性提供更細緻控制;特殊權限(setuid/setgid/sticky)在特定情境生效;ACL 允許多使用者共享存取。
- 教學分段:預設/延伸與特殊/ACL 分開講解,降低混淆。
帳號與群組管理
- 新增、刪除、修改、停用與授權;切換帳號與群組。
- 帳號與群組資料儲存於數個文字檔,受權限保護但可讀結構,利於維運與災難復原。
- 對比 Microsoft 權限複雜度,建立跨平台心智模型。
磁碟、檔案系統、掛載與 LVM
- 分割/格式化與檔案系統選擇:Windows(FAT32/NTFS/exFAT)、Linux(ext 系列、XFS 等)、macOS(APFS)。
- 掛載點導向的路徑模型對比 Windows 槽號。
- LVM 擴容與資料遷移:新增硬碟加入容量、不中斷服務移轉資料、拔除舊碟;操作可簡化為少量指令。
系統開機流程與風險
- 三大組件:GRUB、init、Kernel;說明作用與流程,並提醒虛擬機可安全試驗。
- 禁止在客戶環境冒進更改開機流程或關鍵設定,避免系統無法開機。
伺服器服務與防火牆
- 服務安裝與管理:Web、FTP、rsync、SSH、NFS 等,以達成目標功能為教學重心。
- 防火牆學習以原理為主、指令次之;在專門課程中進一步安裝與設定。
作業系統比較與歷史
- Windows 作業系統的演進與特性
- 講師回顧Windows發展史,從極其成功的Windows 95(曾佔全球九成市佔率),到介面風格延續至Windows XP。
- Linux 與蘋果 macOS 的關係
- 蘋果的作業系統macOS是基於BSD,而非Linux。
- 由於Linux與BSD都在模仿UNIX系統,它們從目錄架構到指令用法都幾乎完全相同,因此蘋果電腦可作為學習Linux的工具。
- 蘋果電腦的市場定位與硬體
- 蘋果電腦的全球市佔率長期偏低(約5%-10%),其伺服器產品市佔率也不高。
- 近期推出的Mac mini適合做為學習機,但不適合大型遊戲或AI運算。
Linux 的定義、優點與哲學
- Linux 的「免費」與「自由」概念
- Linux是自由軟體,社群更強調其「自由」(Free)而非「免費」。核心在於「四大自由」:自由複製、自由使用、自由修改、自由散佈。
- Linux 的優點
- 優點一:系統狀態與資訊完全公開:系統狀態透明,病毒和木馬難以隱藏。任何執行的程序都會被清楚顯示。
- 優點二:所有狀態與動作都會被記錄:系統會詳細記錄所有事件,如使用者登入、服務操作、應用程式異常等,駭客需清除日誌才能隱藏蹤跡。
- 優點三:系統穩定,無需頻繁重開機:Linux記憶體管理良好,非常穩定,除非更新核心,否則無需重開機。
- 優點四:核心與使用者介面的分離:Linux核心與使用者介面(如Ubuntu桌面)相對獨立,介面當機不影響核心穩定。
- 優點五:卓越的整體效能:全球頂尖的高效能運算伺服器中,超過八成運行Linux系統。
- 優點六:技術創新的前沿:Linux常率先應用最新技術(如暗黑模式、AI),相較下蘋果和微軟反應較慢。
Linux 的核心哲學
- 工程師導向與技術優先:重視新技術與應用的實現,而非商業目的。
- 一致性與可辨識性:不同發行版(如CentOS、Fedora)之間操作體驗差異不大,具有高度一致性。
- 沒有消息就是好消息:當指令成功執行時,系統不會顯示任何成功訊息,只會跳到下一行命令提示符。這種「沉默是金」的特性源於 "Talk is cheap. Show me the code." 的精神,強調執行效率。
Linux 對初學者的挑戰與迷思
- 操作介面與指令的迷思
- 介面不友善:習慣Windows的使用者初見Linux圖形介面會感不適,這需要時間熟悉,類似於初次接觸macOS。
- 需要記憶大量指令:Linux現有四千多個指令,反映其功能強大,但並非所有操作都需要指令。
- 複雜的目錄架構:初學者認為Linux目錄複雜,但講師指出Windows將軟體安裝在多處(如Program Files、AppData),結構更為複雜且不易清理。
- 軟硬體相容性問題
- 商業軟硬體廠商優先支援市佔率高的Windows,導致Linux用戶在使用最新硬體(如頂級顯示卡)時可能因缺乏驅動程式而遇到問題。建議選擇稍舊一些的硬體以獲得更好相容性。
- 系統回饋與錯誤訊息
- Linux在出錯時可能直接顯示相關程式碼,對非開發者難以理解。相較下,Windows錯誤訊息較簡潔,但可能需要付費聯繫客服。
- 獨立學習與問題解決
- Linux使用者需學習獨立解決問題,如透過指令安裝軟體,並在出錯時查找系統日誌(log)分析錯誤訊息。
自由軟體概念與衍生產品
- 自由軟體的四大自由
- 自由複製:可以自由地複製軟體。
- 自由使用:可以自由地使用軟體。
- 自由修改:可以自由地修改軟體源碼。
- 自由散佈:可以自由地散佈軟體。
- 自由軟體的使用限制與風險
- 不能將修改後的自由軟體源碼隱藏,並聲稱是自己的產品營利。
- 使用自由軟體二次開發的產品,其本身也必須公開源碼,這曾導致台灣廠商一公開源碼,對岸市場就出現大量功能雷同的「公版」產品。
容器技術的發展 (Docker & Kubernetes)
- Docker 的起源與核心概念
- Docker源於一家公司將Linux中繁瑣的容器啟動步驟用Go語言寫成腳本,以簡化流程。後將此工具開源而爆紅。
- Docker的核心價值在於將Linux既有的技術進行封裝,提供簡單的指令(如docker run)來啟動和管理應用程式。
- Kubernetes (K8S) 的角色
- K8S(因K和S之間有8個字母得名)是一個容器管理軟體,用於管理眾多不同來源的容器(如Docker、AWS容器等)。
- 學習K8S時,仍需了解底層容器技術(如Docker)的指令,以便進行問題排查。
主流作業系統分類
- Windows
- 個人版: 如Windows 10, 11等。
- 伺服器版: 如Windows Server系列。
- 開發版: Windows Core。
- UNIX (純正血統)
- 目前已不多見,主要由IBM的AIX和HP的HP-UX維護。
- BSD (Berkeley Software Distribution)
- 常見的有FreeBSD、NetBSD、OpenBSD。macOS的底層基於BSD發展而來。
- Linux
- 擁有數以千計的衍生版本,對初學者易造成選擇困難。
- 第一大類 (Red Hat 及其衍生版):
- Red Hat: 商業版,需付費訂閱。
- CentOS: 免費版,內容源自Red Hat,在台灣伺服器市場廣泛使用。
- Fedora: 常被用於教學。
- 第二大類 (Debian 及其衍生版):
- Debian: 穩定且歷史悠久的發行版。
- Ubuntu: 本次課程使用的系統,基於Debian開發。
- SteamOS: 遊戲掌機Steam Deck的系統,早期基於Debian,3.0後改為基於Arch Linux。
- Arch Linux: 另一個重要的Linux發行版。