学习 Claude Code 的命令行操作

学习 Claude Code 的命令行操作

我们昨天学习了 Claude Code 的一些实用技巧,包括提问的艺术、图像的处理,文件和网址的处理、扩展思考模式等,还介绍了几个会话管理的小命令,Claude Code 还有不少实用的命令和参数,我们今天来盘点下。

使用 查看 Claude Code 支持的所有命令和参数:

claude-help.png

参数 或 可以让 Claude Code 直接打印响应,不进入交互模式,这对于脚本编写和自动化特别有用。比如下面的例子让 Claude Code 充当一个代码检查工具:


非交互模式可以让我们很方便地将 Claude Code 无缝地集成到构建脚本或 CI/CD 工作流中。假如你在开发 Node.js 项目,可以将这个命令添加到 文件:


然后运行 来对提交的代码进行检查:

claude-p-lint.png

除了代码检查,你可以自定义提示词实现更多其他功能。为了防止非交互模式下 Claude Code 陷入死循环,可以使用 参数限制对话的轮数:


非交互模式还可以让我们使用管道将 Claude Code 集成到现有的 Shell 脚本中,与其他 Unix 工具结合使用以实现强大的工作流程:


默认 Claude Code 的输出为纯文本方式,可以考虑使用 参数进行结构化输出:


这种输出结构方便我们以编程方式解析 Claude 的响应,输出内容包含状态、结果、耗时、使用的 tokens 等元数据,如下:


Claude Code 支持 JSON 和流式 JSON 两种结构化输出格式,当使用流式 JSON 时,Claude Code 会实时输出一系列的 JSON 对象,而不是一个 JSON 对象。可以根据需要来选择不同的输出格式:

  • 对于只需要 Claude 响应的简单集成,使用
  • 当你需要完整的对话日志时,使用
  • 当你需要每个对话轮次的实时输出时,使用

我们除了可以控制输出格式,也可以使用 参数指定输入格式,Claude Code 支持两种输入格式:

  • 对于简单集成,使用
  • 当你需要实时流式输入时,使用

参数 或 用于开启调试模式:


调试模式右下角会显示 “Debug mode” 的标记,在交互过程中会打印出 Claude Code 中 DEBUG 级别的日志:

claude-debug.png

参数 用于开启详细模式,或者叫做冗余模式:


详细模式下会显示出工具的完整调用结果,和正常模式下按 效果是一样地:

claude-verbose.png

这两个模式对于排查问题都很有帮助,当遇到报错时,比如调用 MCP Server 异常,可以试试这两个模式。

参数 用于指定当前会话的模型:


可以提供最新模型的别名(例如 或 )或模型的全名(例如 )。

参数 用于指定回退模型:


当默认模型超负荷时,将自动切换到指定的回退模型,注意,仅在非交互模式下有效。

在交互模式下有不少键盘快捷键可供使用,输入 查看说明:

claude-shortcuts.png

  • – 进入 Bash 模式,可直接运行 Bash 命令
  • – 输入快捷命令,在交互式会话中控制 Claude 的行为
  • – 我们知道在输入文件路径时可以按下 Tab 键自动补全,使用 也可以智能提示并引用文件
  • – 向 文件中添加新的记忆
  • – 清空当前输入框的内容
  • – 当输入框有内容时,连按两次 键,清空输入框内容,和 一样;当输入框没有内容时,连按两次 键,可以回退到之前的对话记录
  • – 和 一样,也是清空输入框内容,但是如果连按两次 就会退出程序
  • – 取消上一步操作,注意这个针对的仅仅是输入框中的操作,比如输入、删除、清空等
  • – 自动接受文件编辑,默认情况下,编辑文件前 Claude Code 会让用户确认
  • – 开启详细模式,将显示工具的完整调用结果,和上面的 一样
  • – 多行输入,也可以手动输入 换行,在 macOS 中也可以使用 换行
  • – 启用 Vim 风格编辑,如果你是一个 Vim 党,在编辑大段文本时会很方便

上面的 快捷键比较有意思,用于快速唤起某些命令,这些命令被称为 斜杠命令(Slash Commands)。我们在之前的学习中已经见过一些斜杠命令了,比如用 创建 记忆文件,用 清除对话历史,用 压缩对话等等。在交互式对话框中输入 可唤出所有可用的斜杠命令:

claude-slash-commands-0.png

常用的斜杠命令如下所示:

claude code 教程claude-slash-commands.png

关于斜杠命令的另一个有趣功能是,用户可以将经常使用的提示或指令放在特定位置的 Markdown 文件中,从而创建出属于自己独有的斜杠命令。自定义命令文件位于当前项目的 目录下或者个人用户的 目录下,项目目录下的命令叫做 项目命令,可以存储在仓库中并与你的团队共享;用户目录下的命令叫做 用户命令,只能你自己使用,而且可以在所有项目中使用。

自定义斜杠命令的语法如下:


其中, 表示命令作用域,可以是 项目命令,或者 用户命令; 是命令的名称,也就是 Markdown 文件的名称(不包含 扩展名),一个 Markdown 文件对应一个命令; 表示传递给命令的可选参数。 ​ 下面是一个项目命令的例子,在 目录下创建一个 文件:


然后就可以通过下面的斜杠命令来调用:


下面是一个用户命令的例子,在 目录下创建一个 文件:


然后就可以通过下面的斜杠命令来调用:


命令目录下还可以创建子目录,这些子目录被称为 命名空间,方便用户对不同类型的命令进行组织,比如对于一个全栈项目,我们可以将命令分为前端命令和后端命令,那么就可以在 目录下创建 和 两个子目录。命名空间命令的语法如下:


另外,我们可以在 Markdown 文件中使用 占位符,表示传递给命令的参数,比如下面这个实际的例子:


将上面的内容保存到 文件中,然后调用这个命令来修复 Github 上的问题:


通过传入动态参数,可以创建出更加灵活的自定义命令,比如这些场景:

  • 为指定函数生成测试用例
  • 为指定组件创建文档
  • 审查指定文件中的代码
  • 将内容翻译为指定语言

所有自定义的斜杠命令也会显示在 快捷命令列表中:

claude-slash-commands-custom.png

我们今天学习了不少和 Claude Code 命令行相关的技巧,比如使用非交互模式轻松将 Claude Code 集成到构建脚本或 CI/CD 工作流中,使用调试模式和详细模式快速定位和解决各种问题,交互模式下丰富的快捷键和斜杠命令让日常使用更高效,而自定义斜杠命令让我们可以根据项目需求创建专属的命令工具箱。

  • CLI docs.anthropic.com/zh-CN/docs/…
  • 斜杠命令 docs.anthropic.com/zh-CN/docs/…
  • 交互模式 docs.anthropic.com/zh-CN/docs/…

关于 Claude Code 的命令行操作还有很多,比如关于工具权限的 和 参数,关于 MCP 集成的 子命令,关于配置管理的 子命令等,我们将在后续的专题学习中逐一介绍。

如果这篇文章对您有所帮助,欢迎关注我的同名公众号:日习一技,每天学一点新技术。

我会每天花一个小时,记录下我学习的点点滴滴。内容包括但不限于:

  • 某个产品的使用小窍门
  • 开源项目的实践和心得
  • 技术点的简单解读

目标是让大家用5分钟读完就能有所收获,不需要太费劲,但却可以轻松获取一些干货。不管你是技术新手还是老鸟,欢迎给我提建议,如果有想学习的技术,也欢迎交流!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/243399.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月15日 下午9:50
下一篇 2026年3月15日 下午9:50


相关推荐

关注全栈程序员社区公众号