---
# System prepended metadata

title: Linux & Git 新手魔法訓練營：從麻瓜到命令列大師

---

# Linux & Git 新手魔法訓練營：從麻瓜到命令列大師

:::info
- 上課用教材連結：https://drive.google.com/drive/folders/1Qam7X3cq9ngHuN6HNx5bUpQbVMoyco6e?usp=sharing
- WSL2 安裝教學文章：https://hackmd.io/@billsun/BJByCIUHf
:::

:::warning
上課講師聯絡方式：

姓名：吳運凱 Edward Wu
Link:
	GitHub: https://github.com/bluehomewu
	Instagram: https://www.instagram.com/_920223/
	HackMD: https://hackmd.io/@EdwardWu
	Twitter / X: https://twitter.com/EdwardWu0231291
	LinkedIn: https://www.linkedin.com/in/edward-wu-56765a251
    Email: bluehome.wu@gmail.com
:::

對於上課內容有任何問題，都可以聯絡我，向我諮詢。

## 👋 歡迎來到課程！

你好！歡迎來到命令列的魔法世界！

這不是一堂充滿艱澀理論的課。我們的目標是透過大量的動手實作，讓你對 Linux 命令列和 Git 版本控制產生興趣，並建立扎實的基礎。

### 🎓 在這堂課，你將學會：

*   自信地在 Linux 環境下進行檔案操作與管理。
*   看懂並使用最核心的 Git 指令，為個人專案進行版本控制。
*   理解為什麼工程師們都熱愛這些工具，以及它們如何提升工作效率。
*   解鎖一項在科技領域中不可或缺的基礎技能。

準備好了嗎？讓我們開始吧！

---

## ⚙️ Part 0：建立你的魔法實驗室 (環境設定)

在學習魔法前，我們需要一個安全的實驗室。我們將在你的 Windows 電腦裡，蓋一間「模擬房間」，也就是**虛擬機 (Virtual Machine)**。

你在這個房間裡做任何實驗，都不會影響到外面的主屋（你自己的電腦）。

*   **建築工具：** `VMware Workstation Pro`
*   **房間系統：** `Ubuntu 22.04 LTS`

### 📝 操作步驟

| 階段 | 主題 | 操作說明 |
| :--- | :--- | :--- |
| **1** | **取得安裝檔案** | 1. 從講師處取得本日課程所需的檔案，包含：<br>    - VMware Workstation Pro 安裝檔 (`.exe`)<br>    - Ubuntu 22.04 LTS 光碟映像檔 (`.iso`)<br>2. ✨ **好消息！** VMware Workstation Pro 現在已經**開放個人免費使用**。課後你仍可以合法地用它來學習和進行個人專案。 |
| **2** | **安裝 VMware** | 1. 雙擊你取得的 VMware 安裝程式。<br>2. 安裝過程基本上一直點「下一步 (Next)」即可。<br>3. 因為是個人學習使用，**不需要輸入任何授權金鑰**。若看到相關選項，請選擇個人使用 (Personal Use)。<br>4. 安裝完畢後，可能需要重新啟動你的電腦。 |
| **3** | **打造 Linux 電腦** | 1. 啟動 VMware 並選擇「**建立新的虛擬機 (Create a New Virtual Machine)**」。<br>2. 選擇「**標準 (Typical)**」安裝模式。<br>3. 選擇「**安裝程式光碟映像檔 (iso)**」，並點擊「瀏覽」，找到你取得的 `ubuntu-22.04-desktop-amd64.iso`。<br>4. **設定你的 Linux 帳號**：<br>    - **全名 (Full name)**：你的名字<br>    - **使用者名稱 (User name)**：你的帳號（**建議用全小寫英文**）<br>    - **密碼 (Password)**：<br>    > **⚠️  注意：請務必牢記這個密碼！這是你進入 Linux 世界的唯一鑰匙！**<br>5. **命名與位置**：幫你的虛擬機取一個名字，例如 `My-Ubuntu-Lab`。<br>6. **磁碟大小**：建議設定為 `25GB`，並選擇「**將虛擬磁碟分割成多個檔案**」。 |
| **4** | **硬體微調與啟動** | 1. 在最後一步，先**不要**按完成，點擊「**自訂硬體 (Customize Hardware...)**」。<br>2. **記憶體 (Memory)**：為了讓虛擬機跑得更順，建議至少分配 **4GB (4096MB)**。<br>3. **處理器 (Processors)**：建議分配 **2 個處理器核心**。<br>4. 關閉硬體設定，點擊「**完成 (Finish)**」。<br>5. 接下來 VMware 會自動安裝 Ubuntu，過程約 15-30 分鐘，可以休息一下。<br>6. 安裝完畢後，在登入畫面輸入你剛設定的密碼即可進入桌面。 |
| **5** | **學會終極反悔咒：快照** | 1. 成功進入桌面後，我們要先建立一個完美的初始存檔。<br>2. 在 VMware 視窗最上方的功能表，點擊 **虛擬機 (VM) -> 快照 (Snapshot) -> 拍攝快照 (Take Snapshot...)**。<br>3. 將快照命名為「**全新乾淨的系統**」並儲存。<br>4. > 這就是你的安全網！未來不管你在 Linux 裡做了什麼錯誤操作，都可以回到這個完美狀態。請放膽去玩吧！ |

---

## 🐧 Part 1：Linux 基礎 - 踏入命令列的魔法世界

恭喜你，實驗室蓋好了！現在，讓我們打開那個神秘的「黑盒子」——**終端機 (Terminal)**，開始學習真正的魔法咒語。

### ✨ 神技提示

> 在輸入任何檔名或指令時，隨時可以按一下 `Tab` 鍵，系統會自動幫你補完！這能大幅減少打錯字的機率，請務必多加使用！

### 📜 常用指令

| 類別 | 指令與說明 |
| :--- | :--- |
| **初探** | **`echo "Hello World"`**<br>你的第一個指令！`echo` 的作用就像是回音，會把你後面的文字顯示出來。 |
| **導航** | **`pwd`** (Print Working Directory)<br>就像地圖上的「您在這裡」，告訴你目前所在的路徑。<br><br>**`ls`** (List)<br>告訴你「這裡有什麼？」列出當前目錄下的所有檔案和資料夾。<br>常用變化型：`ls -l` (詳細資訊), `ls -a` (包含隱藏檔)。<br><br>**`cd <路徑>`** (Change Directory)<br>你的「傳送門」，用來切換到其他目錄。例如 `cd Desktop` 會移動到桌面。 |
| **檔案操作** | **`mkdir <資料夾名稱>`** (Make Directory)<br>「蓋一間新房子」，建立一個新的資料夾。<br><br>**`touch <檔案名稱>`** (Touch)<br>「創造一張白紙」，建立一個新的空白檔案。<br><br>**`cat <檔案名稱>`** (Concatenate)<br>查看一個檔案的「全部內容」。<br><br>**`cp <來源> <目的地>`** (Copy)<br>複製檔案或資料夾。<br><br>**`mv <來源> <目的地>`** (Move)<br>移動或**重新命名**檔案、資料夾。<br><br>**`rm <檔案名稱>`** (Remove)<br>> **⚠️  毀滅咒語！** 用來刪除檔案，**刪除後無法復原**，請謹慎使用。<br>> `rm -r <資料夾>` 用來刪除整個資料夾。 |
| **工具** | **`nano <檔案名稱>`**<br>一個簡單的文字編輯器，就像 Windows 裡的「記事本」。進入後，按下 `Ctrl+X` 即可退出。<br><br>**`sudo <指令>`** (Superuser Do)<br>「借用管理員權限」，當你需要執行更高權限的指令時使用，會要求你輸入密碼。 |

### 🎯 綜合練習

1.  使用 `cd` 到你的家目錄 (`~`)。
2.  使用 `mkdir` 建立一個名為 `projects` 的資料夾。
3.  `cd` 進入 `projects` 資料夾。
4.  在裡面 `touch` 一個名為 `readme.txt` 的檔案。
5.  使用 `nano readme.txt`，在裡面寫下 "Hello Linux!"，然後儲存退出。
6.  使用 `cat readme.txt` 查看你寫的內容。
7.  使用 `cp readme.txt readme_backup.txt` 複製一個備份檔。
8.  最後使用 `ls -l` 查看你的成果。

---

## 📦 Part 2：Git 版本控制 - 管理你的專案時間軸

你是否經歷過 `報告_final.docx`, `報告_final_v2.docx` 的惡夢？**Git** 就是解決這個問題的終極時光機！

> Git 就像是遊戲裡的「存檔點」。你可以隨時為你的專案建立一個存檔，未來不管發生什麼事，都可以讀取任何一個過去的存檔。

### 🚀 第一步：設定你的時光機

1.  **安裝 Git**
    在終端機輸入 `sudo apt update`，然後輸入 `sudo apt install git`。

2.  **設定你的身份** (讓 Git 知道是誰建立了存檔點)
    `git config --global user.name "你的英文名字"`
    `git config --global user.email "你的Email"`

3.  **啟動時光機**
    在你的專案資料夾底下，輸入 `git init`，Git 就會開始追蹤這個資料夾。

### 核心觀念：存檔三步驟

這是 Git 最重要的觀念！你的檔案有三個區域：
1.  **工作區 (Working Directory)**：你正在編輯檔案的地方，就像你的書桌。
2.  **暫存區 (Staging Area)**：準備要存檔的檔案清單，就像一個購物車。
3.  **倉庫 (Repository)**：你的永久存檔區，就像儲藏室。

**存檔流程：**

| 步驟 | 指令 | 說明 |
| :--- | :--- | :--- |
| **1. 加入** | **`git add <檔案名稱>`** | 將檔案從「書桌」放進「購物車」，準備存檔。 |
| **2. 提交** | **`git commit -m "這次存檔的說明"`** | 將「購物車」裡的所有東西拿去「結帳存檔」，並附上一張收據，說明你這次修改了什麼。 |
| **救星** | **`git status`** | **隨時使用！** Git 會清楚地告訴你目前每個檔案在哪個區域，以及下一步該做什麼。 |

### 🚀 第二步：與夥伴協作 (GitHub)

> **GitHub** 是一個網站，可以把它想像成「**共享的雲端遊戲存檔伺服器**」。

為了安全地和 GitHub 溝通，我們不再使用密碼，而是用一把更安全的「魔法鑰匙 (SSH Key)」。這就像是你的電腦和 GitHub 之間的一個秘密握手，證明你的身份。

### 🎯 綜合練習

#### A. 設定與 GitHub 的安全連線 (SSH Key)

1.  **在本機產生你的魔法鑰匙**
    *   打開終端機，直接輸入以下指令：
        ```bash
        ssh-keygen
        ```
    *   接著，終端機會問你幾個問題，**全部直接按 `Enter`** 接受預設值即可。
        *   `Enter file in which to save the key...`：直接按 `Enter`。
        *   `Enter passphrase...`：直接按 `Enter` (不需要密碼)。
        *   `Enter same passphrase again...`：再次按 `Enter`。
    *   指令完成後，畫面上會告訴你公鑰儲存的路徑，例如 `/home/你的使用者名稱/.ssh/id_rsa.pub` 或 `id_ed25519.pub`。

2.  **複製你的公開鑰匙**
    *   鑰匙有分公鑰（可以給別人）和私鑰（絕對要自己保管好）。我們要將「公鑰」複製到 GitHub。
    *   在終端機輸入以下指令來顯示公鑰內容。**請注意**，檔名可能是 `id_rsa.pub` 或 `id_ed25519.pub`，這取決於系統預設值，兩個都可以。
        ```bash
        # 請根據上一步驟提示的檔名，使用對應的指令
        cat ~/.ssh/id_rsa.pub
        ```
    *   **完整複製**畫面上出現的所有內容，它應該是以 `ssh-rsa` 或 `ssh-ed25519` 開頭。

3.  **將公鑰新增到 GitHub**
    *   前往 [GitHub](https://github.com) 網站，登入你的帳號。
    *   點擊右上角的個人頭像，選擇 **Settings**。
    *   在左邊的選單中，找到並點擊 **SSH and GPG keys**。
    *   點擊綠色的 **New SSH key** 按鈕。
    *   **Title**：給這個鑰匙取一個好記的名字，例如 `My Ubuntu VM`。
    *   **Key**：將你剛剛複製的公鑰內容，完整地貼到這個欄位。
    *   最後點擊 **Add SSH key**。

完成了！你的電腦和 GitHub 已經學會了秘密握手。

#### B. 建立你的第一個雲端專案

1.  前往 [GitHub](https://github.com) 網站，在你的首頁點擊綠色的 **Create a new repository** 按鈕。
2.  **Repository name**：`my-first-repo`。
3.  保持其他設定預設，點擊 **Create repository**。
4.  在下一個頁面，找到 **SSH** 的選項並點擊它。複製那串看起來像 `git@github.com:你的使用者名稱/my-first-repo.git` 的 URL。
5.  回到你的 Linux 終端機，找一個喜歡的地方（例如 `~/projects`），輸入 `git clone <你複製的SSH URL>`。
    ```bash
    git clone git@github.com:你的使用者名稱/my-first-repo.git
    ```
6.  `cd` 進入 `my-first-repo` 資料夾。
7.  `touch hello.txt` 建立一個新檔案。
8.  `git add hello.txt`
9.  `git commit -m "Add hello.txt"`
10. `git push` (現在它會透過 SSH 安全地推送，不會再問你密碼！)
11. 回到你的 GitHub 網頁，重新整理，你會驚喜地發現 `hello.txt` 已經出現在雲端了！

---

## 🎉 恭喜你完成了所有課程！

你已經踏出了成為命令列大師的第一步。這些只是基礎，但卻是未來所有進階技術的基石。多練習，多使用，它們很快就會成為你強大的魔法！

## 延伸閱讀
[Git 番外篇：進階魔法 - 團隊合作的時間線魔法](https://hackmd.io/@GDSC-CYCU/git-advanced-topics)

