Programming字數 4679閱讀時長≈ 12 分鐘

終端命令列入門:從 ls、cd、mkdir 到 Bash、Git 與 AI 工具部署

一篇面向零基礎用戶的終端命令列入門教程,解釋 Terminal、Shell、Bash、Zsh、路徑、ls、cd、mkdir、git clone、npm run dev 等基礎概念。

文章目錄 · 46
  1. 一、終端、Shell、Bash、Zsh 分別是什麼?
  2. 二、Bash 到底是什麼?為什麼教程總提它?
  3. 三、命令列的基本結構
  4. 四、路徑:命令列世界裏的「地址」
  5. 五、常用基礎命令
  6. 1. pwd:查看當前位置
  7. 2. ls:列出文件和文件夾
  8. 3. cd:切換目錄
  9. 4. mkdir:創建文件夾
  10. 5. touch:創建空文件
  11. 6. cat、less、head、tail:查看文件內容
  12. 7. cp:複製文件或文件夾
  13. 8. mv:移動或重命名
  14. 9. rm:刪除文件或文件夾
  15. 10. echo:輸出文字
  16. 六、常見交互技巧
  17. 1. Tab 自動補全
  18. 2. 上下箭頭查看歷史命令
  19. 3. Ctrl + C 中斷程序
  20. 4. clear 清屏
  21. 5. history 查看歷史命令
  22. 七、常見符號解釋
  23. 1. &&:前一個命令成功後再執行下一個
  24. 2. ;:不管前面是否成功,都繼續執行下一個
  25. 3. |:管道符
  26. 4. > 和 >>:重定向輸出
  27. 5. :通配符
  28. 八、結合真實例子理解命令
  29. 九、命令列和 GitHub 有什麼關係?
  30. 十、命令列和 Node.js、npm 有什麼關係?
  31. 十一、命令列和 Python、AI 工具有什麼關係?
  32. 十二、新手最容易犯的錯誤
  33. 1. 不知道自己在哪個目錄
  34. 2. 路徑寫錯
  35. 3. 忘記文件名大小寫
  36. 4. 誤用刪除命令
  37. 5. 複製陌生命令後直接執行
  38. 6. 不看錯誤提示
  39. 十三、建議學習順序
  40. 十四、總結
  41. 常見問題
  42. 這篇文章適合什麼水平的開發者?
  43. 文章中的工具或命令在不同系統上會有差異嗎?
  44. 推薦配合哪些 AI 工具學習編程?
  45. 學編程最重要的習慣是什麼?
  46. 參考來源

很多人第一次接觸終端命令列時,都會覺得它像一個「黑客視窗」:沒有按鈕、沒有圖示,只有一行行英文命令。尤其是在使用 GitHub、Vercel、Node.js、Python、Claude Code、Codex 或各種 AI Agent 專案時,教程裏經常出現 ls、cd、mkdir、git clone、npm install、npm run dev 這樣的命令,新手很容易被勸退。

但命令列並沒有那麼神秘。它本質上只是另一種操作電腦的方式:你平時用滑鼠點擊資料夾、建立檔案、移動檔案、打開專案,而命令列是用文字命令完成類似操作。

這篇文章會用盡量直白的方式,解釋終端、Shell、Bash、Zsh、路徑、常見命令,以及它們和 GitHub、Vercel、Python、Node.js、AI 工具部署之間的關係。理解這些概念後,你再看開源項目說明、網站部署教程、AI 工具文檔時,就會輕鬆很多。

一、終端、Shell、Bash、Zsh 分別是什麼?

在學習命令行之前,先區分幾個容易混淆的概念。

名稱可以怎麼理解說明
Terminal / 終端輸入命令的窗口你在 Mac、Linux 或 Windows 裏打開的命令行介面
Shell解釋命令的程序負責理解你輸入的命令,並交給系統執行
Bash一種常見 Shell很多 Linux 教程默認使用 Bash
Zsh另一種 ShellmacOS 現在默認更常見的是 Zsh
PowerShellWindows 常見 ShellWindows 上更現代的命令行環境之一
Git BashWindows 上模擬類 Unix 命令的環境安裝 Git for Windows 後常見,適合運行很多 GitHub 教程裏的命令

簡單理解就是:

你在 Terminal 裏輸入命令,Shell 負責理解命令,然後操作系統執行命令。

所以很多教程裏說“打開 Bash 執行命令”,對新手來說可以先理解為:

打開終端,然後輸入這些命令。

需要注意的是,不同系統的命令行環境略有差異。Mac 和 Linux 教程裏常見的 ls、cd、mkdir、rm 等命令,在 Windows 的 PowerShell 裏不一定完全相同;但如果你使用 Git Bash、WSL 或類 Unix 環境,這些命令通常更接近 Mac/Linux 教程。

二、Bash 到底是什麼?為什麼教程總提它?

Bash 全稱是 Bourne Again Shell,是一種非常常見的命令語言解釋器。很多 Linux 伺服器、部署教程、開源項目 README,默認都會使用 Bash 或接近 Bash 的 Shell 語法。

你在教程裏看到的這些寫法,很多都和 Bash 習慣有關:

cd my-project && npm install
export OPENAI_API_KEY="your_api_key"
python main.py --input data.txt

Bash 的作用不是“寫代碼那麼複雜”,而是幫助你把多個系統操作串起來。例如進入項目目錄、安裝依賴、設置環境變量、運行腳本、查看日誌、部署項目。

對於初學者來說,不需要一開始系統學習 Bash 腳本。你只要先掌握下面幾類內容就夠了:

  • 如何切換目錄;
  • 如何查看文件;
  • 如何創建、複製、移動、刪除文件;
  • 如何運行程序;
  • 如何理解參數和選項;
  • 如何看懂 &&、|、>、>> 這類符號;
  • 如何知道一條命令是否危險。

等這些基礎熟悉後,再學習變量、循環、條件判斷、腳本文件也不遲。

三、命令列的基本結構

一條完整的命令通常由三個部分組成:

command [options] [arguments]

例如:

ls -la ~

可以拆成:

部分示例含義
命令 Commandls要執行什麼操作
選項 Options-la修改命令的行為
參數 Arguments~命令作用的目標

再舉一個例子:

mkdir -p images/icons

意思是:創建 images/icons 這個文件夾路徑,如果中間的 images 文件夾不存在,也一起創建。

很多新手害怕命令列,是因為把整行命令當成一串無法理解的英文。其實只要拆開看,通常都能讀懂:

python main.py --input data.txt --output result.md

這條命令可以理解為:

  • python:用 Python 運行程序;
  • main.py:要運行的腳本文件;
  • --input data.txt:輸入文件是 data.txt;
  • --output result.md:輸出文件是 result.md。

四、路徑:命令列世界裏的「地址」

路徑就是文件或文件夾在電腦裏的位置。

例如在 Mac 上:

~/GitHub/LamjinlabWebsite

這就像一個文件夾地址:

用戶主目錄 ~
└── GitHub
    └── LamjinlabWebsite

常見路徑符號如下:

符號含義示例
/路徑分隔符,也可以表示根目錄/Users/yourname
~當前用戶的主目錄~/Desktop
.當前目錄./package.json
..上一級目錄cd ..

例如:

cd ..

意思是回到上一級文件夾。

再比如:

cd ~/GitHub/LamjinlabWebsite

意思是進入主目錄下的 GitHub/LamjinlabWebsite 文件夾。

如果路徑中有空格,建議用引號包起來:

cd "My Projects"

或者使用反斜槓轉義空格:

cd My\ Projects

對新手來說,引號更直觀,也更不容易出錯。

五、常用基礎命令

下面這些命令是新手最應該先掌握的內容。

1. pwd:查看當前位置

pwd = print working directory,意思是打印當前所在目錄。

pwd

示例輸出:

/Users/yourname/GitHub/LamjinlabWebsite

當你不知道自己現在在哪個文件夾時,先輸入 pwd。

2. ls:列出文件和文件夾

ls = list,意思是列出當前目錄裏的內容。

ls

常見寫法:

ls -l

顯示詳細信息。

ls -a

顯示隱藏文件。

ls -la

同時顯示詳細信息和隱藏文件。

隱藏文件通常以 . 開頭,例如:

.env
.gitignore
.DS_Store

其中 .env、.env.local 文件經常用於保存 API Key、數據庫地址等敏感配置,不應該隨便上傳到 GitHub。

3. cd:切換目錄

cd = change directory,意思是切換到另一個文件夾。

cd Desktop

進入桌面目錄。

cd ..

回到上一級目錄。

cd ~

回到當前用戶的主目錄。

cd -

回到上一次所在的目錄。

這一點在項目之間來回切換時很方便。

4. mkdir:創建文件夾

mkdir = make directory,意思是創建文件夾。

mkdir images

創建一個叫 images 的文件夾。

更常見、更安全的寫法是:

mkdir -p images/icons

-p 的作用是:如果中間路徑不存在,就自動創建;如果文件夾已經存在,也不會報錯。

例如:

mkdir -p ~/ai-agent-workflow-ppt/images

意思是創建這個路徑:

~/ai-agent-workflow-ppt/images

如果 ai-agent-workflow-ppt 不存在,也會一起創建。

5. touch:創建空文件

touch 常用於創建一個空文件。

touch README.md

這會創建一個名為 README.md 的文件。

在網站項目中,你可能會看到:

touch .env.local

這通常表示創建本地環境變量文件,用來保存 API Key、數據庫地址等配置。

6. cat、less、head、tail:查看文件內容

cat 可以快速查看文本文件內容。

cat README.md

如果文件很短,用 cat 很方便;如果文件很長,可以用 less 分頁查看:

less README.md

常用操作是:按空格翻頁,按 q 退出。

如果只想看文件開頭,可以用:

head README.md

如果只想看文件末尾,可以用:

tail README.md

查看日誌時,tail 很常見。例如:

tail -f app.log

-f 表示持續跟蹤文件變化,常用於觀察程序運行日誌。

7. cp:複製文件或文件夾

cp = copy,意思是複製。

複製文件:

cp a.txt b.txt

複製文件夾通常需要加 -r:

cp -r images images-backup

-r 表示遞歸複製,也就是把文件夾裏面的內容一起復制。

8. mv:移動或重命名

mv = move,意思是移動。

重命名文件:

mv old.md new.md

移動文件:

mv article.md content/posts/ai/

所以 mv 有兩個常見用途:移動文件,以及重命名文件。

9. rm:刪除文件或文件夾

rm = remove,意思是刪除。

刪除文件:

rm test.txt

刪除文件夾:

rm -r test-folder

新手一定要謹慎使用 rm,尤其是下面這種命令:

rm -rf some-folder

-r 表示遞迴刪除,-f 表示強制刪除。這個命令不會像圖形介面那樣把檔案放進廢紙簍,而是直接刪除,因此執行前一定要確認路徑。

10. echo:輸出文字

echo 用來輸出一段文字,經常配合 > 或 >> 寫入文件。

echo "hello"

輸出:

hello

寫入文件:

echo "hello" > test.txt

這會把 hello 寫入 test.txt。

六、常見交互技巧

1. Tab 自動補全

輸入部分命令或文件名後,按 Tab 鍵,終端會嘗試自動補全。

例如你當前目錄下有一個文件夾叫:

LamjinlabWebsite

你可以輸入:

cd Lam

然後按 Tab,系統可能會自動補全成:

cd LamjinlabWebsite

2. 上下箭頭查看歷史命令

按 ↑ 可以找回上一條命令,按 ↓ 可以往後翻。

這在反覆運行命令時非常有用,例如:

npm run dev

如果剛才執行過,直接按 ↑ 就可以找回來,不需要重新輸入。

3. Ctrl + C 中斷程序

如果某個命令一直運行,或者你想停止當前程序,可以按:

Ctrl + C

例如本地開發伺服器、Python 腳本、Node.js 程序都可以用它停止。

4. clear 清屏

如果終端內容太多,可以輸入:

clear

這樣可以清空當前顯示區域,讓介面更乾淨。

5. history 查看歷史命令

有時你想找回之前執行過的命令,可以輸入:

history

它會列出一批歷史命令。新手可以用它覆盤自己剛才到底做了什麼。

七、常見符號解釋

1. &&:前一個命令成功後再執行下一個

例如:

mkdir -p images && ls

意思是:先創建 images 文件夾,如果創建成功,再執行 ls 查看當前目錄內容。

2. ;:不管前面是否成功,都繼續執行下一個

例如:

mkdir images; ls

意思是:先嚐試創建 images 文件夾,然後執行 ls。即使前一個命令失敗,後一個命令也可能繼續執行。

因此,新手在安裝依賴、部署項目時,更推薦看懂 && 的含義,因為它更強調“前一步成功,才進入下一步”。

3. |:管道符

管道符會把前一個命令的輸出交給後一個命令處理。

例如:

ls | grep "mdx"

意思是:先列出當前目錄內容,再從結果裏篩選包含 mdx 的行。

4. > 和 >>:重定向輸出

> 會把輸出寫入文件,並覆蓋原內容:

echo "hello" > test.txt

>> 會把輸出追加到文件末尾:

echo "world" >> test.txt

新手要注意:> 會覆蓋文件內容,使用前要確認。

5. *:通配符

* 表示匹配多個字符。

例如:

ls *.md

意思是列出當前目錄下所有以 .md 結尾的文件。

再比如:

rm *.log

意思是刪除當前目錄下所有 .log 文件。這個命令有刪除風險,執行前一定要確認自己所在目錄。

八、結合真實例子理解命令

例如你看到這樣一條命令:

mkdir -p ~/ai-agent-workflow-ppt/images && ls ~/ai-agent-workflow-ppt/

可以拆成兩部分:

mkdir -p ~/ai-agent-workflow-ppt/images

意思是創建項目裏的 images 文件夾。

ls ~/ai-agent-workflow-ppt/

意思是查看 ai-agent-workflow-ppt 文件夾下有什麼內容。

中間的 && 表示:

前面的建立命令成功後,才執行後面的查看命令。

所以整條命令的意思就是:

先建立 images 文件夾,然後查看項目目錄內容。

這類命令通常是安全的,因為它只是創建文件夾和查看目錄,不涉及刪除。

九、命令列和 GitHub 有什麼關係?

GitHub 是很多開源項目的託管平台,而 Git 是版本控制工具。你在 GitHub 上看到的項目,通常需要用 Git 下載到本地。

最常見的命令是:

git clone https://github.com/example/project.git

這條命令的意思是:把遠程 GitHub 倉庫複製一份到你的電腦上。

下載後一般會進入項目目錄:

cd project

然後查看項目文件:

ls

很多開源項目 README 中會寫:

git clone https://github.com/example/project.git
cd project
npm install
npm run dev

新手不要一口氣複製運行。更好的方式是逐行理解:

1. git clone:下載項目; 2. cd project:進入項目文件夾; 3. npm install:安裝依賴; 4. npm run dev:啟動開發伺服器。

這樣你就知道每一步在做什麼,也更容易定位錯誤。

十、命令列和 Node.js、npm 有什麼關係?

很多網站項目、前端項目、Next.js 項目、Vercel 項目都會用到 Node.js 和 npm。

npm 可以理解為 Node.js 生態裏的包管理工具。它常見用途包括安裝依賴、運行腳本、啟動開發伺服器、打包項目。

常見命令如下:

npm install

安裝項目依賴。它通常會讀取當前目錄下的 package.json 文件。

npm run dev

運行 package.json裏定義的 dev 腳本,通常用於啟動本地開發伺服器。

npm run build

運行構建腳本,通常用於生成生產環境版本。

npm start

運行啟動腳本,具體行為取決於項目在 package.json 中如何定義。

所以,當你看到 npm run dev 時,不要只背命令。你可以打開項目裏的 package.json,查看類似下面的內容:

{
  "scripts": {
    "dev": "next dev",
    "build": "next build",
    "start": "next start"
  }
}

這說明:

  • npm run dev 實際執行的是 next dev;
  • npm run build 實際執行的是 next build;
  • npm start 實際執行的是 next start。

理解這一點後,你看前端項目教程會清楚很多。

十一、命令列和 Python、AI 工具有什麼關係?

如果你只是瀏覽網頁,可能永遠用不到命令列。但如果你想使用更多 AI 工具、開源專案和自動化工作流,命令列幾乎繞不開。

例如:

python main.py

用於運行 Python 腳本。

python -m venv .venv

用於創建 Python 虛擬環境。

pip install -r requirements.txt

用於安裝 Python 項目依賴。

vercel deploy

用於部署網站項目。

claude

可能用於啟動 Claude Code 這類命令行工具,具體取決於你的安裝方式。

很多 AI Agent、Claude Code、Codex、Cursor、Next.js、FastAPI、Vercel 專案,本質上都是通過命令列完成安裝、運行、調試和部署的。

所以學習命令列不是為了「裝專業」,而是為了真正掌控自己的專案。

十二、新手最容易犯的錯誤

1. 不知道自己在哪個目錄

解決辦法:

pwd

先確認當前位置。

2. 路徑寫錯

解決辦法:多用 Tab 自動補全,少手打長路徑。

3. 忘記文件名大小寫

很多系統裏,文件名大小寫可能會影響命令執行。

例如:

README.md
readme.md

它們可能被視為不同文件。

4. 誤用刪除命令

尤其是:

rm -rf

執行前一定要確認路徑,不要複製陌生命令後直接運行。

5. 複製陌生命令後直接執行

這是新手最危險的習慣之一。任何命令在執行前,都應該至少看懂三個問題:

  • 它會不會刪除文件?
  • 它會不會覆蓋文件?
  • 它會不會把敏感信息上傳到外部?

如果命令裏出現 rm -rf、sudo、curl ... | bash、chmod 777、> 這類內容,更要謹慎。

6. 不看錯誤提示

很多錯誤提示其實已經告訴你問題在哪裏。例如:

No such file or directory

通常表示文件或文件夾不存在,可能是路徑寫錯了。

Permission denied

通常表示沒有權限執行或訪問。

command not found

通常表示命令不存在,可能是工具沒有安裝,或者環境變量沒有配置好。

EADDRINUSE

常見於本地開發伺服器,意思是端口已經被佔用。比如 3000 端口已經有一個項目在運行。

十三、建議學習順序

如果你是零基礎,我建議按照這個順序學習:

1. 先學會 pwd、ls、cd,理解自己在哪裏; 2. 再學會 mkdir、touch、cp、mv,理解如何創建和移動文件; 3. 然後謹慎學習 rm,知道如何刪除文件,但不要亂用; 4. 再學習 cat、less、head、tail,學會查看文件和日誌; 5. 接着學習 &&、|、>、>>,理解命令之間如何組合; 6. 最後學習 git clone、npm install、npm run dev、python main.py,把命令列用於真實專案。

只要掌握這些內容,大多數 GitHub 項目 README 裏的基礎命令你就能看懂一大半。

十四、總結

命令列不是玄學,也不是只有程序員才能使用的高級工具。它只是另一種操作電腦的方式。

你可以把它理解為:

圖形介面是用滑鼠和按鈕操作電腦;
命令列是用文字和指令操作電腦。

當你掌握 ls、cd、mkdir、pwd、git clone、npm run dev 這些基礎命令後,再去學習 GitHub、Vercel、Python、Node.js、Claude Code、AI Agent 項目,就會順暢很多。

真正重要的不是一次性背下所有命令,而是在實際操作中逐漸熟悉它們。遇到不懂的命令,先拆開看:它要做什麼?選項是什麼?作用目標是誰?這樣命令列就會從一堆陌生字符,變成你能理解、能控制、能重用的工具。

常見問題

這篇文章適合什麼水平的開發者?

可參考正文中的「適用對象」說明;本站編程欄目的文章覆蓋從入門到 AI 編程工作流等不同層次,每篇會有不同的預設背景。

文章中的工具或命令在不同系統上會有差異嗎?

會。macOS、Linux 和 Windows 的終端環境、路徑格式和命令語法存在差異,文章中若未說明具體系統,建議結合官方文檔對應調整。

推薦配合哪些 AI 工具學習編程?

Claude Code 和 Codex 是目前能力較強的編程 AI 工具,可以用來解釋代碼、補全邏輯、調試錯誤和生成腳本。相關工具介紹可參考本站 CC Switch 工具文章 和 Vibe Coding 面試題集。

學編程最重要的習慣是什麼?

動手做比看教程更重要。建議儘早找一個真實項目(哪怕很小)來練手,遇到問題時查文檔和代碼,而不只是看完理論再說。

參考來源

終端是 AI 編程工具的基礎環境。如果你想進一步瞭解如何在終端中使用 Claude Code 或 Codex,可以參考 CC Switch 工具介紹 和 Vibe Coding 面試題集。

Share

分享這篇文章