先講結論
- 在終端機最常打的三個:
claude -p "問題"問完就走,claude -c接上次的對話,claude -r從清單挑一段舊對話。 - 用
-p叫它改檔,預設會因為沒有人能按同意而改不了,而且不會報錯。要加--permission-mode acceptEdits。 - 對話裡最值得記的是
/context、/compact、/clear、/resume、/rewind。打/model要小心,按 Enter 會改掉以後每次的預設模型。
打 claude --help,畫面會捲好幾頁。我數了一下,這一版有六十幾個參數、十八個子指令。官方文件的斜線指令表更長,一百多列。
大部分你用不到。我自己每天打的,兩隻手數得完。
這篇就整理那一小撮。每一個我都在 Claude Code 2.1.280 上實際跑過,畫面直接貼出來。少數沒跑的會講明。
先分清楚兩種指令
一種是在終端機打的,用來啟動它,長得像 claude -p、claude -c。另一種是進到對話之後才打的,斜線開頭,像 /clear。
兩種不能混用。
下面的例子都在一個練習資料夾裡跑。裡面只有兩個檔案:todo.txt 寫了週一到週五各要做什麼,sales.csv 是三個月的營業額。
在終端機打的
問一句就走:-p
不想進對話,只想問一件事:
claude -p "todo.txt 裡面星期幾要備份電腦?只回答星期幾。"
週五
等了 13 秒。我沒有把檔案內容貼給它,它自己去讀的。
-p 也可以接在別的指令後面,把前一個指令的輸出餵給它:
cat sales.csv | claude -p "哪個月營業額最高?用一句話回答。"
8月營業額最高,為205,000元。
這次 5 秒。
接續上次的對話:-c 和 -r
-p 問完就結束,但對話有存下來。加 -c 可以接著問。我先請它記一個暗號,再開一次問它:
claude -p "請記住這個暗號:藍色雨傘。只回答「好」。"
claude -c -p "我剛剛請你記住的暗號是什麼?只回答暗號。"
第二個指令的回答:
藍色雨傘
-c 接的是這個資料夾最近的一次對話,它認的是資料夾。
想接更早的,用 -r。後面不加東西,它會跳出一張清單讓你挑,畫面最上面寫著 Resume session。清單長什麼樣子,下面講 /resume 的時候一起看。
知道對話編號的話,也能直接寫 claude -r 編號。編號從哪裡來,等一下講 JSON 輸出的時候會看到。
叫它改檔,要先給權限
這是我踩到坑的地方。
claude -p "把 todo.txt 裡週五那一行改成「週五:備份電腦和手機」"
需要您授權才能編輯 todo.txt,請在權限提示中允許。
檔案沒有變。它要我在權限提示裡按允許,可是 -p 根本沒有畫面可以按。
更麻煩的是,這個指令的結束碼是 0,也就是「成功」。把它寫進腳本的話,你不會收到任何錯誤,只會在很久以後發現檔案沒改。
原因是 -p 預設是手動模式,改檔要有人同意。解法是啟動的時候就把權限給它:
claude -p "把 todo.txt 裡週五那一行改成「週五:備份電腦和手機」" --permission-mode acceptEdits
已將第 5 行改為「週五:備份電腦和手機」。
這次檔案真的改了。acceptEdits 的意思是改檔和搬動檔案這類事不用問,執行其他指令還是要問。
想管得更細,可以用 --allowedTools 只放行某幾種工具。這裡有第二個坑:
claude -p --allowedTools "Edit" "把 todo.txt 裡週一那一行的「王小姐」改成「陳先生」"
Error: Input must be provided either through stdin or as a prompt argument when using --print
它說我沒有給問題。其實是 --allowedTools 後面可以接好幾個工具名稱,它把我的問題也當成工具名稱吃掉了。把問題放到前面就好:
claude -p "把 todo.txt 裡週一那一行的「王小姐」改成「陳先生」" --allowedTools "Edit"
已將週一那行的「王小姐」改成「陳先生」。
順帶一提,--permission-mode plan(只規劃、不動手)搭配 -p 沒辦法核准計畫。我試了,它把計畫寫成一個檔案,然後告訴我這種跑法沒辦法請我核准。不過可以分成兩段:先用 plan 規劃,看過計畫之後,用 --resume 接著同一段對話、換成 --permission-mode acceptEdits 讓它照計畫改。我後來實際這樣跑過一次,在 Plan Mode 規劃模式教學。
幾個我會順手加的參數
換模型用 --model,後面接簡稱就可以。我用過 sonnet 和 haiku,說明裡還列了 opus 和 fable。
要把結果交給程式處理,加 --output-format json。回來的是一包資料,除了答案(result),還有這段對話的編號(session_id)、花了多久(duration_ms)、換算成 API 價格是多少錢(total_cost_usd)。
我問它 1+1,total_cost_usd 是 0.03 到 0.04 美元。訂閱方案不會照這個數字另外收錢,官方文件說它是給 API 用戶看的。但它讓我知道一件事:再小的問題也有固定的開銷。
怕它花太多,可以設上限:
claude -p "用三句話介紹 todo.txt 的內容。" --max-budget-usd 0.001
Error: Exceeded USD budget (0.001)
我故意設得很低,它直接停掉,這次結束碼是 1。
想固定它回答的方式,用 --append-system-prompt 加一條規矩。我加的是「不管使用者用什麼語言,一律用繁體中文回答」,然後用英文問它哪一天要備份。它回的是:
根據 todo.txt,你應該在**週五**備份電腦。
檢查它裝得好不好
claude --version
2.1.280 (Claude Code)
claude doctor 會做一次健康檢查,告訴你是用什麼方式裝的、版本、自動更新有沒有開:
Claude Code doctor
Running: npm-global (2.1.280)
Platform: darwin-arm64
Search: OK (bundled)
Auto-updates: disabled (set by env: DISABLE_AUTOUPDATER)
No installation issues found.
中間我刪了幾行。自動更新那一行寫 disabled,是因為我跑測試的時候刻意把它關掉,它也看得出來是誰關的。
更新是 claude update。這個我沒有跑,寫文章的時候我不想動到這台的版本。更新的細節在Claude Code 怎麼更新。
進到對話之後打的
看它的腦容量還剩多少:/context
我開了一段全新的對話,什麼都還沒說,先打 /context:
Context Usage
Sonnet 5 · 38.2k/1m tokens (4%)
Estimated usage by category
System prompt: 9k tokens (0.9%)
System tools: 26.7k tokens (2.7%)
Skills: 2.4k tokens (0.2%)
Messages: 8 tokens (0.0%)
Free space: 928.8k (92.9%)
Autocompact buffer: 33k tokens (3.3%)
排版我整理過,也刪掉了幾行。一句話都還沒講,它已經用掉三萬八千個 token。大部分是它自己的使用說明和工具清單。這就是上面那個「再小的問題也有固定開銷」的來源。
對話越長,Messages 那一行越大。覺得它開始忘東忘西的時候,先打這個看一下。
對話太長:/compact 和 /clear
/compact 是請它把目前的對話濃縮成摘要,騰出空間,然後接著聊。跑完會顯示:
Compacted (ctrl+o to see full summary)
它不是瞬間完成的。我那段對話只有一問一答,跑到二十幾秒都還沒好。我第一次沒等它跑完就按了 Esc,它回我 Compaction canceled.,等於白等。
/clear 比較乾脆,直接開一段全新的對話。舊的沒有被刪掉,用 /resume 還找得回來。
我的習慣是:同一件事做到一半,用 /compact。換一件不相干的事,用 /clear。
回到之前的對話:/resume
跟在終端機打 claude -r 是同一張清單:
Resume session
⌕ Search…
cli-demo
❯ Todo.txt 星期三事項
11 seconds ago · HEAD · 277.5KB
Todo.txt 星期三事項
1 minute ago · HEAD · 259.7KB
/clear
1 minute ago · HEAD · 2.7KB
todo.txt 週一那行改名
4 minutes ago · HEAD · 246.7KB
每段對話的標題是它自己取的。畫面下面寫了幾個好用的按鍵:Space 可以先預覽內容,Ctrl + R 可以改名字,直接打字是搜尋。
做錯了退回去:/rewind
打下去會列出這段對話裡你講過的每一句話:
Rewind
Restore the code and/or conversation to the point before…
todo.txt 裡星期三要做什麼?只回答事項。
No code changes
! ls
No code changes
❯ (current)
Enter to continue · Esc to cancel
選一句,就能把對話、檔案,或兩個一起退回到那句話之前。每一句下面會寫當時有沒有改到檔案。
換模型:/model,按 Enter 之前看清楚
Select model
Switch between Claude models.
Your pick becomes the default for new sessions.
1. Default (recommended) Opus 5.5 with 1M context
2. Opus (1M context) Opus 5.5 with 1M context
3. Fable Fable 5.1
❯ 4. Sonnet ✔ Sonnet 5
5. Haiku Haiku 4.5
Enter to set as default
s to use this session only
Esc to cancel
注意最下面那一行。按 Enter 不只是換這一次,它會變成你以後每一段新對話的預設。只想這次換,要按 s。
為了在手機上好讀,我把長的行折短了,每個選項後面的說明文字也刪掉一些。清單裡有哪些模型會跟著版本變,這是我這一版看到的。
插一句不相干的話:/btw
做到一半想問個小問題,又不想把它混進正在進行的對話,用 /btw:
/btw 你剛剛讀了哪個檔案?
我剛才讀的是 todo.txt。
↑/↓ to scroll · c to copy · f to fork · Esc to close
答案出現在一個浮起來的小視窗裡,按 Esc 關掉,原本的對話不受影響。
直接跑一行終端機指令:!
在對話裡打驚嘆號開頭,後面接的東西會當成終端機指令執行:
! ls
⎿ sales.csv
todo.txt
不用為了看一眼資料夾而跳出去。執行結果它也看得到,我打完 ls,它還主動跟我說它注意到資料夾裡有 sales.csv。
其他偶爾會用到的
/export 檔名 把整段對話存成文字檔。我打 /export export-test.txt,它回 Conversation exported to: 加上完整的路徑。
/diff 列出還沒提交的修改。它看的是 git。我的練習資料夾沒有用 git 管理,所以只顯示 No changes yet。
/memory 讓你打開它每次都會讀的那份說明檔 CLAUDE.md,分成「所有專案共用」和「這個專案專用」兩份。
/usage 看方案的用量用了多少,還會列出哪些技能和外掛最吃用量。
/permissions 管理哪些工具可以不用問、哪些一律禁止。
切換權限模式不是斜線指令,是按 Shift + Tab。這個我寫在教學那篇。
一頁抄走
在終端機打的:
| 指令 | 做什麼 |
|---|---|
claude |
進入對話 |
claude -p "問題" |
問一句,印出答案就結束 |
claude -c |
接續這個資料夾最近的對話 |
claude -r |
從清單挑一段舊對話 |
--permission-mode acceptEdits |
改檔不用問 |
--permission-mode manual |
每個動作都先問 |
--allowedTools "Edit" |
只放行指定的工具,要放在問題後面 |
--model sonnet |
指定模型 |
--output-format json |
輸出成程式好處理的格式 |
--max-budget-usd 金額 |
超過就停 |
claude doctor |
檢查安裝狀況 |
在對話裡打的:
| 指令 | 做什麼 |
|---|---|
/context |
看對話空間用了多少 |
/compact |
把對話濃縮成摘要,繼續聊 |
/clear |
開一段全新的對話 |
/resume |
回到之前的對話 |
/rewind |
把對話或檔案退回去 |
/model |
換模型,按 s 只換這一次 |
/btw 問題 |
插問一句,不影響原本的對話 |
! 指令 |
直接執行終端機指令 |
/export 檔名 |
把對話存成文字檔 |
/usage |
看用量 |
常見問題
claude -p 和直接打 claude 差在哪?
直接打 claude 是進入對話,可以一來一往。加 -p 是問一句、印出答案就結束,適合放在腳本裡,或接在別的指令後面。
用 claude -p 叫它改檔案,為什麼沒有改?
因為 -p 預設是手動模式,改檔要有人按同意,而這種跑法沒有人可以按。加上 --permission-mode acceptEdits,或用 --allowedTools "Edit" 只放行改檔。
怎麼接回上次的對話?
回到同一個資料夾打 claude -c,會接上最近那一次。打 claude -r 會跳出清單讓你挑。已經在對話裡的話,打 /resume。
指令這麼多,記不住怎麼辦?
不用背。在對話裡打一個 /,它會列出能用的指令,邊打字邊篩選。終端機的參數打 claude --help 就看得到。
這篇怎麼查證的
文中的指令在 2026/10/12 實際執行過(macOS 27.0、Claude Code 2.1.280;文中的指令都在練習資料夾實際執行過,沒有跑的會標明)。價格與方案以官方頁面為準,工具改版後內容可能過期。