Linux 常用命令速查:Command Recipes 如何按关键词给出现成命令

Linux 常用命令速查,Command Recipes 直接给你现成的 Linux 命令。在 MXterm Pro 里按 Cmd+J(macOS;Windows 上是 Ctrl+J,尚未验证),用英文或越南语输入任务,比如“find log files bigger than 50MB”。关键词会匹配 13 条配方,涵盖十类运维任务,命令连同一行说明一起显示。整个过程不涉及 AI 模型。匹配在应用内运行,你输入的内容不会离开你的电脑。
Command Recipes 到底做什么
Cmd+J 会在当前活动的终端分屏上方打开一个小输入框,本地分屏和 SSH 分屏都行。输入需求,点击 查找配方。MXterm Pro 把它和内置的十类配方比对,返回得分最高的一条。命令是固定的,不会现场生成。概览见 Command Recipes 页面。
这些配方都是 Linux 命令,适合在连到 Linux 服务器的 SSH 会话里用。其中不少在本地 macOS 或 Windows 的 shell 里跑不起来。
十个类别是:大文件与日志、内存/RAM、CPU 负载、磁盘空间、开放端口、Docker、Nginx、防火墙(UFW)规则、系统日志、重启。输入 apache 或 web server 也会触发 Nginx 配方,但给出的始终是 Nginx 命令。
下面是内置配方的几个例子。查找大日志文件,会得到 find /var/log -type f -name "*.log" -size +50M -exec ls -lh {} + 2>/dev/null | sort -rh -k5 | head -n 20。问什么在占用内存,会得到 ps aux --sort=-%mem | head -n 15。
问磁盘用量,先显示 df -h,再给出 du -sh /* | sort -h,列出最大的文件夹。
问“what's listening on port 8080”,它会从句子里取出 8080,生成 ss -tulpn | grep :8080 || lsof -i :8080。要清理 Docker,会得到 docker system prune -af --volumes。输入“test nginx config”,会得到 nginx -t && systemctl reload nginx,它除了测试配置,也会重载 Nginx。
结果卡片显示命令和一行说明,下面有两个按钮:复制和 插入并在终端中运行。后者把命令输入到当前聚焦的分屏并立刻按下 Enter,没有二次确认,同时也会把命令复制到剪贴板。
点击前先读一遍命令,尤其是 docker system prune -af --volumes 或 sudo reboot 这类配方。
Cmd+J 适合谁
它适合总是 SSH 到那几台服务器,又老在重敲(或重新搜)同样运维单行命令的人。磁盘还剩多少?什么在吃内存?这个端口上是谁在监听?Nginx 重载了吗?现在有没有进程霸占 CPU?
对这类问题,十个配方类别给你现成的 Linux 命令,省去敲字,也不用在生产机器上去信任某个 AI 模型的判断。
它不适合描述一个全新的、一次性的任务,再指望拿回对应的 bash。那更接近语言模型的活,而 Command Recipes 不会调用语言模型。如果你的输入落不进十个类别,它会提示“未找到匹配的配方”,不会猜一条看着像样但可能出错的命令。
命令匹配是怎么工作的
先对输入做规范化:转成小写,越南语还要去掉声调符号。所以“bộ nhớ”和“bo nho”会落到同一条内存配方上。规范化后的词按各配方的关键词组打分,得分最高的胜出。平局时,关键词组更多的配方胜出,再平局就取排在前面的。
有两个类别,检查指定端口和在防火墙里放行端口,还会用简单的数字匹配,从你原来的句子里取出具体数字。所以“is anything using port 443”和“firewall allow 443”都会把 443 带进命令,而不是返回通用模板。
“open port 443”会匹配防火墙配方,因为“open port”是它的关键词之一。返回的是 ufw allow 443/tcp && ufw reload && ufw status。
这是一组带关键词触发的精选命令,不是从零写 bash 的生成式模型。代价是:超出十个类别的请求它处理不了,而且匹配的是字词,不是语义。运行前先核对它显示的内容。
它能做的部分,每次结果都一样:固定的命令,不会出现凭空捏造的参数或编出来的文件路径。整个匹配是应用内的一个本地函数,所以 Command Recipes 本身不发任何网络请求。
防护栏确认对话框
与 Command Recipes 无关,MXterm Pro 会对直接输入或粘贴到任意终端分屏(本地 shell 或 SSH)的命令做防护栏检查。它不是读懂意图的风险模型,而是一份固定的已知破坏性写法清单,在 Rust 端检查:rm -rf /、rm -rf ~、rm -rf *、rm -f /、git push --force / -f、mkfs、dd if=、drop database、drop table,还有经典的 :(){ :|:& };: fork 炸弹。
命令命中其中一条时,MXterm 会弹出 安全防护栏拦截 对话框,显示完整命令和命中的原因。对话框有两个按钮:拦截并取消和批准并执行。你选定之前,什么都不会到达 shell。
范围很窄:它是一份模式清单,不是由 AI 审查命令做了什么。换个写法的破坏性命令不会触发,清单之外的风险操作也不会,比如写错的 chmod -R,或是不小心用 > 覆盖了还要用的文件。把它当作拦住少数灾难性、众所周知的单行命令的一张网,不能代替运行前自己读一遍命令。
Free 与 Pro
Command Recipes 在 Free 和 Pro 上完全一样,没有任何许可证检查。真正的限制在应用的其他地方。默认情况下,Free 没有分屏数量限制,允许 5 台已保存的 SSH 主机、每个房间 2 名 Control Room(原 War Room)成员,以及 1 台已保存的 MXterm Host。Pro 对这三项都没有限制。
Command Recipes、Warp AI、GitHub Copilot CLI 与手敲命令的对比
Warp 是内置真正生成式 AI 的终端。输入会发给云端模型,所以它能回答开放式的问题、解释报错,远远超出固定的任务清单。代价是你的输入会离开你的机器。
GitHub Copilot CLI 就是 copilot 命令,一个在终端里运行的 Agent 式助手,可以建议并解释 shell 命令。它取代了旧的 gh 扩展(gh copilot suggest / explain),后者已被 GitHub 弃用。它基于 LLM,能处理开放式请求,每次请求都发给托管模型。它是独立的 CLI 工具,不是围绕 SSH、SFTP 和分屏构建的终端应用。
在终端旁的分屏里跑 ChatGPT,是最开放的做法,因为你直接和完整模型对话。但每条命令都得手动复制粘贴到分屏里。
Cmd+J 放弃了这种开放性,换来的是:人们 SSH 上去要做的那十类任务,可以即时、离线得到答案。它和你的 SSH/SFTP 标签页、多个终端分屏、多 Agent 的 Control Room 在同一个窗口里。对日常运维问题,它能省掉另开一个 AI 终端或浏览器标签页,但遇到全新的需求时,不能取代通用的 AI 聊天。
多分屏 SSH、Command Recipes(Cmd+J)和多 Agent 的 Control Room (原 War Room):先免费用。
常见问题
不会。命令匹配完全在桌面应用内运行,这段代码路径里没有网络调用。你输入的内容和它显示的命令,都不会被这个功能发到任何地方。你的 SSH 密钥和密码也与它无关:SSH 标签页运行的是系统的 ssh,Command Recipes 看不到它们。
可以。输入会先规范化,匹配前去掉越南语声调符号,所以“bộ nhớ”和“bo nho”会命中同一条内存配方。目前只针对英文和越南语关键词调校。它不是语言模型,所以其他语言的结果,取决于你的措辞里碰巧有没有可识别的关键词。
它会提示“未找到匹配的配方”,不会去猜一条可能出错的命令。换个说法,往磁盘、RAM、CPU、端口、Docker、Nginx、防火墙、日志或重启上靠。也可以点弹窗里的快捷提示标签,看一个能用的例子。
不是。Warp AI 和 GitHub Copilot CLI 调用的是真正的语言模型,所以能回应开放式请求。Command Recipes 只是把你的文字和十个类别的内置配方做匹配。范围更窄,但即时给出结果,没有网络往返。
不需要。Command Recipes 在 Free 和 Pro 上一样,没有许可证检查。Pro 去掉的是已保存主机、Control Room 成员和 MXterm Host 这几项限制。