Un artículo reciente de XDA señaló que la mayor actualización de seguridad de Ubuntu 26.04 es la silenciosa: GNU coreutils está siendo reemplazado pieza por pieza por equivalentes basados en Rust. Seguridad de memoria, menos CVE en la larga cola de utilidades del sistema, y un beneficio colateral de mejoras de usabilidad que las versiones GNU nunca tuvieron. No tienes que esperar a que el LTS de Ubuntu haga el cambio. Probamos ocho de las mejores aplicaciones para utilidades CLI modernas en Windows, macOS y Linux, cada una de las cuales ya se puede instalar hoy.
El criterio para cada una: cómo mejora el original GNU, qué tan bien se comporta en cada plataforma y si vale la pena en un flujo de trabajo diario.
Qué buscar en una utilidad CLI moderna
Algunos criterios separan las opciones que se mantienen de las que desinstalarás después de una semana:
- Compatibilidad hacia atrás. Los reemplazos sólidos aceptan las mismas banderas que la herramienta GNU original. El cambio es gradual en lugar de catastrófico.
- Multiplataforma. Linux, macOS y shells de Windows (PowerShell, Git Bash, WSL) deberían funcionar todos. La mayoría de las herramientas a continuación se envían con binarios precompilados para los tres.
- Velocidad. Los binarios de Rust y Go son típicamente más rápidos que sus predecesores en C. La brecha es evidente en repositorios grandes.
- Calidad de salida. El resaltado de sintaxis, el manejo de Unicode, los esquemas de color y los valores predeterminados limpios distinguen a la generación moderna.
- Ergonomía de configuración. Un único archivo TOML o YAML es mejor que cien variables de entorno.
- Mantenimiento activo. Cada proyecto a continuación lanzó una versión en los últimos seis meses.
Comparación rápida
| Herramienta | Reemplaza | Plataformas | Lenguaje | Costo |
|---|---|---|---|---|
| Starship | PS1 / bash prompt | Windows, macOS, Linux | Rust | Gratis |
| bat | cat | Windows, macOS, Linux | Rust | Gratis |
| eza | ls | Windows, macOS, Linux | Rust | Gratis |
| ripgrep | grep | Windows, macOS, Linux | Rust | Gratis |
| fd | find | Windows, macOS, Linux | Rust | Gratis |
| zoxide | cd | Windows, macOS, Linux | Rust | Gratis |
| fzf | reverse-search | Windows, macOS, Linux | Go | Gratis |
| bottom | top / htop | Windows, macOS, Linux | Rust | Gratis |
Las 8 mejores aplicaciones para utilidades CLI modernas en escritorio
1. Starship — mejor prompt multiplataforma
Starship es el prompt multiplataforma que ganó. Reemplaza el PS1 por shell (bash), la función de prompt (zsh) y la variable PROMPT (fish) con un único archivo de configuración TOML que dibuja el mismo prompt en todas partes. Detecta la rama Git, la versión del lenguaje, el perfil de AWS, el contexto de Kubernetes, el estado de la batería, el virtualenv activo. Todo en un único binario. Starship para el trabajo CLI moderno elimina el archivo dotfiles más grande que debe mantener cada desarrollador.
Dónde se queda corto: Los prompts personalizados escritos para un shell específico a veces necesitan una ligera adaptación. Algunos módulos requieren herramientas externas (el módulo de Kubernetes necesita kubectl).
Precio:
- Gratis: completamente de código abierto bajo ISC
- De pago: ninguno
Plataformas: Windows, macOS, Linux
Descargar: Starship
Conclusión: La primera herramienta a instalar al migrar a utilidades CLI modernas. Reemplaza cien líneas de bashrc.
2. bat — mejor reemplazo de cat
bat es un reemplazo de cat con resaltado de sintaxis, números de línea, integración con Git y paginación automática. Envía un archivo a bat y lo formatea por extensión, muestra las líneas cambiadas del índice de Git y pagina correctamente. Aliasado a cat en un repositorio de dotfiles, desaparece en la memoria muscular en una semana. bat para el trabajo CLI moderno es uno de los cambios de mayor impacto que puedes hacer.
Dónde se queda corto: La salida es más elegante que scriptable. Para tuberías que esperan una salida cat bruta, usa bat -pp o sigue usando cat.
Precio:
- Gratis: completamente de código abierto bajo MIT/Apache
- De pago: ninguno
Plataformas: Windows, macOS, Linux
Descargar: bat en GitHub
Conclusión: Instala y alias cat=bat --paging=never --style=plain si quieres un reemplazo directo, o de lo contrario alias bat y deja que cat mantenga su lugar en tuberías.
3. eza — mejor reemplazo de ls
eza es la bifurcación mantenida de exa, un reemplazo de ls con color, estado de Git, iconos, hipervínculos y una vista de árbol integrada en eza --tree. La bandera --git anota cada archivo con su estado de índice; el modo --long proporciona permisos legibles y tamaños de archivo legibles por humanos de forma predeterminada. eza para el trabajo CLI moderno hace que ls -la sea algo que puedes leer de un vistazo.
Dónde se queda corto: No reproduce cada bandera ls GNU esotérica. Los scripts que dependen de una salida ls específica deben seguir usando ls.
Precio:
- Gratis: completamente de código abierto bajo MIT
- De pago: ninguno
Plataformas: Windows, macOS, Linux
Descargar: eza en GitHub
Conclusión: Aliasado a ls, este es el cambio que la mayoría de los desarrolladores notan el primer día.
4. ripgrep — mejor reemplazo de grep
ripgrep (ripgrep, comando rg) es el proyecto que enseñó al resto de la comunidad CLI moderna qué era posible. Respeta gitignore de forma predeterminada, camina por directorios en paralelo, maneja Unicode correctamente y termina búsquedas grandes en una fracción del tiempo que tarda GNU grep. También se envía en VS Code como motor de búsqueda. ripgrep para el trabajo CLI moderno es el valor predeterminado de búsqueda de archivos para la mayoría de desarrolladores en 2026.
Dónde se queda corto: Los valores predeterminados filtran archivos .gitignored, lo que sorprende a los nuevos usuarios que buscan artefactos de compilación. La sopa de banderas eventualmente alcanza a grep.
Precio:
- Gratis: completamente de código abierto bajo MIT/Unlicense
- De pago: ninguno
Plataformas: Windows, macOS, Linux
Descargar: ripgrep en GitHub
Conclusión: Instálalo, escribe rg, nunca mires atrás.
5. fd — mejor reemplazo de find
fd es un find más amigable. La sintaxis tiene sentido (fd pattern en lugar de find . -name '*pattern*'), respeta gitignore como ripgrep, los colores marcan tipos de archivo, y caminar en paralelo lo hace más rápido en árboles grandes. fd para el trabajo CLI moderno acorta el comando más incómodo que cada desarrollador escribe de memoria.
Dónde se queda corto: No cubre el vocabulario completo del operador find (-exec, -newer, combinaciones -size). Los usuarios avanzados mantienen find para esos casos.
Precio:
- Gratis: completamente de código abierto bajo MIT/Apache
- De pago: ninguno
Plataformas: Windows, macOS, Linux
Descargar: fd en GitHub
Conclusión: Aliasado como f o usado como fd, acorta y acelera el 80 por ciento del uso diario de find.
6. zoxide — mejor reemplazo de cd
zoxide es un cd más inteligente. Rastrea los directorios que visitas, los clasifica por frecuencia y te permite z partial-name para saltar directamente allí desde cualquier lugar del sistema de archivos. Después de una semana de uso, construye un índice personalizado que supera escribir rutas completas o depender de la completación de pestañas. zoxide para el trabajo CLI moderno elimina el comando más repetitivo en cualquier shell.
Dónde se queda corto: Hasta que se construya el índice, es solo cd. La integración del shell debe agregarse a tu archivo rc, lo que no todos los usuarios notan.
Precio:
- Gratis: completamente de código abierto bajo MIT
- De pago: ninguno
Plataformas: Windows, macOS, Linux
Descargar: zoxide en GitHub
Conclusión: Instala, usa cd durante una semana para sembrar la base de datos, luego alias cd=z.
7. fzf — mejor buscador difuso
fzf es el buscador difuso de propósito general. Envía una lista (archivos, procesos, ramas git, historial de comandos) a fzf, escribe un fragmento, presiona enter, obtén la entrada. La integración del shell agrega búsqueda inversa Ctrl-R a través del historial, selector de archivos Ctrl-T y selector cd Alt-C. fzf para el trabajo CLI moderno es la capa interactiva sobre todas las otras herramientas en esta lista: envía ripgrep a fzf para búsqueda en vivo, envía ramas git a fzf para cambiar, envía procesos a fzf para matar.
Dónde se queda corto: Escrito en Go en lugar de Rust, pero eso es un punto estilístico más que funcional. Las versiones anteriores tenían diferentes valores predeterminados de enlace de teclas; las instalaciones nuevas deben usar 0.50 o más reciente.
Precio:
- Gratis: completamente de código abierto bajo MIT
- De pago: ninguno
Plataformas: Windows, macOS, Linux
Descargar: fzf en GitHub
Conclusión: La herramienta única más poderosa en esta categoría. Vale la pena aprender los atajos incluso si nunca vuelves a configurar los valores predeterminados.
8. bottom — mejor reemplazo de top
bottom (comando btm) es el reemplazo htop multiplataforma. CPU por núcleo, RAM, IO de red, IO de disco, procesos (ordenables, matables) y un panel de temperatura donde sea compatible. Los atajos de estilo Vim superan las teclas de función de htop para usuarios que ya piensan en hjkl. bottom para el trabajo CLI moderno cubre la inspección del sistema en un único binario que funciona igual en Linux, macOS y Windows.
Dónde se queda corto: No reemplaza herramientas especializadas (nethogs, iotop) para perfilado estrecho. Algunos terminales necesitan una Fuente Nerd para renderizar los gráficos limpiamente.
Precio:
- Gratis: completamente de código abierto bajo MIT
- De pago: ninguno
Plataformas: Windows, macOS, Linux
Descargar: bottom en GitHub
Conclusión: La opción correcta cuando un único binario necesita darte una descripción general del sistema en tres sistemas operativos.
Cómo elegir la correcta
No elijes una. Elijes el orden para instalar:
- Starship primero. El cambio de prompt es la señal más fuerte de que el shell ha sido actualizado.
- ripgrep, fd, bat, eza siguiente. Los cuatro reemplazos de conductor diario que tocan cada sesión de shell.
- zoxide después de algunas semanas. El índice necesita visitas para sembrar.
- fzf en cualquier momento. Se combina con todo lo anterior.
- bottom la próxima vez que necesites htop. Reemplaza un monitor del sistema instalado por separado con un binario portátil.
Toda la pila se instala en cinco minutos a través de Homebrew, winget, apt o los scripts de instalador oficial. La mayoría de los desarrolladores ejecutan los ocho al final de la primera semana.
FAQ
¿Estas herramientas CLI son más rápidas que GNU coreutils?
Para las operaciones que apuntan, normalmente sí. ripgrep, fd y eza escalan notablemente mejor en repositorios grandes. La diferencia se ve en bases de código de múltiples gigabytes más que en proyectos pequeños.
¿Estas herramientas funcionan en Windows?
Sí. Todas las herramientas en esta lista se envían con binarios precompilados de Windows, se ejecutan en PowerShell y son más amigables que los equivalentes GNU originales en Windows. Scoop, winget y Chocolatey empaquetan los ocho.
¿Cuál es la diferencia entre los coreutils de Rust de Ubuntu y estas herramientas?
Ubuntu 26.04 está reemplazando gradualmente la implementación de los comandos GNU existentes (ls, cp, mv, rm, cat) con el proyecto uutils de Rust, que refleja los nombres de comandos y banderas originales. Las ocho herramientas en esta lista son comandos diferentes (eza, bat, rg, fd) que van más allá del reemplazo directo para agregar características.
¿Necesito aprender nuevas banderas?
Principalmente no. ripgrep, fd, bat y eza aceptan la mayoría de las banderas de los originales GNU más algunas nuevas. Starship y zoxide se configuran en un único archivo cada uno. fzf es una herramienta nueva para aprender pero sus atajos son intuitivos una vez escritos.
¿Estas herramientas son seguras?
La seguridad de memoria de Rust elimina clases completas de errores que plagaron las herramientas CLI de la era C. Ninguno de los proyectos en esta lista ha tenido un asesoramiento de seguridad importante en años recientes. El lado del empaquetado (cargo install, ecosistemas de estilo npm) introduce su propia superficie de riesgo; instala desde tu gestor de paquetes del sistema cuando sea posible.
¿Por qué fzf está escrito en Go y no en Rust?
Porque Junegunn Choi lanzó fzf en 2013, cuando el ecosistema Rust aún no podía soportar un proyecto de esa forma. Se mantuvo en Go porque no hay razón para reescribir una herramienta que ya hace su trabajo mejor que cualquier otra cosa.