Programming字數 4679閱讀時長12 分鐘

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

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

很多人第一次接觸終端命令列時,都會覺得它像一個「黑客視窗」:沒有按鈕、沒有圖示,只有一行行英文命令。尤其是在使用 GitHub、Vercel、Node.js、Python、Claude Code、Codex 或各種 AI Agent 專案時,教程裏經常出現 lscdmkdirgit clonenpm installnpm 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 教程裏常見的 lscdmkdirrm 等命令,在 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. catlessheadtail:查看文件內容

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 -rfsudocurl ... | bashchmod 777> 這類內容,更要謹慎。

6. 不看錯誤提示

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

No such file or directory

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

Permission denied

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

command not found

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

EADDRINUSE

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

十三、建議學習順序

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

1. 先學會 pwdlscd,理解自己在哪裏; 2. 再學會 mkdirtouchcpmv,理解如何創建和移動文件; 3. 然後謹慎學習 rm,知道如何刪除文件,但不要亂用; 4. 再學習 catlessheadtail,學會查看文件和日誌; 5. 接着學習 &&|>>>,理解命令之間如何組合; 6. 最後學習 git clonenpm installnpm run devpython main.py,把命令列用於真實專案。

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

十四、總結

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

你可以把它理解為:

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

當你掌握 lscdmkdirpwdgit clonenpm 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

分享這篇文章