Windows 的 Coreutils
Windows 的 UNIX 风格核心工具。您在 Linux、macOS 和 WSL 上使用的相同命令和管道 - 原生支持。安装 · Shell 冲突 · Windows 注意事项 · 贡献由 Microsoft 维护的 uutils/coreutils、findutils 和一个兼容 GNU 的 grep 的构建,打包为一个多调用的二进制文件,供 Windows 使用。目标是使在 Linux、macOS、WSL、容器和 Windows 之间的移动无摩擦:相同的命令、标志和管道以相同的方式工作,因此现有脚本可以无翻译地迁移。每个命令都支持标准的 --help 标志以获取完整的语法和选项。该项目处于预览阶段。安装使用 WinGet 安装 Windows 的 Coreutils:winget install Microsoft.Coreutils 或从我们的发布页面获取最新构建。Shell 冲突一些命令与 CMD 和 PowerShell 的内置命令同名。Coreutils 版本是否运行取决于 shell、PATH 顺序,以及(对于 PowerShell)别名表。⚠️ 需要 PowerShell 7.4 或更新版本。旧版 PowerShell 不受支持。图例:✅ 可用且有效 · ⚠️ 可用但与内置命令冲突 · 🛑 不可用。 命令 CMD PowerShell 7.4+ 备注 cat ✅ ⚠️ cp ✅ ⚠️ date ⚠️ ⚠️ dir 🛑 🛑 与内置 DOS 命令冲突 echo ⚠️ ⚠️ expand 🛑 🛑 与内置 DOS 命令冲突 find ✅ ✅ 内置 DOS 命令的集成端口 hostname ✅ ✅ Windows 内置命令的超集 kill 🛑 🛑 由于 Windows 缺乏信号而不可用;但未来可能实现 SIGTERM/SIGKILL 的某种形式 ls ✅ ⚠️ mkdir ⚠️ ⚠️ more 🛑 🛑 与内置 DOS 命令冲突(可考虑 edit 作为替代) mv ✅ ⚠️ paste 🛑 🛑 与内置 DOS 命令冲突 pwd ✅ ⚠️ rm ✅ ⚠️ rmdir ⚠️ ⚠️ sleep ✅ ⚠️ sort ✅ ✅ 内置 DOS 命令的集成端口 tee ✅ ⚠️ timeout 🛑 🛑 依赖于 kill 的功能 uptime ✅ ⚠️ whoami 🛑 🛑 与内置 Windows 命令冲突 Windows 注意事项 差异 详细 CRLF 行结尾 Windows 文本文件通常使用 CRLF ( \r\n )。大多数工具以透明方式处理,但用 $ 进行模式匹配和精确字节计数可能会受到影响。 无 /dev/null 使用 NUL 代替,例如 find . -name "*.log" > NUL 无 POSIX 信号 SIGHUP、SIGPIPE 和 SIGUSR 等信号不可用。Ctrl+C ( SIGINT ) 按照预期工作。 路径分隔符 / 和 \ 都被接受。一些实用程序产生 \ 分隔的输出,这可能会影响下游管道。 文件权限 Windows 使用 ACL,而不是 POSIX 权限位。基于权限的谓词(例如 find -perm )可能表现不同或不可用。 符号链接 读取现有的符号链接无需提升。创建新的符号链接需要开发者模式(设置 > 系统 > 高级)或提升的终端。 故意删除 由于依赖于仅限 POSIX 的概念、会破坏现有 Windows 脚本或在 Windows 上根本不实用的上游存在的命令未被包含在内。 dd : 未来可能有用。 dircolors、shred、sync、uname : 在 Windows 上并不特别有用。 chcon、chgrp、chmod、chown、chroot、groups、hostid、id、install、logname、mkfifo、mknod、nice、nohup、pathchk、pinky、runcon、stdbuf、stty、tty、users、who : 仅限 POSIX 的概念在 Windows 上不可用。 贡献 欢迎提交错误报告和拉取请求。有关仓库布局和更改如何在此仓库与上游 uutils 项目之间流动的详细信息,请参阅 CONTRIBUTING.md。
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡