Desarrolladores
Cómo usar comandos de Linux en Windows 11 sin WSL
¿Cansado de abrir WSL cada vez que necesitas usar grep o find en Windows? Microsoft ofrece una solución con Coreutils, un paquete de más de 75 herramientas de línea de comandos al estilo Unix que funcionan de forma nativa en Windows 11. Sin máquinas virtuales, sin Bash y sin complicaciones.
¿Qué es Coreutils y por qué es relevante?
El origen: de GNU a Microsoft
Coreutils no es un desarrollo exclusivo de Microsoft. Se basa en uutils, un proyecto de código abierto escrito en Rust que reimplementa las herramientas GNU Coreutils. Estas herramientas, como ls, cp o grep, son estándar en sistemas Unix y Linux, pero ahora están disponibles para Windows sin depender de entornos externos.
¿Por qué Microsoft lo adoptó?
La respuesta es clara: los desarrolladores lo demandaban. Herramientas como grep o find son esenciales en flujos de trabajo modernos, y muchos usuarios de Windows las extrañaban. Coreutils elimina la necesidad de cambiar de contexto entre sistemas operativos, mejorando la productividad.
Lista completa de comandos disponibles en Coreutils
A continuación, los comandos incluidos en el paquete Microsoft.Coreutils para Windows:
| Comando | Descripción |
|---|---|
base32 |
Codifica o decodifica datos en base32. |
base64 |
Codifica o decodifica datos en base64. |
basename |
Muestra el nombre del archivo sin la ruta. |
cat |
Muestra el contenido de uno o más archivos. |
chgrp |
Cambia el grupo de un archivo (limitado en Windows). |
chmod |
Cambia los permisos de un archivo (funcionalidad limitada en Windows). |
cksum |
Calcula la suma de verificación CRC de un archivo. |
comm |
Compara dos archivos ordenados línea por línea. |
cp |
Copia archivos y directorios. |
csplit |
Divide un archivo en secciones según un patrón. |
cut |
Extrae secciones de cada línea de un archivo. |
date |
Muestra o configura la fecha y hora del sistema. |
dd |
Copia un archivo con conversiones de formato. |
df |
Muestra el espacio disponible en los discos. |
dircolors |
Configura colores para el comando ls. |
dirname |
Muestra el directorio de una ruta. |
du |
Muestra el uso del espacio en disco de archivos y directorios. |
echo |
Muestra una línea de texto. |
env |
Muestra o configura variables de entorno. |
expand |
Convierte tabulaciones en espacios. |
expr |
Evalúa expresiones. |
factor |
Descompone números en factores primos. |
false |
Devuelve un estado de salida fallido. |
fmt |
Formatea texto para ajustarlo a un ancho específico. |
fold |
Envuelve líneas de texto para ajustarlas a un ancho específico. |
getconf |
Obtiene valores de configuración del sistema. |
grep |
Busca patrones en archivos. |
groups |
Muestra los grupos a los que pertenece un usuario. |
hashsum |
Calcula sumas de verificación (hash) de archivos. |
head |
Muestra las primeras líneas de un archivo. |
hostid |
Muestra el identificador del host. |
hostname |
Muestra el nombre del host. |
id |
Muestra la identidad del usuario. |
install |
Copia archivos y configura permisos. |
join |
Une líneas de dos archivos según un campo común. |
kill |
Envía señales a procesos (funcionalidad limitada en Windows). |
link |
Crea enlaces duros entre archivos. |
ln |
Crea enlaces simbólicos o duros. |
logname |
Muestra el nombre de inicio de sesión del usuario. |
ls |
Lista el contenido de un directorio. |
md5sum |
Calcula la suma de verificación MD5 de un archivo. |
mkdir |
Crea directorios. |
mkfifo |
Crea una tubería con nombre (FIFO). |
mknod |
Crea un archivo de dispositivo (funcionalidad limitada en Windows). |
mktemp |
Crea un archivo temporal. |
mv |
Mueve o renombra archivos. |
nice |
Ejecuta un comando con una prioridad modificada. |
nl |
Numera las líneas de un archivo. |
nohup |
Ejecuta un comando inmunizado a las señales de colgado. |
od |
Muestra el contenido de un archivo en formato octal, hexadecimal o binario. |
paste |
Combina líneas de archivos. |
pathchk |
Verifica si los nombres de archivo son válidos. |
pinky |
Muestra información sobre usuarios conectados. |
pr |
Formatea archivos para impresión. |
printenv |
Muestra las variables de entorno. |
printf |
Formatea e imprime texto. |
ptx |
Genera un índice permutado de palabras en un archivo. |
pwd |
Muestra el directorio de trabajo actual. |
readlink |
Muestra el destino de un enlace simbólico. |
realpath |
Muestra la ruta absoluta de un archivo. |
rm |
Elimina archivos o directorios. |
rmdir |
Elimina directorios vacíos. |
seq |
Genera una secuencia de números. |
sha1sum |
Calcula la suma de verificación SHA-1 de un archivo. |
sha224sum |
Calcula la suma de verificación SHA-224 de un archivo. |
sha256sum |
Calcula la suma de verificación SHA-256 de un archivo. |
sha384sum |
Calcula la suma de verificación SHA-384 de un archivo. |
sha512sum |
Calcula la suma de verificación SHA-512 de un archivo. |
shred |
Elimina un archivo de manera segura. |
shuf |
Genera permutaciones aleatorias de líneas de un archivo. |
sleep |
Pausa la ejecución por un tiempo determinado. |
sort |
Ordena líneas de texto. |
split |
Divide un archivo en partes más pequeñas. |
stat |
Muestra información sobre un archivo. |
stdbuf |
Ajusta el búfer de flujos estándar. |
stty |
Configura opciones de la terminal. |
sum |
Calcula la suma de verificación y el tamaño de un archivo. |
sync |
Sincroniza los datos del disco con la memoria. |
tac |
Muestra el contenido de un archivo en orden inverso. |
tail |
Muestra las últimas líneas de un archivo. |
tee |
Lee de la entrada estándar y escribe en la salida estándar y archivos. |
test |
Evalúa una expresión condicional. |
timeout |
Ejecuta un comando con un límite de tiempo. |
touch |
Actualiza la marca de tiempo de un archivo. |
tr |
Traduce o elimina caracteres. |
true |
Devuelve un estado de salida exitoso. |
truncate |
Trunca un archivo a un tamaño específico. |
tsort |
Ordena líneas de texto según un orden topológico. |
tty |
Muestra el nombre del terminal conectado a la entrada estándar. |
uname |
Muestra información sobre el sistema. |
unexpand |
Convierte espacios en tabulaciones. |
uniq |
Filtra líneas repetidas adyacentes en un archivo. |
unlink |
Elimina un archivo por su nombre. |
uptime |
Muestra el tiempo que el sistema ha estado activo. |
users |
Muestra los usuarios conectados actualmente. |
wc |
Cuenta líneas, palabras y caracteres en un archivo. |
who |
Muestra información sobre los usuarios conectados. |
whoami |
Muestra el nombre del usuario actual. |
yes |
Muestra una cadena repetidamente hasta que se interrumpa. |
Guía de instalación paso a paso
Requisitos previos
- Windows 10 (versión 1809 o superior) o Windows 11.
- WinGet instalado. Si no lo tienes, descárgalo desde la tienda de Microsoft.
- Permisos de administrador para instalar paquetes.
Pasos para instalar
- Abre Windows Terminal o PowerShell como administrador.
- Ejecuta el comando:
winget install Microsoft.Coreutils. - Espera a que se complete la instalación.
- Verifica la instalación con:
ls --version.
Solución de problemas
Error: “winget no se reconoce”
Solución: Asegúrate de que WinGet esté instalado. Si no, descárgalo desde la tienda oficial de Microsoft.
Error: “No se encontró el paquete”
Solución: Actualiza WinGet con winget upgrade y vuelve a intentarlo.
5 formas prácticas de usar Coreutils
Buscar errores en archivos de log
Si tienes un archivo error.log con miles de líneas, puedes buscar todas las instancias de 404 Not Found con:
grep "404 Not Found" error.log
Contar líneas de código en un proyecto
Para contar todas las líneas en archivos .py de una carpeta:
find . -name "*.py" | xargs wc -l
Filtrar archivos por tamaño
Para encontrar archivos mayores a 100 MB en tu disco:
find /c -type f -size +100M
Listar archivos ordenados por fecha
Para ver los archivos más recientes en una carpeta:
ls -lt
Buscar y reemplazar texto en archivos
Para reemplazar todas las instancias de “viejo” por “nuevo” en un archivo:
sed -i 's/viejo/nuevo/g' archivo.txt
Coreutils vs. WSL vs. Git Bash
| Característica | Coreutils | WSL | Git Bash |
|---|---|---|---|
| Rendimiento | Más rápido (nativo) | Más lento (sobrecarga de máquina virtual) | Depende de MSYS2 |
| Acceso a comandos Linux | 75+ comandos | Todos (depende de la distribución) | Limitado (solo los incluidos en Git) |
| Integración con Windows | Perfecta (binarios nativos) | Buena (pero requiere máquina virtual) | Buena (pero limitado a Git) |
| Requisitos | Solo WinGet | WSL2 + distribución Linux | Instalar Git para Windows |
| Uso de recursos | Bajo | Alto (máquina virtual en segundo plano) | Bajo |
| Ideal para | Desarrolladores que necesitan comandos básicos de Linux. | Desarrolladores que necesitan un entorno Linux completo. | Desarrolladores que trabajan con Git. |
Ventajas y desventajas de Coreutils
Ventajas
- Rendimiento superior: al ser nativo, evita la sobrecarga de WSL.
- Fácil instalación: un solo comando con WinGet.
- Integración perfecta: funciona directamente en el Terminal de Windows.
- Sin dependencias: no requiere WSL, máquinas virtuales ni Bash.
Desventajas
- Comandos limitados: no incluye todas las herramientas de GNU (ejemplo:
chmodychowntienen funcionalidad limitada en Windows). - Conflictos con comandos de Windows: no incluye
dir,moreowhoami. - Solo para Windows 10/11: no compatible con versiones anteriores.
Alternativas a Coreutils para Windows
WSL (Windows Subsystem for Linux)
Ideal si necesitas un entorno Linux completo. Soporta todas las herramientas de Linux, pero requiere más recursos.
Cómo instalar: wsl --install (Windows 11) o sigue la guía oficial de Microsoft.
Git Bash
Incluye un subconjunto de herramientas de Linux, ideal para desarrolladores que trabajan con Git. Viene con la instalación de Git para Windows.
Cygwin
Proporciona un entorno similar a Linux en Windows, con soporte para miles de paquetes. Más pesado que Coreutils, pero más completo.
Sitio oficial: cygwin.com
MSYS2
Entorno de desarrollo para Windows que incluye herramientas de Linux. Popular entre desarrolladores de C/C++.
Sitio oficial: msys2.org
Preguntas frecuentes
¿Coreutils reemplaza a WSL?
No. Coreutils es ideal para tareas ligeras (como grep o sort), mientras que WSL sigue siendo necesario para entornos Linux completos o herramientas que dependen de permisos de archivo específicos (ejemplo: chmod).
¿Qué comandos no están incluidos en Coreutils?
No incluye chmod, chown, chroot con funcionalidad completa (por incompatibilidad con el modelo de permisos de Windows) ni dir, more o whoami (por conflicto con comandos nativos de Windows).
¿Cómo instalo Coreutils en Windows?
Ejecuta el comando winget install Microsoft.Coreutils en una terminal de Windows con permisos de administrador.
¿Coreutils funciona en Windows 10?
Sí, pero solo en la versión 1809 o superior.
¿Listo para probar Coreutils? Instálalo ahora mismo con:
winget install Microsoft.Coreutils
Curiosidades
Suyu 0.0.4 introduce recompilación estática en la emulación de Nintendo Switch
Arte y Cultura
ChatGPT Imágenes 2.5: más detalles edición precisa y generación un 50% más rápida
OpenAI lanza ChatGPT Imágenes 2.5, su modelo de generación de imágenes con mayor fidelidad, edición precisa y un 50% menos de latencia, para revolucionar la creación visual en usuarios y desarrolladores.
Audio
Nemotron 3.5 ASR: el modelo de NVIDIA para transcribir 40 locales de idioma en tiempo real
NVIDIA ha lanzado Nemotron 3.5 ASR Streaming 0.6B, un modelo de reconocimiento automático de voz (ASR) con 600 millones de parámetros diseñado para transcripción multilingüe en streaming. Disponible en Hugging Face, este modelo admite 40 locales de idioma desde un solo checkpoint, integra puntuación y capitalización en la salida, y permite ajustar la latencia desde 80 milisegundos hasta 1.12 segundos, según la configuración elegida.
-
Apps11 años agoAMPcast, la herramienta de Pandora que permite a los artistas grabar mensajes de audio directamente a sus seguidores
-
Blogs5 años agoConoce los mejores sitios de Torrents para descargar todo tipo de contenidos
-
Android5 años agoAprende cómo usar Discord para ver películas con tus amigos
-
Arte y Cultura13 años agoColección de fondos de pantalla basados en Super Héroes
-
Almacenamiento2 años agoCómo usar TeraBox: La guía definitiva para aprovechar 1 TB de almacenamiento en la nube
-
Diseño13 años agocss3ps: plugin que convierte archivos PSD a CSS3
-
Apps9 años agoPicturethat, app que usa la Realidad Aumentada para visualizar cómo quedarían los cuadros antes de colgarlos
-
Eventos Especiales13 años agoEspecial Día de la Madres: fondos de pantalla especiales para Mamá
