Termius 创建与管理 Snippets | 从零创建、编辑、组织 Snippets 包
创建 Snippet 的三种方式
方式一:Snippets 界面(推荐)
- 左侧导航 → Snippets → 进入 Snippets 列表
- 点击顶部的「New Snippet」按钮
- 填写:
- 名称(Name):给 Snippet 起个简短好记的名字,比如
restart-nginx - 描述(Description):一句话说明这 Snippet 干什么用的,描述会在列表里显示
- 脚本内容:完整的 Shell 命令(可以多行,Termius 会一行一行发)
- 目标 Vault:选存到哪个 Vault(Personal / Team / 自定义)
- 保存
方式二:终端侧面板快速创建
在一个已经打开的终端里,右侧展开侧面板 → Snippets 标签:
- 点击「+ New」
- 填内容保存
这种方式方便在查问题时随手把当前正在跑的一条长命令存下来。
方式三:从终端历史里创建
Termius 的命令历史面板可以把任意历史命令直接转换成 Snippet:
- 打开命令历史(侧面板 → History)
- 找到那条你想保存的命令
- 点击命令旁边的「存为 Snippet」图标
- 确认名称后保存
编辑和删除 Snippets
- 编辑:在 Snippets 界面双击某个 Snippet,修改内容后保存
- 删除:右键 → Delete,会弹确认框(避免误删)
- 复制:右键 → Duplicate,快速创建一个相似的 Snippet 再改
Snippet 包(Packages)组织
Snippet 太多了可以打包包管理。典型的打包方式:
| 包名 | 内容 |
|---|---|
debian-ops | apt 升级、systemctl 操作、dpkg 查询等 |
nginx-ops | reload、restart、检查配置、tail 日志 |
mysql-dba | slow query、表大小、备份等 |
docker-ops | 容器状态、日志、重建等 |
创建包:
- Snippets 界面 → 包管理区域 → New Package
- 输入包名
- 把相关的 Snippets 拖进包里
包本身也是跟着 Vaults 同步的,团队共享 Snippets 时包结构也一起共享。
启动 Snippet(Startup Snippet)
某些场景你可能希望每次连接到某台主机后自动执行一条命令。比如每次连到某个 MySQL 主库后自动跑一条 mysql -e "SHOW SLAVE STATUS\G" 确认从库同步状态。
配置:
- 打开主机编辑面板
- 找到 Startup Snippet 相关的选项
- 选择要自动执行的 Snippet
- 保存
下次双击这个主机连接,SSH 成功建立后会自动执行这条 Snippet,输出会显示在终端里。
把 Snippet 当注释块
Snippet 支持多行 Shell 脚本,注释用 # 开头:
# 一键检查服务器健康状态
# 2024 版,Termius Pro 推荐脚本
echo "=== 运行时间 ==="
uptime
echo "=== CPU 负载 ==="
top -bn1 | head -5
echo "=== 内存 ==="
free -h
echo "=== 磁盘使用 ==="
df -h /
echo "=== 服务状态 ==="
systemctl is-active nginx
systemctl is-active mysql
多步骤的脚本比单条命令的 Snippet 更有价值——可以把一串检查步骤打包成一键跑的诊断工具。
Snippet 的环境变量
Termius 的 Snippets 执行时没有预先注入环境变量(比如主机名、IP 等)。如果需要动态值,就在脚本里自己查:
# 查当前主机名
hostname
# 查当前 IP
hostname -I | awk '{print $1}'
# 查当前用户
whoami
导入导出
Termius 支持 Snippets 的 JSON 格式导入导出:
- 导出:Snippets 界面右键包或 Vault → Export
- 导入:Snippets 界面 → Import → 指定 JSON 文件
格式大致是:
{
"snippets": [
{
"name": "restart-nginx",
"description": "Restart nginx service",
"content": "sudo systemctl restart nginx && sudo systemctl status nginx --no-pager"
}
]
}
与 Vaults 的关系
创建 Snippet 时必须指定存到哪个 Vault。不同 Vault 的 Snippets 互相隔离——你在 Personal Vault 里创建的 Snippet,Team Vault 里看不到。但可以在不同 Vault 间复制 Snippet(右键 → Duplicate → 选目标 Vault)。
继续「AI 生成与批量执行 Snippets」了解两个高级功能。