Skip to content

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 默认加载最近的会话,但您可以通过以下方式查看所有可用会话:

  1. 查看会话目录
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:启动新的交互式 REPL
  • claude --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,您可以无缝地继续之前的工作,提高工作效率,避免重复之前的查询和上下文设置。

基于 MIT 许可发布 | 永久导航