MistTerm 的三个省时用法
连服务器费时间的,常常不是那条命令,而是主机名对不齐、多机结果靠手抄、常用命令散落在笔记里。登录网站之后,团队命令和登记的机器在后台,本机短名字仍在客户端。面向日常 SSH 的开发和运维。文中按步骤附有真实界面截图。
三节在这一篇里:一、同一份服务器列表 → 二、一次查看多台 → 三、常用命令入库。登录 mistlab.dev 之后,客户端和后台要一起用的地方在 第四节。
一、桌面应用和脚本用同一份服务器列表
桌面客户端里给机器起名、分组很常见;脚本、笔记、CI 却另写 user@IP,或再维护一份 ~/.ssh/config。端口改了、机器换了,两边就容易对不上——界面能连上的那台,脚本不一定打到同一台。
MistTerm 桌面应用和命令行 mist 共用同一份加密保存的服务器列表(默认在 ~/.config/mistterm/sessions.json)。在桌面应用「连接」(Connections)列表里叫 staging-web 的服务器,用 mist ls 列出来也叫这个名字:

mist ls
mist exec demo@127.0.0.1:2201 hostname # 回显 staging-web

已有 OpenSSH 配置时,可用 mist import-ssh-config 导入,不必在界面里一台台重填。导入之后,短名字以本机这份列表为准:mist exec staging-web hostname 会在已保存会话里找名字、id 或主机等于 staging-web 的那一条。找不到,才按 user@host[:port] 临时去连。跑完对一下回显,对得上才说明这次已经连上了。管理面板里登记的名字是另一份,见 第四节,不要和这里的短名字当成同一列。
同一份清单还能传文件。mist get 会话名:/远端路径 本地路径 把文件拉下来,mist put 本地路径 会话名:/远端路径 传回去。冒号只切一次,所以目标请用 mist ls 里的会话名,例如 mist get staging-web:/var/log/app.log ./app.log;不要把带端口的 user@host:port 写在冒号左边,端口会被当成路径。本地路径是目录时,用远端文件名落进去;上传的远端路径以 / 结尾时,保留本地文件名。成功时终端打出两边路径和字节数。服务器列表只需要维护一份,不用到处同步地址,也不会出现界面连的是 A、脚本却连到 B 的情况。
二、一次查看多台服务器的状态
五台看内存,常见做法是开五个窗口,每台敲一遍 free -h,再抄到笔记或表格。容易漏一台,也容易把 A 的数记到 B 上。为这点事拉一整套 Ansible,很多团队觉得过重。
两条路都能跑:
旁栏运维助手:下发同一条只读命令到多台。先出计划卡,可改命令、勾主机;点「确认并执行」(Confirm and Run)之前,哪台服务器都不会执行。确认后在后台执行,不占用你的终端标签页:

跑完按台出结果表,每台的内存占用(Mem%)直接在表里,偏高的会标出来:

命令行:同一份会话库上批量只读,例如按分组:
mist exec --group Demo free -h
# 或 mist exec --all free -h
--group Demo 只跑分组名正好是 Demo 的已保存会话,--all 才是这份列表里的全部。默认并行,同时最多 8 台;加上 --serial 改成一台接一台,有一台失败就停。多于一台时,终端按台分段,抬头是用户名、主机和端口,不是桌面里的短名字。分组对不上时,会直接说没有匹配的目标,不会空跑一遍还报成功。没有配置 AI 模型时,助手没法生成计划或给出判断,所以不是装好就能自动巡检。命令行的批量执行不需要 AI 模型。
发一次命令就能代替开五个窗口。图形界面多一步确认,可以避免误操作。终端还在中间,助手只占侧栏。
三、把常用命令存起来,点一下就能用
常用运维命令如果只躺在个人笔记里,换机器、换同事就要再抄一遍。MistTerm 的常用命令(按 Ctrl+K / ⌘K 打开)是个人命令库:带变量、可点进当前终端,也可用 mist frag list / mist frag run 在命令行复用。
演示里先写进几条只读常用项,例如:
| 常用命令 | 命令 |
|---|---|
| 查看内存 (free -h) | free -h |
| 磁盘使用 (df -h) | df -h |
| 系统运行时间 (uptime) | uptime |
| 监听端口 (ss -lntp) | ss -lntp |

除了保存命令,还可以:
- 一点进终端:在库里点选,命令进当前会话,少在聊天/文档和终端之间来回粘贴。
- 变量占位:主机名、路径、命名空间等可参数化,同一条模板适配多台。
- 市场模板:内置 Linux / Docker / Kubernetes / 网络 / 数据库等模板,可直接装进个人库再改。
- 使用统计:哪些常用命令用得多、最近用过什么,侧栏能看,方便把高频操作留在库里。
- 和个人库分开:上面四条存在本机。团队共用的命令在网站控制台,见 第四节。两边不是同一份。
和「危险命令拦截」要分开看:命令审计默认只记录,不拦截。要拦,得由团队管理员开启策略(团队版);拦住以后要有路,指回你们认可的常用命令才有意义。这次本地检查拦住了 DROP DATABASE:终端上是一条红色提示,还没有团队替代命令,这条命令没有发到机器上。先把命令库写实,比空喊「装完就拦」更管用。
要说清楚的是:本地检查只看从常用命令、命令历史、AI 运维助手和批量执行发出去的命令。同一条命令要是直接在终端里敲,或者 ssh 登录进服务器以后手动敲,目前都不检查,也不会出这条红色提示。

四、登录之后,客户端和网站要一起用
前三节不登录网站也能做。桌面和 mist 共用本机那份名字:mist ls 里的 staging-web,就是桌面「连接」里的那一台;mist exec 按地址跑完,hostname 回显还是它,说明这次已经连上了。团队成员、团队命令、登记过的机器不在这份本机列表里,要打开 mistlab.dev。
登录后右上角进控制台。再点「管理」才是管理面板。SSH 和敲命令仍在客户端。人在哪个团队、团队命令、登记了哪些机器,以网站上看到的为准。
控制台里看你在哪些团队
控制台打开「团队」。演示账号在 Acme Ops Demo 里,角色是 ADMIN,可以进「管理成员」和「AI 设置」。后面「常用命令」页的团队下拉,选项就是这里的团队。

团队命令在控制台
上一节 Ctrl+K 里那四条(free -h、df -h、uptime、ss -lntp)是个人命令,存在本机。网站上没有这四条。
团队共用的命令在控制台「常用命令」,要先登录。演示团队里有两条运维命令:
- Rotate application logs(ops):
sudo journalctl -u app --since "1 hour ago" - Tail service logs(ops):
sudo tail -n 200 /var/log/app/service.log

这些命令的修改在网站上做:编辑、删除,或生成文档。客户端不登录,Ctrl+K 里仍然只有个人那几条。这次没有截到登录之后客户端里的团队命令,那一屏长什么样就不写。
上面那条红色提示是本地检查:拦住了 DROP DATABASE,还没有团队替代命令,这条命令没有发到机器上。
管理面板仪表盘上的数字
点「管理」进入管理面板,第一页是仪表盘。这一页的数字是有的:用户 60,团队 14,常用命令 13,服务器 23,下载 9,近 7 天活跃 0。左边是系统信息,右边快捷操作有登录证书、服务器管理、审计日志、命令审计、MistDocs。

「常用命令 13」是管理面板上的总数,不要和 admin 团队那几条、也不要和客户端个人那几条当成同一个数。
控制台导航里另外有一页叫「概览」。那一页是团队侧的统计,和这里管理面板的总数不是同一套数。
管理面板里登记的机器
管理面板「服务器」按团队列机器。admin 下面有演示机:演示-bastion、演示-staging-web、演示-staging-db,状态列写的是「已完成」。同一套状态还有「待安装」「安装中」「安装失败」。「已完成」只说明安装步骤走完,不说明 SSH 已经连上了。其它团队下面还有各自登记的机器。
地址列里的公网 IP 已打码。文中不写地址。

这张表和第一节的本机列表不是同一份。桌面和脚本对得上的仍是 staging-web 这种短名字;管理面板上的演示机名字带「演示-」前缀。要敲命令,回 MistTerm,用本机那个名字。管理面板不替你连 SSH。
对照看看你们团队的做法
- 界面里这台机器的名字,脚本和笔记里是不是同一份?
mist ls对不对得上?对得上的是本机短名字,例如staging-web。 - 多机只读是五个窗口手抄,还是计划确认 /
mist exec --group?--group只跑这个分组,--all才是全部。 - 个人常用命令在客户端里吗?团队共用的 Deploy staging web、Tail service logs、Rotate application logs 在控制台片段页里吗?两份不要并成一份。
- 管理面板上登记的
演示-bastion、演示-staging-web、演示-staging-db,和本机mist ls那一列是不是被当成了同一张表? - DROP DATABASE 被拦住了没有?这次本地检查拦住了,终端上是一条红色提示,命令没有发到机器上。还没有团队替代命令。别忘了:在终端里直接敲的命令,目前不检查。