命令系统
Gemini CLI 命令系统:slash commands、@ 文件引用、! Shell 命令,以及常用 /help、/memory、/mcp、/commands、/chat、/restore。
Gemini CLI 的交互命令主要有三类:/ 控制 CLI 本身,@ 把文件或目录加入上下文,! 直接执行 Shell 命令。三者不要混用:上下文用 @,会话和配置用 /,系统命令才用 !。
最低掌握:会用 /help 查能力、用 @ 精确引用文件、用 !git status 读取状态、用 /memory 重新加载上下文、用 /mcp 看外部工具是否可用。
flowchart LR
Slash["/ slash commands"] --> Control["控制会话、配置、MCP、记忆"]
At["@ file / dir"] --> Context["注入文件和目录上下文"]
Bang["! shell"] --> Shell["直接执行系统命令"]
style Slash fill:#dbeafe,stroke:#3b82f6
style At fill:#dcfce7,stroke:#22c55e
style Bang fill:#fef3c7,stroke:#f59e0b
1. slash commands
Slash commands 是 CLI 控制面。它们不等于给模型的业务需求,而是用来管理项目上下文、切换认证、控制工具、查看用量、恢复 checkpoint、重载配置。下表按"新手最先用 → 进阶"分组,完整 38 个命令以官方 Commands reference 为准。
起步必学(第一次启动后最先用这几条):
| 命令 | 用途 |
|---|---|
/init | 帮你给当前项目自动生成首份 GEMINI.md(第一次进新项目最该用) |
/help | 列出当前可用命令 |
/about | 查版本信息(提交 issue 时附带) |
/quit | 退出 Gemini CLI(也可加 --delete 永久删除历史和临时文件) |
/clear | 清屏 |
/copy | 复制最后一次输出到系统剪贴板 |
模型与用量:
| 命令 | 用途 |
|---|---|
/model | 切换或查看当前模型(Auto / Pro / Flash 等) |
/stats | 查看本次会话的 token 用量、模型分布、限额信息 |
/upgrade | 打开 Gemini Code Assist 升级页 |
上下文与配置:
| 命令 | 用途 |
|---|---|
/memory show | 查看当前会话加载了哪些 GEMINI.md 层级 |
/memory reload / /memory refresh | 改完 GEMINI.md 后重新加载(不重启会话) |
/compress | 把整段聊天上下文压成摘要(长会话省 token) |
/directory | 管理多目录 workspace |
/settings | 打开 settings 编辑器 |
/auth | 切换认证方式 |
工具与权限:
| 命令 | 用途 |
|---|---|
/tools | 查看当前会话有哪些工具可用 |
/permissions | 管理 folder trust 等权限 |
/policies | 管理 policy 规则 |
/plan | 切换 Plan Mode(只读规划),并查看当前计划 |
扩展生态:
| 命令 | 用途 |
|---|---|
/mcp list / /mcp reload / /mcp auth <name> | 查/重载 MCP server,按 server 触发 OAuth |
/extensions | 管理 extensions |
/agents | 管理本地和远程 subagents |
/skills | 管理 Agent Skills |
/hooks | 管理生命周期 hooks |
/commands | 管理自定义 slash commands |
会话管理 / 排错:
| 命令 | 用途 |
|---|---|
/chat 或 /resume | 浏览、保存、恢复历史会话(两条命令等价) |
/restore | 文件改坏了用它回到 checkpoint |
/rewind | 在对话历史里向后滚 |
/ide | 管理 IDE 集成 |
/setup-github | 设置 GitHub Actions |
/bug | 按官方流程提交问题 |
/docs | 在浏览器打开官方 docs |
/privacy | 显示当前认证方式对应的 Privacy Notice |
界面调整(可选):
| 命令 | 用途 |
|---|---|
/theme / /editor / /vim / /terminal-setup / /shells | UI / 编辑器 / vim 模式 / 多行键位 / 后台进程视图 |
版本差异用 /help 收口:Gemini CLI 仍在快速迭代,命令可能新增或别名变化。教程给使用逻辑,完整列表以当前 /help 输出和官方 Commands reference 为准。
2. @ 文件引用
典型写法:
@src/components/UserProfile.tsx 解释这个组件如何处理 user data@src/types/User.ts @src/components/UserProfile.tsx 帮我检查类型是否一致@src/utils/ 检查这个目录里是否还有 deprecated API
@ 适合你已经知道路径时强制把文件放进上下文。如果不知道路径,可以直接让 Gemini CLI 先找。
@ 引用目录时要控制范围。不要一上来 @. 或把整个 monorepo 放进去;先指定一个文件、一个子目录或一组强相关文件。上下文越大,越容易浪费 token,也越容易把无关文件带进判断。
3. ! Shell 命令
常见写法包括 !ls -la、!git status、!npm test。
! 执行的命令会把输出放进当前 session,上下文里后续可以引用。输出太大时可能被截断。
! 不是只读按钮:! 执行的命令拥有当前 shell 权限。!git status 风险低,!rm -rf、部署命令、数据库迁移、批量格式化和密钥读取风险很高。
4. 使用建议
- 查 CLI 能力先
/help。 - 修改上下文文件后用
/memory reload或/memory refresh。 - 接 MCP 后用
/mcp list确认工具是否加载。 - 大改前先
/chat save <tag>或启用 checkpoint。 - Shell 命令默认要确认,不要长期放开高风险命令。
一个稳的日常顺序是:
- 用
@指定文件。 - 让 Gemini CLI 只读解释。
- 用
/memory show或/memory reload确认规则。 - 用
!git status、!npm test获取事实。 - 再授权小范围修改。
5. 接下来去哪
快捷键
继续看清屏、退出、复制输出和 shell mode 的最低操作成本。
文件管理
继续看 @ 文件、目录上下文、ignore 和多目录 workspace。
Shell 命令
准备让 Gemini CLI 跑命令前,先看 shell 工具的安全边界。