這一課完成後:你會知道 Terminal 現在位於哪個資料夾,能查看內容、切換位置、建立資料夾,也能看懂一條指令最基本的結構。

先做:在專案裡打開 Terminal

先用 VS Code 開啟上一課的 norelyn-first-project。接著從選單選擇 Terminal → New Terminal。畫面下方會出現一個可以輸入文字的區域。

你看到的可能是 PowerShell、Command Prompt、zsh 或 bash。不同系統的提示符號長得不一樣,現在不用在意。真正重要的是:這個 Terminal 有一個目前所在的位置。

VS Code 開啟專案 → Terminal 從某個資料夾開始 → 指令在那個位置執行

第一件事不是下指令,而是確認自己在哪

如果你使用 PowerShell、bash 或 zsh,輸入:

pwd

pwd 是 print working directory 的縮寫,也就是「顯示目前工作目錄」。你應該看到一條指向 norelyn-first-project 的路徑。

例如 Windows 可能接近:

C:\Users\YourName\Projects\norelyn-first-project

macOS 或 Linux 可能接近:

/Users/yourname/Projects/norelyn-first-project

實際路徑一定會依你的電腦不同。不要照抄範例;你要看的是最後是不是自己那個專案。

Windows Command Prompt:如果你使用的是傳統 CMD,提示符號本身通常已經顯示目前路徑,也可以輸入 cd 查看。

你上一課學的「路徑」,現在真的派上用場了

Terminal 不會看著你的滑鼠游標猜「我大概想操作這裡」。它會從目前工作目錄出發,解讀你給它的路徑。

假設現在位於:

norelyn-first-project/

那麼 docs/about.txt 就代表:

目前位置 → docs → about.txt

這就是相對路徑。相對於「你現在在哪裡」,去找下一個位置。

看看這個資料夾裡有什麼

Windows PowerShell 或 Command Prompt 可以輸入:

dir

macOS、Linux,以及 PowerShell 也可以使用:

ls

你會看到目前資料夾中的檔案與子資料夾,例如 README.md、assets、notes、docs。

這和 Explorer 顯示的是同一批東西,只是表達方式不同。

Explorer:用圖形看資料夾 ↔ Terminal:用文字列出資料夾

cd:把目前位置移到另一個資料夾

輸入:

cd docs

cd 可以理解成 change directory。現在再執行 pwd,你會發現路徑最後多了 docs。

再用 dir 或 ls,現在列出的就不是專案根目錄,而是 docs 裡面的內容。

要回上一層,輸入:

cd ..

這裡的 .. 代表父資料夾,也就是目前位置的上一層。

先記這組就夠:cd 資料夾名稱 是進去,cd .. 是回上一層。不要一次背十幾種導航技巧。

試一次:不用滑鼠走一趟

從專案根目錄開始,依序執行:

cd assets
cd images
pwd
cd ..
cd ..

你剛才做的事情等同於:進入 assets、進入 images、確認位置,再退回兩層。

最後再執行 pwd。如果回到 norelyn-first-project,就成功了。

指令不是咒語,它通常有結構

看看剛才的:

cd assets

可以先粗略拆成:

command + argument
cd + assets

cd 告訴 shell 要做什麼,assets 告訴它要對哪個位置做。之後你會看到更長的指令,還會出現 options 或 flags,但核心概念沒有突然變成魔法:它們仍然是在把一個明確的要求交給程式。

建立一個資料夾

確認自己回到專案根目錄後,輸入:

mkdir terminal-practice

mkdir 是 make directory。回到 Explorer 看看,你應該會立刻看到新的 terminal-practice 資料夾。

這再次證明 Terminal 和 Explorer 操作的是同一份硬碟資料:

Terminal 執行 mkdir → 硬碟建立資料夾 → Explorer 顯示變化

再建立一個檔案,但注意不同 shell 的差異

建立空白檔案的指令不像 cd、mkdir 那麼一致,所以這裡刻意分開。

PowerShell 可以使用:

New-Item terminal-practice/hello.txt

macOS / Linux 的 bash 或 zsh 可以使用:

touch terminal-practice/hello.txt

如果你使用 Windows Command Prompt,可以使用:

type nul > terminal-practice\hello.txt

完成後,在 Explorer 打開 terminal-practice,應該能看到 hello.txt。

不用背三套。只使用你現在 shell 對應的那一條。這裡真正要理解的是:不同 shell 可能用不同語法完成同一件事。

Terminal、Shell、PowerShell 到底差在哪?

日常講「打開 Terminal」時,常常會把幾層東西混在一起。現在只需要一個簡化版本:

Terminal → 提供文字介面
Shell → 讀懂你輸入的指令
PowerShell / bash / zsh → 不同的 shell

VS Code 下方那塊區域是整合式 Terminal;裡面實際跑的可能是 PowerShell、bash、zsh 等 shell。這就是為什麼網路上的某些指令在別人的電腦能用,你的卻報錯:你們可能根本不是在使用同一種 shell。

報錯不是 Terminal 壞掉了

故意輸入:

cd folder-that-does-not-exist

它應該會回傳錯誤,因為目前位置下沒有這個資料夾。這其實是好事:Terminal 正在明確告訴你「我找不到你指定的位置」。

看到錯誤時先檢查三件事:目前在哪裡、名稱有沒有打錯、指定的檔案或資料夾是否真的存在。很多初期 Terminal 問題最後都只是路徑問題。

先不要亂用刪除指令

Terminal 當然可以刪除檔案,而且之後一定會學。但這一課故意不教 rm、del 或遞迴刪除參數。

原因很簡單:圖形介面通常會讓你看到自己正在刪什麼,甚至先送進垃圾桶;某些命令列刪除操作則可能直接作用在指定路徑。你還在建立「我現在在哪裡」的習慣時,沒有必要先拿破壞性指令練手。

小挑戰:只用 Terminal 建出一段結構

回到 norelyn-first-project 根目錄。接下來不要用 Explorer 的新增按鈕,完成:

需求 1:建立 practice 資料夾。

需求 2:進入 practice。

需求 3:在裡面建立 day-01 資料夾。

需求 4:進入 day-01,用 pwd 確認目前位置。

需求 5:回到專案根目錄,再用 dir 或 ls 確認 practice 存在。

其中一條可能的操作順序是:

mkdir practice
cd practice
mkdir day-01
cd day-01
pwd
cd ..
cd ..
ls

如果你在 Windows Command Prompt,最後一行改成 dir 即可。

你剛剛真正學會了什麼?

你沒有「學完 Terminal」,也完全不需要。你現在掌握的是之後最常用的心理模型:

我現在在哪裡 → 我要做什麼 → 我要對哪個路徑做

只要先確認 working directory,再理解 command 和 argument,Terminal 就不再是一整片只能複製貼上的神秘文字。

下一課會做一件更關鍵的事:我們會真的建立一個可以執行的程式,看看「文字檔」究竟怎麼經過瀏覽器或 runtime 變成正在運作的東西。

完成條件:你可以不靠 Explorer,在專案裡確認位置、進出資料夾、查看內容並建立一個新資料夾。