66 puntos por GN⁺ 2025-10-15 | 1 comentarios | Compartir por WhatsApp
  • Presentación de varias herramientas modernas de línea de comandos que mejoran la eficiencia del trabajo en Linux
  • Incluye muchas herramientas centradas en el rendimiento y desarrolladas en Rust, Go y otros lenguajes, que reemplazan de forma moderna o potencian los comandos Unix tradicionales

Herramientas para ver y explorar archivos

  • bat : versión mejorada del comando cat, con resaltado de sintaxis e integración reforzada con git
  • exa : visor moderno de listas de archivos que reemplaza ls/tree, aunque actualmente ya no recibe mantenimiento
  • eza : fork de exa que ofrece una versión moderna de ls/tree
  • lsd : ls de nueva generación, con compatibilidad tradicional y una salida más pulida
  • broot : explorador de archivos en forma de árbol con navegación mejorada
  • nnn : administrador de archivos para terminal ligero y rápido

Análisis de uso de espacio en archivos y directorios

  • ncdu : ofrece una interfaz intuitiva de du basada en texto
  • dust : alternativa más fácil a du implementada en Rust
  • duf : herramienta de análisis de uso de disco con mejor usabilidad que df

Búsqueda de archivos y código

  • fd : reemplazo compacto y rápido de find, con gran usabilidad
  • ripgrep : alternativa a grep ultrarrápida con soporte para gitignore
  • ag : herramienta de búsqueda de código similar a ack, pero más rápida
  • fzf : buscador difuso de propósito general. Puede usarse en pipelines y en muchos otros contextos
  • bfs : reemplazo de find basado en breadth-first

Visores de Git/diff dentro de la terminal

  • delta : visualiza con mayor legibilidad los resultados de git y diff

Historial y procesamiento de comandos

  • mcfly : mejora de forma innovadora la búsqueda y navegación del historial del shell. Ofrece mejor calidad de búsqueda y una UI intuitiva

Procesamiento de datos

  • choose : alternativa más intuitiva y rápida a cut y parte de awk
  • jq : parser de datos que se usa como un sed especializado en JSON
  • sd : herramienta de reemplazo de sed, con un enfoque de find/replace más familiar

Monitoreo de sistema/procesos

  • bottom : monitor gráfico y multiplataforma de sistema y procesos
  • glances : versión mejorada de top/htop
  • gtop : monitor del sistema tipo dashboard para terminal
  • procs : comando alternativo a ps escrito en Rust

Benchmarking y red

  • hyperfine : herramienta de automatización de benchmarking para CLI
  • gping : herramienta ping con salida gráfica

Clientes HTTP

  • httpie : cliente HTTP moderno y amigable para CLI. Ideal para probar APIs de desarrollo
  • curlie : herramienta que combina la potencia de curl con la usabilidad de httpie
  • xh : herramienta alternativa a httpie centrada en el rendimiento

Navegación entre directorios y editores

  • zoxide : comando cd inteligente inspirado en z
  • micro : editor de texto para terminal con funciones modernas

Nuevas utilidades CLI

  • up : herramienta de pipelines con vista previa en tiempo real, permite ver de inmediato la salida de los comandos

Herramientas de ayuda y documentación

  • ManKier : páginas man resumidas, con explicaciones de comandos limpias
  • tldr : resumen de páginas man conciso y centrado en ejemplos
  • tealdeer : implementación de tldr en Rust, con ejecución rápida
  • explainshell : analiza automáticamente los argumentos de comandos y explica visualmente su significado
  • cheat.sh : servicio de ayuda en línea que integra tldr y cheatsheets

Herramientas GUI

  • baobab : analizador de uso de disco con GUI
  • stacer : herramienta GUI para optimización y monitoreo del sistema, incluye gestión de servicios

1 comentarios

 
GN⁺ 2025-10-15
Opiniones en Hacker News
  • Puede que estas herramientas sean objetivamente mejores, pero me di cuenta de que tener que configurarlas cada vez que reinstalo el OS, levanto una VM o entro por SSH es un sufrimiento interminable. Configurar cada entorno cansa, y tampoco quiero estar mezclando herramientas nuevas en un lugar y tradicionales en otro. Aprender bien las herramientas clásicas es lo que más te simplifica la vida

    • Algunas personas pasan casi todo su tiempo en su propia computadora, así que estas mejoras de comodidad sí valen mucho. Aun así, también saben usar más o menos las herramientas clásicas, y con eso les alcanza cuando de vez en cuando trabajan en otro servidor. No todo el mundo es un administrador de sistemas que tiene que iniciar sesión en muchos servidores distintos todo el día

    • Algunas herramientas son tan superiores que valen totalmente la pena aunque instalarlas sea un poco molesto. Manejo bien las herramientas clásicas, pero fd o ripgrep siempre me parecen mejores

    • Una de las razones por las que realmente me encanta Nix es que permite tener prácticamente el mismo setup en casi cualquier entorno (siempre que use Linux o macOS, que son los dos que me importan). Hay varias formas de instalar Nix sin privilegios de root, así que puedo recrear mi entorno en cualquier lado. Claro, si no hay Nix, las herramientas clásicas también alcanzan. No es que haya que elegir una u otra; puedes tener ambas

    • Cuando reinstalas un OS, igual tienes que instalar los paquetes que necesitas con apt-get, pacman, dnf, brew y cosas así, y además instalar tu navegador, editor y demás por separado. Si entras por SSH, ni siquiera puedes usar GUI, pero eso no es razón para evitar herramientas con GUI. Aunque el conjunto de herramientas sea distinto entre tu entorno personal y uno compartido, no me parece un gran problema. Por ejemplo, bat no reemplaza por completo a cat, solo agrega resaltado de sintaxis y te hace la vida más fácil. Si no está instalado, simplemente no lo usas

    • Desde mi punto de vista, si lo ves desde la filosofía UNIX de “haz una sola cosa y hazla bien”, parte de la esencia de estas utilidades simples es justamente que puedas reemplazarlas fácilmente cuando aparece una alternativa mejor. Tiene sentido aprender primero las herramientas clásicas por tu carrera, pero también creo que hay que aprender las alternativas nuevas. Más que bat o eza, a mí me ayudan mucho alternativas que ahorran tiempo como fd (reemplazo de find) o sd (reemplazo de sed)

  • Desde la perspectiva de alguien que entra a cientos de servidores en distintas redes y clientes, casi no vale la pena usar herramientas personalizadas. En el 90% de los entornos ni siquiera están instaladas. Yo agrego solo unas pocas cosas en ansible-config para desplegarlas de forma automatizada, pero mantengo la lista muy corta. El 95% de los sistemas que administro son Debian o Ubuntu, así que la base es casi igual, y encima de eso solo agrego cosas como ack, etckeeper, vim, pv y dstat

    • La clave aquí es que estamos hablando de “servidores”. La mayoría de los programas apenas mejorados para sysadmins tal vez no valgan mucho la pena, pero algunos sí son herramientas de desarrollo de verdad para usar en las pocas máquinas donde programas. Ejemplos claros son ripgrep (un excelente grep recursivo), jq (procesador de JSON, sin alternativa dentro del toolkit base de Unix) y hyperfine (benchmarking)

    • Como trabajo entre Windows y Linux, herramientas excelentes y multiplataforma como ripgrep son realmente muy cómodas

    • Me pregunto si existirá alguna herramienta o extensión de SSH que traiga automáticamente estas apps a una sesión remota por SSH. Si el binario es pequeño, podrías copiarlo a una carpeta temporal y usarlo ahí, e incluso automatizar ese proceso. El tema sería si hay problemas de seguridad o si hace falta algún permiso extra. Al final, la portabilidad de estas apps es la clave. Yo también pienso seguido en esto

    • emacs funciona casi como un sistema operativo en sí mismo, así que te da un entorno familiar en cualquier sistema. De ahí viene la frase “GNU is my operating system, linux is just the current kernel”. Desde la perspectiva de un admin veterano, por eso recomiendo a quien recién aprende Linux que empiece por el comando info y lea todo ese manual. Con eso puedes superar fácilmente a la mayoría de los administradores. Si sabes qué herramientas vienen integradas, la documentación también es buena y escribir scripts se vuelve fácil; ese es justamente el núcleo de la filosofía Linux. Hubo una época en la que ni siquiera había nano y solo estaba vi, pero hoy con automatización CI/CD también es fácil agregar un editor TUI

    • No conecto mucho con este tipo de comentarios del estilo “yo soy esta clase de persona”. A mucha gente no le importa no instalar herramientas personalizadas en remoto. La idea es que al menos las instales en tu computadora local y aproveches sus ventajas

  • Creo que esta tabla mejoraría mucho si tuviera una columna extra de “qué problema resuelve esta herramienta”. Y no considero que “implementado en Rust” sea un diferenciador

    • Una vez en una reunión de trabajo escuché que “está hecho en Go” era el diferenciador y me quedé en shock. #facepalm

    • Muchos elementos de la tabla sí mencionan problemas reales, como “syntax highlight”, “ncurses interface” o “more intuitive”. Pero expresiones como “hecho en Rust”, “moderno” o “mejor” no ayudan mucho

    • El objetivo principal de la mayoría de estas herramientas es mejorar la UX

    • Usar una licencia que no sea GPL tampoco es un diferenciador

    • Está bueno que bastantes de estas herramientas también se puedan usar en Windows

  • Estas listas de herramientas siempre son divertidas. La mayoría de la gente probablemente podría sacarle buen provecho a una o dos de las que aparecen aquí. Personalmente, ripgrep y jq me resultan indispensables. ripgrep es el mejor reemplazo tipo drop-in de grep, y jq resuelve un problema que yo realmente necesitaba resolver. Tal vez pruebe también lsd y dust. Aunque una herramienta nueva no me haga falta directamente, agradezco que haya gente dedicándole tiempo a esto. Es genial que vayan mejorando poco a poco la caja de herramientas de toda la comunidad

    • Creo que yo elegiría fzf antes que cualquiera. Lo prefiero muchísimo más que rg o jq

    • ripgrep se comporta distinto de grep, así que en realidad no es un reemplazo drop-in. Es un programa excelente, pero no es totalmente compatible

    • Los admins de Linux como yo solemos tener cada quien una de estas listas bien apretadas. Yo armé mi stack alrededor de herramientas basadas en GPL, y este formato de ikrima.dev me gusta especialmente

  • Vivo en la terminal, pero estas herramientas no me resuelven ningún problema que tenga ahora mismo, o no están instaladas en mi sistema, y aun así por alguna razón tienen decenas de miles de estrellas en GitHub. De verdad no entiendo por qué son tan populares

    • Alguien que vive metido en su biblioteca musical también puede quedarse confundido si un artista que no le gusta o ni siquiera tiene en su colección vende millones de discos. Bromas aparte, te preguntaría si alguna vez probaste de verdad una de estas herramientas. A mí antes me pasaba con vim: no entendía por qué la gente lo usaba, hasta que lo usé bien y entendí

    • ¿No usas fzf? Tu vida en la terminal debe ser realmente dura. Más que ejecutarlo directamente, es muy útil por sus plugins de shell: con Ctrl+R haces búsqueda difusa en bash_history, y con Ctrl+T buscas archivos del directorio actual

    • El conjunto base de herramientas Unix es tan sólido que puedes trabajar perfectamente solo con lo que viene por defecto. Muchas herramientas alternativas sí son mejores, pero no son indispensables, y además la mayoría no viene instalada por defecto

    • Pregunta genuina: ¿hay alguna manera elegante, usando solo las herramientas Unix integradas, de hacer un grep recursivo ignorando archivos ocultos (.git, etc.) y filtrando por una extensión específica? Por ejemplo, el comando rg -g '*.foo' bar es un patrón que uso muchísimo. Lo mismo con buscar archivos que coincidan con una expresión regular o un glob usando fd. No encontré una forma limpia de hacerlo solo con las herramientas base

    • Me da curiosidad saber qué tipo de trabajo haces todo el día en la terminal como para no sentir necesidad de mejorar tu toolkit. Dan ganas de preguntar si escribes todas tus herramientas tú mismo

  • En modo oscuro casi no se ve el texto de los enlaces, así que cuesta leer

  • Creo que solo jq resuelve un problema real que no se puede resolver con las herramientas existentes. El resto son sobre todo diferencias de sintaxis, rendimiento, resaltado o implementación en Rust

  • Me gustaría que un equipo sacara una “suite” de herramientas con diseño consistente en parámetros, colores, tablas y demás

  • Durante mucho tiempo usé htop en vez de top porque me parecía más accesible, pero el hecho de que htop no muestre los hilos del kernel por defecto terminó siendo un obstáculo al investigar la causa de una falla. Desde entonces volví a top, porque muestra toda la información y me parece más confiable. Las UI de htop o btop me parecen casi puro show

  • Este artículo es de 2023. La mayoría de estas “herramientas modernas” ya podrían haberse actualizado y quizá ya salieron otras nuevas y más de moda

    • Como hay tantas herramientas, con que sobreviva la mitad ya vale la pena

    • Mi experiencia ha sido más bien la contraria. La mayoría de estas herramientas no son más que otra “reinventada” de las potentísimas herramientas base de GNU, siempre y cuando inviertas el tiempo necesario para aprenderlas bien