[x-cmd] 写给计算机科学爱好者的 x-cmd 入门指南

张开发
2026/4/4 14:52:41 15 分钟阅读
[x-cmd] 写给计算机科学爱好者的 x-cmd 入门指南
写给计算机科学爱好者的 x-cmd 入门指南为什么要用 命令行整合多样能力: 当你长期只需要做一件事时其实只需熟悉这项业务的图形用户界面例如一个网页控制台但如果要处理多项业务时:例如在开发时因为测试需要在阿里云的 DNS 上设置域名指向一台 在腾讯云的测试服务器。你可以选择分别打开两个网页先登陆然后找到对应的页面再设置。但如果你熟悉命令行你可以直接在命令行下一行命令查看测试服务器的 IP第二行命令设置域名解析。也可以用第三行命令查看域名解析是否生效。命令就是代码只要写对基本上就能迁移到不同环境:你可以选择将一系列的命令组合来发大招这个大招就是脚本我很喜欢用灭霸的无限手套来打这个比喻每个命令就是一颗宝石无限手套就是 x-cmd。不同的是x-cmd 还会通过自带的包管理器帮你自动获取宝石。为什么要用 x-cmdx-cmd 其实是一个我工作多年观察所得的一些经验的结晶它的目标是:在不同阶段工程师都需要在各种差异巨大的环境下快速响应开发部署、调试、运维的需求。这些环境:在不同的系统上: 例如你的开发环境是 macos但你的服务器是 ubuntu你所使用的容器镜像是 alpine你在现场演示的环境则是 windows使用不同的 shell 上: 例如你的开发环境是 zsh但你的服务器是 bash在很多容器 alpine 类型 你只能使用 ash在容器内: 容器的系统一般更精简。我知道最好还是通过日志还有容器观测工具来查看。但就像大家被教育成要好好写日志真的出问题时日志也总是不够的。有些时候还是需要登进容器来调试的。在没有外网支持的环境下: 例如你的服务器在内网在不同地区网络的网络环境切换: 你的服务器在阿里云国内服务器但你的开发环境在 AWS 的国外服务器在没有特权权限的环境下例如在客户的服务器上每一个系统级的改动都需要仔细例如 apt install万一触发了某些依赖更新结果导致崩溃这不是一个概率高低的问题而是一旦发生后果是不可接受的。有些脚本需要在不同的环境下快速部署这些脚本很鸡肋。走发布流程太夸张管理成本也高但还是需要一种方式能够快速在不同计算机上使用。虽然这些脚本看起来不重要但是在关键时刻却能够对问题一针见血一招毙敌就像黄药师的弹指神通。另外还是不能公开的。现在开始为了最好的体验最好采用 linux/mac如果采用 windows建议采用 WSL。 git-bash 在效率上会有一定损失。# 安装eval$(curlhttps://get.x-cmd.com)考虑到大家刚接触命令行我们的教程会 偏向用户交互以及尽量充分利用 AI 来探索。基本使用首先玩个游戏在我们开始之前先开个小差玩个俄罗斯方块。x shtris回归主题 – x-cmd 的包管理好我们回到正题, x-cmd 内部用 shell 和 awk 完成了很多功能但有很多功能需要通过第三方的开源包完成的。为此x-cmd 自带一个 包管理器这个包管理器包含了 536 个强大的现代化命令行工具。与上面的 shtrix 是采用 shell 不同大部分的包都是二进制工具。例如查看当前磁盘的命令行工具 dufx yazi# 文件管理器x duf# 查看当前磁盘的命令行工具 duf作为 du 的现代化替换x dust# 替代系统原生du 的 文件查看作为 du 的现代化替换x smart# 经常装机的同学可能知道这是一个查看 磁盘硬件数据的非常有用的工具想知道更多可以参考 pkgx-cmd包管理器的首要目标 – 快速安装并管理脚本引擎x-cmd 可以安装、切换、管理不同的开发语言运行时xenvusenodev20.11.1node-vxenvusenodev19.9.0node-v这个工具并非 x-cmd 首创我之前在开发 java 时是采用 sdkman 来管理的。在开发 node/typescript是采用 nvm 管理的。在这个基础上x-cmd 可以快速执行代码:x python-cprint(hello x-cmd)xnode-econsole.log(hello x-cmd)在日常使用上使用 posix shell 和 awk 实现功能并不方便python/js/lua 等等常用脚本引擎 才是更好的选择。为何 x-cmd 采用 sh/awk 实现:启动时间最小 – 这是我放弃了node实现的起因shell 和 awk 存在于所有的 posix 环境下二进制实现在部署时不透明sh/awk 脚本本身可以成为资深用户在目标机器上快速参考的原理手册x-cmd 有早期的 typescript/golang/rust/bash 的尝试由于上述原因我在 sh/awk 上克服了不少困难也在不 理解其理念充分发挥其优势所以本质来说posixshell/awk 的理念和哲学定义了 x-cmd 的形态。LLM在 x-cmd 实现过程中LLM 异军突起变得非常重要 – LLM 变成了 x-cmd 无限手套中 最为强大的 宝石 我们很早提供 公有大模型 CLI 以及 本地大模型的 应用模块但没有马上发布是因为我们一直在思考并尝试整合找出最适合命令行场景的使用方式。当前我建议大家先使用 gemini pro因为免费版的限制更少。可以参考 gemini你需要去上网 google申请 gemini 的 access-key。攻略如下:配置 geminix gemini--cfginit# 尝试 chatgemini 在命令行下如何看时间# 尝试 co, what is my current user

更多文章