Microsoft leva os Coreutils do Linux para o Windows

Microsoft leva os Coreutils do Linux para o Windows

Durante a Build 2026, a Microsoft anunciou uma novidade que pode passar despercebida para usuários comuns, mas que tem potencial para mudar significativamente a rotina de desenvolvedores e administradores de sistemas: a chegada do Coreutils for Windows, um pacote oficial que traz diversos comandos clássicos do universo Unix/Linux para execução nativa no Windows.

Isso permite que comandos como ls, cat, cp, mv, rm, find e vários outros funcionem diretamente no sistema da Microsoft, sem a necessidade de instalar o Windows Subsystem for Linux (WSL), máquinas virtuais ou camadas de compatibilidade.

Embora a ideia não transforme o Windows em uma distribuição Linux, ela representa mais um passo na longa aproximação entre os dois ecossistemas.

O que são os Coreutils?

Para quem utiliza Linux diariamente, os Coreutils fazem parte do cotidiano. Trata-se de um conjunto de ferramentas fundamentais presentes praticamente em todas as distribuições.

São elas que fornecem comandos básicos para:

  • Navegação por diretórios;
  • Manipulação de arquivos;
  • Busca de conteúdo;
  • Processamento de texto;
  • Automação por scripts;
  • Administração de sistemas.

Quando um usuário executa comandos como:

ls
cp
mv
rm
cat
pwd
sort

na maioria das distribuições Linux, está utilizando componentes do projeto GNU Coreutils.

Essas ferramentas são tão essenciais que muitas vezes passam despercebidas. Porém, elas formam a base de inúmeros scripts, pipelines e fluxos de trabalho utilizados em servidores, containers, ambientes de nuvem e desenvolvimento de software.

O problema da fragmentação

Nos últimos anos, o Windows se tornou uma plataforma cada vez mais relevante para desenvolvimento. Ferramentas como Docker, Kubernetes, Git, Visual Studio Code, Node.js e linguagens como Python, Rust e Go ajudaram a aproximar o sistema da Microsoft do universo tradicionalmente dominado pelo Linux.

Ainda assim, havia um obstáculo recorrente: a inconsistência da linha de comando.

Um script criado para Linux frequentemente dependia de utilitários que simplesmente não existiam no Windows. Isso obrigava desenvolvedores a adaptar scripts, criar versões específicas para Windows, utilizar o WSL ou instalar ferramentas de terceiros.

Segundo a Microsoft, o objetivo do Coreutils for Windows é justamente eliminar essa fricção. A empresa afirma que deseja que comandos, pipelines e fluxos de trabalho utilizados em Linux, macOS, containers e ambientes de nuvem possam funcionar da mesma forma no Windows.

Construído sobre Rust

Um detalhe interessante é que a Microsoft não criou esses utilitários do zero. O projeto é baseado no uutils, uma reimplementação multiplataforma dos GNU Coreutils escrita em Rust.

O uutils ganhou bastante destaque nos últimos anos por tentar reproduzir o comportamento das ferramentas tradicionais do GNU utilizando uma linguagem moderna, com foco em segurança de memória e portabilidade.

A Microsoft agora mantém uma versão própria do projeto, empacotando:

  • uutils/coreutils;
  • uutils/findutils;
  • Uma versão adaptada do grep.

Tudo isso é distribuído em um único binário multiuso. A escolha do Rust também acompanha uma tendência crescente dentro da própria Microsoft, que vem adotando a linguagem em diversos componentes voltados para infraestrutura, segurança e desenvolvimento de sistemas.

Instalação simplificada

A instalação foi pensada para ser simples. Basta executar:

winget install Microsoft.Coreutils

e os utilitários passam a ficar disponíveis no sistema.

A iniciativa faz parte de uma estratégia apresentada na Build 2026 para tornar o Windows uma plataforma mais amigável para desenvolvedores, especialmente aqueles acostumados ao ambiente Linux.

Não é um GNU Coreutils completo

Apesar do nome, é importante não criar expectativas erradas. O Coreutils for Windows não é uma porta completa dos GNU Coreutils. Diversos comandos ficaram de fora intencionalmente.

Entre eles:

dd shred sync uname chmod chown chroot mkfifo tty who users

Segundo a Microsoft, alguns desses utilitários dependem de conceitos específicos do POSIX que simplesmente não existem no Windows, enquanto outros foram removidos por terem pouca utilidade no contexto da plataforma.

Isso significa que determinados scripts continuarão exigindo adaptações ou o uso do WSL.

Os conflitos inevitáveis

Outro desafio envolve comandos que já possuem equivalentes ou aliases dentro do Windows.

Ferramentas como:

ls cat cp mv pwd rm tee sleep

estão presentes no pacote, mas podem entrar em conflito com comandos internos do PowerShell ou do CMD. Isso significa que o comportamento pode variar dependendo do shell utilizado, da configuração do PATH e dos aliases existentes.

Para evitar problemas, a Microsoft exige o uso do PowerShell 7.4 ou superior. Mesmo assim, algumas limitações permanecem.

Diferenças que continuam existindo

Embora a compatibilidade seja alta, ainda existem características do Windows que impedem uma equivalência total com Linux.

Entre elas:

Final de linha

O Windows continua utilizando principalmente o formato CRLF (\r\n), enquanto Linux utiliza LF (\n). Isso pode afetar comparações de arquivos, expressões regulares e contagem de bytes.

Permissões

O Windows utiliza ACLs (Access Control Lists), enquanto Linux trabalha com permissões POSIX. Consequentemente, comandos relacionados a permissões não funcionam da mesma forma.

Sinais POSIX

Recursos como:

SIGTERM SIGKILL SIGHUP SIGUSR

não possuem equivalentes diretos no Windows. Por isso, comandos dependentes desse mecanismo permanecem ausentes.

Caminhos de arquivos

Embora o pacote aceite tanto / quanto \, alguns programas ainda podem gerar saídas diferentes dependendo do ambiente.

Parte de uma estratégia maior

Durante a Build 2026, a Microsoft também revelou os futuros WSL Containers, uma nova funcionalidade que permitirá criar e executar containers Linux diretamente através do WSL, sem depender de soluções externas.

A empresa também apresentou melhorias para a configuração automática de ambientes de desenvolvimento, integração com IA, novos modelos locais de linguagem e ferramentas voltadas para agentes autônomos.

Quando observados em conjunto, esses anúncios mostram uma direção clara: a Microsoft quer que desenvolvedores possam utilizar Windows sem abrir mão dos fluxos de trabalho tradicionais do ecossistema Linux.

Fique por dentro das principais novidades da semana sobre tecnologia e Linux: receba nossa newsletter!