346 - Explosión de herramientas para la terminal

346 - Explosión de herramientas para la terminal

Algunas herramientas para la terminal que vienen a reemplazar a los clasicos aportando color y muchas mas caracteristicas

1:25
-3:15

No puedo negarte que desde que estoy utilizando en profundidad Rust, me voy fijando mas en aquellas aplicaciones que están implementadas en este lenguaje de programación. Sin embargo, eso no quita, que en los últimos años se haya visto una verdadera explosión de herramientas para la terminal. Una explosión de nuevas herramientas. Algunas de estas herramientas vienen a reemplazar o sustituir a sus equivalentes. Otras simplemente vienen a ocupar un hueco que no nos habíamos dado cuenta de que existía, y se vienen a convertir en herramientas imprescindibles, por derecho propio.

En este caso, y en este nuevo episodio del podcast, te cuento alguna de las herramientas que estoy utilizando, y que como he comentado anteriormente, sustituyen o reemplazan a algunos clásicos, que he estado utilizando durante los últimos años.

Explosión de herramientas para la terminal

Explosión de herramientas para la terminal

Todas las herramientas a las que hago referencia están implementas en Rust, y vienen a reemplazar a las clásicas.

Reemplazando ls

El primer caso es algo curioso, porque estoy utilizando exa desde hace varios meses, sin embargo, recientemente he conocido otra alternativa lsd, que todavía le da una segunda vuelta.

En ambos casos, tanto exa, como lsd buscan darle mas colorido a la terminal, lo que, ciertamente, siempre es de agradecer. Si quieres conocer algo mas de exa, te recomiendo el episodio 207 del podcast exa el reemplazo de ls.

LSD (LSDeluxe)

Tal y como lo describe el propio desarrollador de la aplicación, el objetivo de lsd, es reescribir el clásico GNU ls, con nuevas características añadidas como son colores, iconos, vista de árbol, una mayor variedad de opciones de formateo, etc.

Una de las características de esta herramienta es las posibilidades de configuración que tiene. Una configuración espectacular. No solo te permite configurar detalles como puede ser los colores, sino que te permite elegir que es lo que quieres ver por defecto, el formato de fecha, el tipo de disposición que quieres, el formato para mostrar el tamaño de los archivos, la forma de ordenarlo, y mucho mas.

Para instalarlo, en el caso de Ubuntu y derivados, tienes que descargarte el paquete .deb del repositorio de GitHub, mientas que para ArchLinux, Manjaro, etc, puedes instalarlo con pacman -S lsd.

En cualquier caso, siempre lo puedes instalar desde el código fuente utilizando cargo, mediante la siguiente instrucciónos

cargo install lsd

Decir, que no solo lo tienes disponible para estas distribuciones, sino que está disponible para otras muchas, así como para MacOS, Windows y Android (via Termux).

Reemplazando ls

Reemplazando cat

cat es la herramienta por defecto para mostrar el contenido de un archivo, o incluso para crear un archivo desde cero de forma rápida. Sin embargo, al igual que sucede con otras herramientas clásicas, no aprovecha todo el potencial de los emuladores de terminal modernos.

Tal y como lo describe el desarrollador de la aplicación,

bat es un clone de cat con resaltado de sintaxis e integración con Git

Solo con estas dos características, a mi, sinceramente, me ha conquistado el corazón. Poder de un vistazo entender el contenido de un archivo, simplemente, por el resaltado de sintaxis, es un verdadero placer.

  • bat tiene soporte de resaltado de sintaxis para un gran número de lenguajes de programación, así como para otros lenguajes de marcado como puede ser markdown.
  • Muestra los números de línea. Algo que seguro te vendrá fantástico cuando estés revisando código.
  • Tiene integración con git, mostrándote en el mismo archivo los cambios que se han producido en el mismo respecto al ~HEAD.
  • Puedes ver los caracteres no imprimibles, como los retornos de carro, o los espacios.
  • Soporta paginación automática, al igual que hace less. En mi caso, he desactivado esta función, porque prefiero el uso clásico al estilo cat.
  • Al igual que el clásico cat, por supuesto, también puedes concatenar diferentes archivos.
  • Se integra con otras herramientas como fzf, find, ripgrep, tail

Su instalación es muy sencilla, con independencia de la distribución o Sistema Operativo que utilices. Para el caso de Ubuntu,

sudo apt install bat

En el caso de Arch y derivados,

sudo pacman -S bat
Reemplazando cat

El reemplazo de du

du es una de esas herramientas que utilizo con mucha asiduidad. Se trata de una herramienta que te permite conocer lo que ocupa cada directorio de tu equipo, o de la parte de tu equipo que necesites conocer. De esta forma, de una manera, relativamente sencilla, puedes saber, si hay determinados directorios que se ocupan demasiado y no deberían.

En este caso, la herramienta que vienen a reemplazar a du es dust, y su desarrollador lo define perfectamente de la siguiente manera,

du + rust = dust. Como du pero mas intuitivo.

En este caso, la razón para implementar la aplicación también lo puedes leer del propio desarrollador,

Porque quiero una forma de ver donde está siendo usado mi disco

Se trata de una herramienta que te permite de un solo vistazo conocer el espacio ocupado por cada directorio. No solo en valor absoluto, sino también porcentualmente, y con unas vistosas barras.

De nuevo, y al igual que el resto de las herramientas está disponible, no solo para distintas distribuciones Linux, sino que también la tienes disponible para Windows y MacOS.

Reemplazando du

Reemplazando find

La última de las herramientas es fd, que no es ni mas ni menos que el reemplazo del clásico find. De nuevo me remito a las palabras del propio desarrollador de la aplicación para describirla,

fd es un programa para encontrar entradas en tu sistema de archivos. Es una alternativa mas sencilla, rápida y amigable que find. Si bien no soporta toda la funcionalidad que proporciona find, si que aporta solución para la mayoría de los casos mas habituales (aunque esto es opinable).

Algunas de las características mas interesantes de este sustituto de find, son las siguientes,

  • Una sintaxis mas intuitiva. En lugar de find -iname '*PATRON* simplemente tienes que utilizar fd PATTERN
  • Puedes utilizar tanto expresiones regulares, esto viene por defecto, como expresiones glob.
  • Es muy rápido debido a la paralelización.
  • Uso de colores por tipo de archivo.
  • Soporta la ejecución de comandos en paralelo.
  • Por defecto, no diferencia entre mayúsculas o minúsculas, excepto en el caso de que el patrón algún carácter en mayúsculas.
  • Ignora por defecto tanto los archivos como los directorios ocultos. De la misma forma, ignora aquellos patrones que se encuentren en el archiv .gitignore.

Para la instalación,

En el caso de Ubuntu la puedes instalar directamente desde los repositorios oficiales a partir de la versión 19.04, ejecutando la siguiente instrucción,

sudo apt install fd-find

En el caso de ArchLinux,

sudo pacman -S fd

Conclusiones

Estas algunas pocas de todas las herramientas que han ido apareciendo en estos últimos años empujadas por Rust. Simplemente, las tienes que probar y añadir a tu caja de herramientas las que consideres mas útiles.


Más información,

Imagen de portada Luke Jernejcic

3 comentarios en “Explosión de herramientas para la terminal

  1. JO
    José Briceño hace 3 años

    Excelente todas estas herramientas. Me faltaba agregar dust y wao, muchas gracias. Find si no tiro mucho, por que utilizo mas las busquedas globales con zsh y exa o grep, dependiendo el caso.

    1. AT
      atareao hace 3 años

      Muchísimas gracias por comentar José. Espero que las estés disfrutando.

  2. TR
    truko22 hace 3 meses

    lsd es genial y si usamos alias para usarlo como el clásico ls no hay ninguna curva de aprendizaje 👍

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *