Los más veteranos seguro que todavía recordáis el rechazo inicial de hace unos años por parte de Microsoft contra todo aquello que tuviese que ver con el software de código abierto. Por supuesto, aquí se incluyen los sistemas operativos Linux y Unix que poco a poco han aceptado como aliados.
Es posible que muchos de vosotros ya estéis acostumbrados a utilizar la herramienta WSL que encontramos de manera nativa en Windows. Pero parece ser que ahora el gigante tecnológico va a ir un paso más allá. Os contamos todo esto debido a que Microsoft acaba de incorporar oficialmente diversos comandos de Linux muy conocidos y usados a su Windows.
En concreto, se trata de una serie de utilidades básicas de Windows basadas en Rust que están en desarrollo. Hablamos de comandos tan conocidos y habituales en estos entornos de código abierto como ls, grep, cat, cp o find. En realidad son los mismos comandos que durante décadas han impulsado los sistemas Linux y que ahora están disponibles de forma nativa en Windows. Todo ello con el mantenimiento de la propia Microsoft.
Estos comandos se pueden considerar como elementos fundamentales en los que se basan todos los sistemas Linux para operaciones básicas de archivos, procesamiento de texto y scripts de shell. De hecho, podemos afirmar que millones de scripts y flujos de trabajo, dependen de ellos. Una vez que sabemos esto, seguro que os resulta cuanto menos curioso, que ahora Microsoft está distribuyendo y manteniendo una versión de estos para Windows de manera nativa.
Y no, esto no es WSL, es decir, no se necesita un subsistema Linux ejecutándose en segundo plano.
Así funcionan los comandos de Linux, en Windows
Podemos decir que estas órdenes de Linux se ejecutan de forma nativa en Windows con las mismas opciones y comportamiento que en Linux. Básicamente, el objetivo principal de Microsoft es lograr una transición fluida entre Linux, macOS, WSL, contenedores y el propio sistema Windows.
Esto permitirá tanto a usuarios finales como a desarrolladores o empresas, escribir un script una vez y ejecutarlo en cualquier lugar, por ejemplo. Así, el paquete incluye uutils/coreutils, una versión moderna en Rust de estas utilidades básicas de GNU, findutils y grep, en un único archivo binario con múltiples llamadas.
Al mismo tiempo, cada comando admite diversas opciones estándar con los mismos parámetros y pipelines, sin necesidad de conversión alguna.

Por el momento, lo único que debemos tener presente es que este es un proyecto que de momento aún está en fase de vista previa. Además, por ahora solo cuenta con un número limitado de comandos, por lo que irán en aumento a lo largo de los próximos meses. Dado que algunos de estos tienen el mismo nombre en Linux y Windows, existe la posibilidad de que existan algunos conflictos.
En el caso de que queráis saber de primera mano qué utilidades básicas de Windows están disponibles, lo mejor es echar un vistazo a su repositorio oficial de GitHub a través de este enlace.
Por ejemplo, nos encontramos con que hay columnas separadas para la ventana del símbolo del sistema (CMD) y PowerShell. Esto se traduce en que algunos comandos funcionan solo en el símbolo del sistema, pero no en PowerShell, y viceversa. Podemos confirmar que este es un proyecto que ahora mismo está en pleno desarrollo y progreso y que se espera que se mejore próximamente.
