发现
命令行工具开发者工具
WinuxCmd:Windows 原生 Unix 命令集
一个约 3 MB 的原生 Windows 可执行文件,直接在 Windows 路径上提供 176 个 Unix 命令。
- 浏览
- 1
- 访问
- 0
- 下载
- 0
- 版本
- v1.2.1
- 平台
- Windows
该作品还没有经过官方审核。访问演示、下载或复制命令前,请自行确认来源可信。
详细介绍
项目简介
WinuxCmd 用单个原生 Win32 可执行文件在 Windows 上实现 Unix 命令,不需要 WSL、Cygwin 或 MSYS2,也不做路径转换。它使用 GNU 语法,并直接理解 C:\、UNC 路径和 NTFS ACL。官方数据:176 个命令、1,924 个选项,约 3–4 MB 单文件,冷启动约 19 ms,采用静态链接、零运行时依赖。
项目以 C++23 编写,采用 MIT 许可证,可与同组织的 niubash(Windows 原生 bash)配合使用。
主要功能
- 原生而非模拟:直接调用 Win32 API,提供
cygpath、getfacl等用于在 Windows 路径与环境之间进行转换。 - GNU 兼容性:
find实现 88 个选项(完整表达式解析、-exec/-execdir/-ok、-printf);grep支持 PCRE2;sed支持原地-i编辑。 - 内置 WPM 包管理器:用于安装不适合自己重写的工具,如 jq、ripgrep、fd、fzf、bat、make、neovim、curl、wget。
- 测试:3,659 个单元测试,以及与 GNU coreutils 9.7 等上游实现的 178 例差分对比测试(165 通过,13 个已知平台差异)。
- 两种版本:默认版不会为
[、env、false、kill、test、time、true创建命令入口链接(这些语义由宿主 shell 内建命令决定;winuxcmd kill -9 <pid>仍可用);full 版生成全部入口,仅以-full资源名单独发布。
安装与使用
使用 winget 安装:
winget install WinuxCmd
也可从 GitHub Releases 下载 WinuxCmd-<version>-x64-setup.exe(或 ARM64 安装包),或解压 WinuxCmd-<version>-win-x64.zip 便携版并加入 PATH。
典型用法与 GNU 命令一致:
ls -la
grep -rn "TODO" src/
sed -i 's/http:/https:/g' config.ini
find . -name "*.tmp" -exec rm {} \;
find . -name "*.cpp" -print0 | xargs -0 wc -l
WPM 使用示例:
wpm install jq
wpm search json
wpm list --all
如需要完整的 bash 语言环境,可搭配 niubash 使用。
注意事项
- 默认版与 full 版的差别只在是否为
[、env、false、kill、test、time、true创建入口链接;full 版不进入 wpm 索引,需单独下载。 - 部分命令仍存在与 GNU 的行为差异:例如
whoami/users/groups选项较少,stat在深层路径上有差异,fmt、tsort、ptx存在输出格式差异,cp的部分选项在 Windows 上被拒绝,Linux 所有权与 SELinux 相关选项不可用。 - 测试版二进制通过 SignPath Foundation 进行代码签名,正式发布签名仍待审批。
- 从源码构建需要 VS 2022 + CMake 3.30 + Ninja。
本作品整理自 GitHub 开源项目 unixwin/WinuxCmd,原作者 @unixwin,许可证 MIT。中文介绍由 AI 根据项目 README 整理,以原仓库为准。
更新记录
- v1.2.1当前版本
发布 x64 与 ARM64 二进制;引入默认版与 full 版区分,默认版不为 [、env、false、kill、test、time、true 创建入口链接;提供安装包、便携压缩包及 AI agent skill 包。
评论