gcmd 是一款面向工程师的命令库管理桌面工具:把常用命令行按统一格式保存在 command.txt 中,通过搜索快速定位,一键复制到终端使用。基于 Go + Wails + Vue 3 开发,支持 **Windows、macOS(含 amd64 / arm64 架构)。
| 能力 | 说明 |
|---|---|
| 查询为主 | 居中搜索框,多关键词(空格、AND、不区分大小写);工具名 / 标签下拉筛选 |
| 文本即库 | 单文件 command.txt,每条 2 行;命令原样保留空格、引号、管道、{} |
| 填参复制 | 含 {…} 时逐项填参;预览可编辑,复制以预览为准 |
| 导入 / 导出 | 导出备份;导入全量覆盖;批量追加合并且跳过重复 |
| 批量管理 | 批量修改(统一字段或逐条)、批量删除(大量删除二次确认) |
| 主题 | 浅色 / 深色切换,默认浅色 |
| 标点 | 读入支持中英文标点混用;写回统一中文元数据格式 |
- 日常运维、开发中反复使用的 shell / CLI 命令
- 团队共享命令清单(导出
command.txt分发) - 带占位符模板、需快速填参后复制的命令
Go · Wails v2 · Vue 3 + Pinia · 数据文件 command.txt
| 平台 | 说明 |
|---|---|
| Windows | 10/11,需 WebView2 |
| macOS | 10.15+,Intel 与 Apple Silicon(推荐 darwin-universal 通用包) |
| Linux | 需 GTK3、WebKit2GTK |
- Windows:WebView2(Win10/11 多数已自带)
- macOS:若提示未验证开发者,在 系统设置 → 隐私与安全性 中允许
双击程序即可。启动后导入自己的命令库。
┌─────────────────────────────────────┐
│ ① 搜索区:居中搜索框 │
├─────────────────────────────────────┤
│ ② 功能行:筛选 + 操作按钮 │
├─────────────────────────────────────┤
│ ③ 结果区:命令卡片(右侧可弹面板) │
└─────────────────────────────────────┘
| 按钮 | 作用 |
|---|---|
| 🌙 / ☀️ | 浅色 / 深色主题 |
| 全部工具 / 全部标签 | 下拉筛选 |
| 批量 | 勾选多条进行批量改 / 删 |
| 批量追加 | 粘贴合并到现有库(重复跳过) |
| 导出 | 保存为 command.txt |
| 导入 | 从文件完全替换当前库 |
| + 新增命令 | 添加单条 |
- 搜索框输入关键词,空格分隔多词,AND、不区分大小写
- 在命令、标签、描述、工具名中匹配
- 工具 / 标签下拉与搜索为 AND 关系
- 按
/聚焦搜索框
示例:echo linux 表示须同时包含 echo 与 linux。
结果卡片: 第一行命令 + 右侧改 / 删 / 复制; 第二行标签 · 描述。单击卡片:无占位直接复制,有占位打开填参面板。
| 操作 | 步骤 |
|---|---|
| 新增 | + 新增命令 → 填命令(必填)、标签、描述 → 保存(按工具名排序) |
| 修改 | ✎ 修改 → 编辑 → 保存(工具名变则重新排序) |
| 删除 | 🗑 删除 → 确认(序号自动重排 1..n) |
工具名由命令第一个词自动推导,不可单独编辑。
命令含 {…} 时打开 填参复制 面板:
| 区域 | 说明 |
|---|---|
| 原始命令 | 只读 |
| 参数输入 | 默认留空,自行填写 |
| 预览 | 可编辑,复制以预览内容为准 |
| 根据参数更新预览 | 手改预览后可重新生成 |
| 修改(标题栏) | 编辑整条命令 |
无占位符时点击即复制整行命令。
| 操作 | 行为 |
|---|---|
| 导出 | 选路径保存当前库为 command.txt |
| 导入 | 全量替换当前库,以导入文件为准(操作前先导出备份) |
| 批量追加 | 合并到现有库;Command 完全相同则跳过;解析失败不写盘 |
导入 vs 批量追加
| 导入 | 批量追加 | |
|---|---|---|
| 现有命令 | 全部替换 | 保留并追加 |
| 重复 | 整库替换 | 跳过 |
| 场景 | 恢复备份、换库 | 合并他人分享 |
- 点 批量 → 勾选命令(可 全选)
- 批量删除:批量删除
- 批量修改:统一改标签 / 描述,或逐条编辑
每条命令 2 行:
<命令行,原样书写>
#标签:<标签,可空> 命令描述:<描述,可空>
示例:
echo 1111
#标签:linux,测试 命令描述:打印示例
ls -l | grep -v {i}
#标签:linux 命令描述:过滤列表
touch {} {}
#标签:shell 命令描述:双占位
| 项目 | 说明 |
|---|---|
| 工具名 | 命令第一个词,自动推导 |
| 标签 | 建议英文逗号分隔;中文逗号可读入 |
| 占位符 | { }、{./路径} 等,复制前填参 |
| 空格 / 引号 | 原样保留 |
搜索不到刚加的命令?
清空搜索词与工具 / 标签筛选;列表会自动刷新。
导入后原命令没了?
导入为全量替换,请先 导出 备份。
空格、引号变了?
gcmd 原样存储;检查是否用外部编辑器改坏了文件。
命令行原文
#标签:tag1,tag2 命令描述:说明文字
- 读入时
:/:、,/,可混用;保存为#标签:… 命令描述:… - 标签、描述均可空:
#标签: 命令描述: