5.5 claude -c - 繼續最近的對話
claude -c 命令允許您繼續最近的對話會話。這在您意外關閉了 REPL 或想要繼續之前的工作時非常有用。
命令语法
bash
claude -c [选项]
功能描述
-c(--continue)標誌會載入當前目錄中最近的對話會話,並啟動 REPL。這允許您:
- 恢復意外中斷的對話
- 繼續之前的工作
- 保持對話上下文
- 避免重複之前的查詢
使用示例
基本用法
bash
claude -c
載入最近的對話會話並啟動 REPL。
结合初始查询
bash
claude -c "继续优化这个函数"
載入最近的對話,並立即繼續最佳化函式的任務。
指定模型
bash
claude -c --model claude-4-opus
使用指定的模型繼續最近的對話。
添加额外的工作目录
bash
claude -c --add-dir ../tests
載入最近的對話,並新增額外的工作目錄。
會話儲存機制
Claude Code 會自動儲存對話會話,以便後續恢復:
儲存位置
會話儲存在以下位置:
- 本地會話 :儲存在專案目錄的
.claude/sessions/子目錄 - 使用者會話 :儲存在使用者主目錄的
.claude/sessions/子目錄
會話命名
會話通常以以下方式命名:
- 時間戳 :包含會話建立或最後修改的時間
- 會話 ID :唯一的識別符號,用於精確恢復
- 摘要 :對話的簡要描述(如果可用)
會話內容
儲存的會話包含:
- 對話歷史
- 上下文資訊
- 工具呼叫記錄
- 配置狀態
- 檔案訪問記錄
使用场景
1. 意外中断
bash
# 意外关闭了 REPL
claude -c
恢復意外中斷的對話。
2. 跨天工作
bash
# 第二天继续前一天的工作
claude -c "继续昨天的任务"
繼續前一天未完成的工作。
3. 切换任务
bash
# 完成一个任务后,开始另一个任务
claude -c "开始新任务"
切換到不同的任務,同時保持之前的上下文。
bash
### 4\. 多项目工作
bash
# 在项目 A 中工作
cd /path/to/project-a
claude -c
# 切换到项目 B
cd /path/to/project-b
claude -c在不同專案之間切換,每個專案保持獨立的對話上下文。
会话管理
查看可用会话
雖然 claude -c 預設載入最近的會話,但您可以透過以下方式檢視所有可用會話:
- 檢視會話目錄 :
bash
bash
ls -la .claude/sessions/
bash
claude --resume
這會顯示可用會話列表,讓您選擇要恢復的會話。
### 清理舊會話
定期清理舊會話可以釋放磁碟空間:
bash
# 删除超过 7 天的会话
find .claude/sessions/ -mtime +7 -delete
## 注意事项
## 与其他恢复命令的对比| 命令 | 恢復方式 | 選擇性 | 適用場景 |
|---|
claude -c| 最近會話| 否| 快速繼續最近的工作 claude --resume| 互動選擇| 是| 選擇特定會話恢復 claude -r "id"| 指定 ID| 是| 精確恢復特定會話
最佳实践
1. 结合版本控制
bash
# 在Git提交前保存会话
git add .
git commit -m "重构用户认证模块"
將程式碼變更與會話狀態同步記錄。
2. 清理策略
bash
# 删除超过 7 天的会话
find .claude/sessions/ -mtime +7 -delete
定期清理舊會話,避免磁碟空間浪費。
## 常见问题
### Q: 如何查看会话的详细信息?
A: 可以查看会话目录中的文件,或使用 `claude --resume` 交互式选择会话。
### Q: 恢复的会话与原会话完全一样吗?
A: 基本一样,但某些临时状态可能无法完全恢复。
### Q: 可以恢复其他目录的会话吗?
A: 不可以,`-c` 只会加载当前目录中的会话。要恢复其他目录的会话,需要切换到该目录或使用 `-r` 命令。
### Q: 会话会占用多少磁盘空间?
A: 这取决于对话的长度和复杂度,通常在几 KB 到几 MB 之间。
## 相关命令claude:啟動新的互動式 REPLclaude --resume:互動式選擇並恢復會話claude -r "id":按 ID 恢復會話/clear:清除對話歷史/exit:退出 REPL
bash
## 实际应用示例
### 工作流恢复
sh
#!/bin/bash
# 检查是否有最近的会话
if [ -d .claude/sessions/ ]; then
# 恢复最近的会话
claude -c "继续之前的工作"
else
# 启动新的会话
claude "开始新任务"
fi
### 多项目管理
bash
#!/bin/bash
# 项目列表
projects=("project-a" "project-b" "project-c")
# 选择项目
echo "选择项目:"
select project in "${projects[@]}"; do
cd "/path/to/$project"
claude -c "在 $project 中工作"
break
done透過 claude -c,您可以無縫地繼續之前的工作,提高工作效率,避免重複之前的查詢和上下文設定。