在Windows终端里习惯性地敲下ls,返回的却是“命令未找到”——这种场景对跨平台开发者来说再熟悉不过。微软在2026 Build开发者大会上给出了一个原生级的回答:推出适用于Windows 11的Coreutils,将一批常用Linux命令直接做成Windows应用,不再依赖WSL或第三方移植。
正方看到的是务实。Coreutils的目的非常明确:让开发者在Linux、macOS、Windows与WSL之间切换时,继续使用熟悉的命令行工具,减少脚本改写和环境切换成本。项目代码已托管在GitHub,基于Rust重写的开源uutils项目打造,微软强调这些类Linux命令可在Windows上原生运行,帮助现有命令和脚本跨平台复用。工具包覆盖cat、cp、find、grep、hostname、ls、mv、pwd、rm、sleep、tee、uptime等常见命令,用户只需通过winget install Microsoft.Coreutils即可安装。技术实现上,微软用一个coreutils.exe承载全部功能,然后通过NTFS硬链接机制创建ls.exe、cp.exe等入口——多个文件名指向磁盘上同一个文件,既能减少重复文件占用,也便于集中维护。当用户执行某个命令,系统加载coreutils.exe并根据调用文件名判断应运行哪项工具,这让微软只需维护一个可执行文件,同时保留了Linux风格的命令入口。
![]()
反方则看到了边界。命令行为会受Shell类型、PATH顺序和PowerShell别名表影响,意味着同样的脚本在不同环境里未必表现为同样的输出。同时,dir、more、paste、whoami因为与现有Windows命令冲突而没有被纳入工具包;chmod、chown、chroot、nohup、tty、who也因为依赖POSIX功能而缺席。对需要完整POSIX语义的场景来说,Coreutils目前更像是一个便利层,而不是WSL的替代品。那些缺失的权限和终端控制命令,恰恰是许多自动化部署和容器化脚本的关键依赖。
所以我的判断是:这是一次精准的减负,而不是一场革命。微软没有试图把整个GNU Coreutils一字不差地搬进Windows,而是选择了最常见、最不易冲突的子集,用最小的维护成本解决最频繁的切换痛点。对于日常需要同时照看Linux服务器和Windows本机的开发者,它确实可以减少大量环境适配工作。但也正因为边界清晰,你需要自己理清Shell别名、PATH顺序带来的优先级差异,并清楚哪些命令在Coreutils包中并不可用。这件事的长期价值可能不在于补齐缺失命令,而在于让Windows的原生命令行工具箱,朝着跨平台标准又贴紧了一层。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.