Resumen / Puntos clave
- ¿Cansado de luchar con los comandos torpes de PowerShell?
- Microsoft acaba de lanzar un conjunto nativo de herramientas UNIX que te harán sentir como en casa en Windows.
La línea de comandos que estabas esperando
Los desarrolladores de Windows se enfrentan a una fricción constante con los comandos verbosos de PowerShell. La memoria muscular exige `ls`, `cat`, `cp`, pero el sistema requiere `Get-ChildItem`, `Get-Content`, `Copy-Item`. Esta disparidad fuerza un cambio de contexto, obstaculizando el flujo de trabajo y desperdiciando un tiempo valioso al traducir comandos UNIX concisos en cmdlets largos de PowerShell. Una experiencia de línea de comandos nativa y familiar ha estado críticamente ausente.
Microsoft ahora ofrece la solución definitiva: Microsoft Coreutils. Este puerto nativo, mantenido por Microsoft, del proyecto uutils/coreutils cierra directamente la brecha de la línea de comandos. Construido sobre una reimplementación en Rust de GNU Coreutils, se ejecuta de forma nativa dentro de su entorno Windows, sin requerir WSL ni una capa de virtualización. Obtenga una potente funcionalidad UNIX sin sobrecarga.
Instale con `WinGet install Microsoft.Coreutils` y desbloquee instantáneamente un conjunto de comandos esenciales. Acceda a herramientas familiares como: - `cat` - `grep` - `find` - `xargs` - `sort` Estos operan directamente dentro de su Windows Terminal existente. Esto proporciona productividad inmediata, aprovechando su memoria muscular UNIX establecida con los mismos flags, pipes y scripts que ya escribió para Linux o WSL. Su línea de comandos acaba de recibir una mejora significativa.
Tu memoria muscular ha vuelto
Recupere su memoria muscular de la línea de comandos. Instale Microsoft.Coreutils con un simple comando: `WinGet install Microsoft.Coreutils`. Este paquete es una compilación mantenida por Microsoft del proyecto uutils/coreutils, una reimplementación en Rust de GNU Coreutils. Inmediatamente obtiene acceso a ejecutables esenciales de estilo UNIX como `cat`, `grep`, `find`, `xargs` y `sort`, todos ejecutándose de forma nativa en Windows sin una capa de virtualización. Esto lleva sus comandos preferidos directamente a CMD o PowerShell.
Ejecute scripts potentes con los mismos flags y pipes en los que confía en Linux o WSL. Por ejemplo, encuentre todos los archivos TypeScript que contengan una cadena 'TODO' específica usando `find . -name "*.ts" | xargs grep "TODO"`. Este comando funciona precisamente como esperaría, demostrando que sus scripts existentes y su memoria muscular se traducen perfectamente. Se siente como si nada hubiera cambiado, que es el objetivo.
Proteja su legado. Microsoft incluyó puertos de los `sort` y `find` originales de DOS junto con las nuevas versiones de Unix. Este diseño inteligente evita roturas en scripts CMD antiguos que dependen de la sintaxis de estilo DOS, permitiendo que se ejecuten concurrentemente. Tanto los comandos DOS tradicionales como los comandos Unix modernos ahora coexisten, ofreciendo compatibilidad total con versiones anteriores sin compromiso.
Las trampas de PowerShell a evitar
Los alias incorporados de PowerShell crean un inconveniente crítico. Comandos como `ls`, `cat` y `rm` mantienen la precedencia, ejecutando los cmdlets nativos de PowerShell sobre los ejecutables de Coreutils recién instalados. Llamar a `ls` todavía invoca `Get-ChildItem` internamente. Para acceder al comando UNIX, debe llamar explícitamente a `ls.exe` o borrar el alias de PowerShell existente para ese comando.
Anticipe limitaciones con el piping. La pipeline basada en objetos de PowerShell puede corromper flujos binarios al interactuar con ejecutables nativos. Por ejemplo, comandos como `xargs` y `find` pueden encontrar problemas con su entrada o salida esperada, ya que el manejo de salida de PowerShell a menudo choca con sus expectativas de flujo binario. Esto puede llevar a un comportamiento inesperado o corrupción de datos.
Comprenda que este no es un entorno POSIX completo. Comandos cruciales como `chmod` y `chown` están completamente ausentes, no simulados ni emulados. Windows gestiona los permisos de archivos a través de Listas de Control de Acceso (ACLs), fundamentalmente diferentes de los bits de permiso utilizados en sistemas tipo UNIX. No puede manipular directamente los permisos POSIX; estos son binarios nativos, no un entorno Linux completo.
¿El asesino de WSL? No del todo.
Coreutils ofrece GNU Coreutils robustas a Windows, pero no es un reemplazo de WSL. Comprenda esta distinción: Coreutils proporciona binarios nativos, mejorando la línea de comandos existente de Windows para mayor comodidad y acceso directo a comandos familiares tipo Unix, no una emulación completa de un entorno Linux. Fundamentalmente, no espere que funcionen características POSIX como `chmod` o `chown`; estas se omiten intencionalmente, ya que Windows se basa en ACLs, no en bits de permiso, lo que significa que esta herramienta agiliza su flujo de trabajo sin virtualizar un sistema operativo completo.
Enjoying this? Get one like it in your inbox each morning.
one email a day · unsubscribe in two clicks · no third-party tracking
Ideal para scripting rápido y diario, Coreutils destaca en la automatización de tareas donde una instancia completa de WSL introduce una sobrecarga innecesaria. Ejecute comandos de una sola línea familiares como `find . -name "*.ts" | xargs grep "TODO"` directamente en PowerShell o CMD, lo que permite una manipulación rápida de archivos, procesamiento de texto y filtrado de datos utilizando comandos que ya conoce, sin cambiar de contexto. Integre sin problemas estos comandos en scripts por lotes o flujos de trabajo de PowerShell existentes.
El lanzamiento de Coreutils por parte de Microsoft representa un cambio estratégico significativo, no solo una conveniencia, sino un claro compromiso para mejorar la experiencia nativa del desarrollador en Windows. Al proporcionar herramientas Unix mantenidas por Microsoft en Windows, la brecha entre plataformas se reduce significativamente, otorgando a los desarrolladores acceso inmediato a la memoria muscular multiplataforma. Esto convierte a Windows en un entorno más potente y versátil para el desarrollo moderno, subrayando la dedicación de Microsoft a un ecosistema abierto e integrado.
Preguntas Frecuentes
¿Qué es Microsoft Coreutils?
Es un paquete de utilidades de línea de comandos UNIX nativas para Windows, mantenido por Microsoft, basado en una reimplementación moderna en Rust de las clásicas GNU Coreutils.
¿Todavía necesito WSL después de instalar Coreutils?
Sí, para un entorno Linux completo. Coreutils proporciona binarios de comandos específicos, pero no es un sistema completo compatible con POSIX con características como la gestión de permisos (`chmod`).
¿Cómo uso el comando `ls` real en lugar del alias de PowerShell?
Debe llamar al ejecutable directamente (`ls.exe`) o eliminar el alias de PowerShell para `ls` usando el comando `Remove-Item alias:ls` en su sesión o perfil.
¿Es esto mejor que Git Bash?
Es diferente. Coreutils proporciona binarios nativos de Windows que se integran directamente en CMD o PowerShell, mientras que Git Bash proporciona un entorno de emulación de Bash separado.
