終端命令列入門:從 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 專案時,教程裏經常出現 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 | 另一種 Shell | macOS 現在默認更常見的是 Zsh |
| PowerShell | Windows 常見 Shell | Windows 上更現代的命令行環境之一 |
| Git Bash | Windows 上模擬類 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 installexport OPENAI_API_KEY="your_api_key"python main.py --input data.txtBash 的作用不是“寫代碼那麼複雜”,而是幫助你把多個系統操作串起來。例如進入項目目錄、安裝依賴、設置環境變量、運行腳本、查看日誌、部署項目。
對於初學者來說,不需要一開始系統學習 Bash 腳本。你只要先掌握下面幾類內容就夠了:
- 如何切換目錄;
- 如何查看文件;
- 如何創建、複製、移動、刪除文件;
- 如何運行程序;
- 如何理解參數和選項;
- 如何看懂
&&、|、>、>>這類符號; - 如何知道一條命令是否危險。
等這些基礎熟悉後,再學習變量、循環、條件判斷、腳本文件也不遲。
三、命令列的基本結構
一條完整的命令通常由三個部分組成:
command [options] [arguments]例如:
ls -la ~可以拆成:
| 部分 | 示例 | 含義 |
|---|---|---|
| 命令 Command | ls | 要執行什麼操作 |
| 選項 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 LamjinlabWebsite2. 上下箭頭查看歷史命令
按 ↑ 可以找回上一條命令,按 ↓ 可以往後翻。
這在反覆運行命令時非常有用,例如:
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 面試題集。
學編程最重要的習慣是什麼?
動手做比看教程更重要。建議儘早找一個真實項目(哪怕很小)來練手,遇到問題時查文檔和代碼,而不只是看完理論再說。
參考來源
- GNU Bash Reference Manual
- GNU Bash Manual:Shell Commands
- GNU Coreutils Manual
- GNU Coreutils:mkdir invocation
- Apple Support:Terminal User Guide for Mac
- Microsoft Learn:Windows Terminal Documentation
- Git Documentation:git clone
- Pro Git Book
- npm Docs:scripts
- npm Docs:npm-run-script
- The Art of Command Line
- MDN Web Docs
終端是 AI 編程工具的基礎環境。如果你想進一步瞭解如何在終端中使用 Claude Code 或 Codex,可以參考 CC Switch 工具介紹 和 Vibe Coding 面試題集。
Share