En este momento estás viendo Exa, la alternativa perfecta al comando ls

Exa, la alternativa perfecta al comando ls

Exa, la alternativa perfecta al comando ls

Exa, es una herramienta, para la línea de comandos de GNU/Linux, que nos permite listar ficheros de forma más visual, colorida y atractiva que pretende ser la sustitución del veterano comando ls. Viene con funciones avanzadas, además, es incluso más fácil de usar que ls.

Sumario

  • Que es «exa»
  • Instalación
  • Uso del comando «exa»
  • Opciones y filtros

Que es «exa»

Cuando trabajamos en la linea de comandos, uno de los que más utilizamos es el comando «ls» para listar el contenido de un directorio.

En el artículo de hoy vamos a ver una utilidad, «exa», que realiza la misma función pero mejorada. Para facilitar su lectura, separa el tipo de información por colores y ofreciendo también información sobre los enlaces simbólicos, atributos extendidos y recursividad en directorios, que podemos visualizar en vista de árbol.

Colores en a salida de exa
Colores en a salida de exa

La utilidad «exa» está escrita en «Rust» y disponible para varias distribuciones de GNU/Linux como Debian, Ubuntu, Fedora, Rhel, CentOS, Alma Linux, openSUSE, Arch, Gentoo, Alpine Linux, que no es GNU, Android y está publicada bajo licencia del MIT. También esta disponible para MacOS.

Instalación

Si estas utilizando una versión moderna de tu GNU/Linux preferido, posiblemente ya lo tienes disponible en los repositorios oficiales.

Para instalar «Exa» ejecuta los siguientes comandos.

# Debian, Ubuntu y derivados
sudo apt install exa

# Fedora, Rhel, CentOS, Alma Linux y derivados
sudo dnf install exa

# Arch Linux, Manjaro y derivados
sudo pacman -S exa

# Open Suse y derivados
sudo zypper install exa

# Gentoo y derivados
sudo emerge sys-apps/exa

# Alpine Linux
sudo apk add exa

#Android/Termux
sudo pkg install exa

Si no usas una versión rolling o repositorios aun inestables, es más que posible que no aparezca en tus repositorios oficiales. Pero no es un problema, lo instalamos manualmente. Como hemos mencionado, esta escrita en «Rust», por tanto primero tendrás que instalar este excelente lenguaje de programación. Lo hacemos ejecutando

sudo curl https://sh.rustup.rs -sSf | sh

Cuando te pregunte, pulsa el número 1 y la tecla enter.

Descargamos la última versión disponible.

wget https://github.com/ogham/exa/releases/download/v0.10.1/exa-linux-x86_64-v0.10.1.zip

Ahora, descomprimimos y movemos el binario al directorio correspondiente.

unzip exa-linux-x86_64-v0.10.1.zip
sudo mv bin/exa /usr/local/bin/exa

En mi caso con Debian, actualizo la lista de paquetes e instalo la herramienta desde los repositorios

sudo apt update

sudo apt install exa
Instalación de la utilidad exa
Instalación de la utilidad exa

Y comprobamos la versión instalada con

exa -v
Comprobamos la versión instalada
Comprobamos la versión instalada

Al instalar desde los repositorios oficiales de Debian nos instala la versión v0.9.0.

Uso del comando «exa»

Una vez termine la instalación, ya puedes ejecutar el siguiente comando. Vemos la salida de «ls» y luego la de «exa» para apreciar las diferencias

ls
Salida del comando ls
Salida del comando ls
exa
Salida del comando exa
Salida del comando exa

Como apreciamos en la captura, nos muestra la salida coloreada de forma predeterminada, facilitando la identificación de ficheros y directorios y de distintos tipos de ficheros entre si.

También diferencia por colores los permisos de los ficheros y directorios y el usuario propietario de los mismos. Otra característica interesante es que nos muestra la fecha de la última modificación en el formato dd/MM/AAAA.

Si en el directorio en el que encuentras tienes un repositorio GIT, también te mostrará información sobre su estado.

También permite obtener información de un fichero o directorio específico con la siguiente sintaxis.

exa -l fichero

Por ejemplo

exa -l /etc
Listado de un directorio especificado
Listado de un directorio especificado

Otra funcionalidad muy útil es la opción de mostrar los ficheros en forma de árbol, como conseguimos con el comando «tree», pero solo con la opción de «exa» sin necesidad de ninguna tubería.

exa --tree
Muestra los ficheros en forma de árbol
Muestra los ficheros en forma de árbol

Opciones y filtros

El comando «exa» viene con muchas opciones y filtros aplicables. Los vemos

Opciones de pantalla

  • -1, –oneline : muestra una entrada por línea
  • -G, –grid : muestra las entradas como una cuadrícula (predeterminado)
  • -l, –long : muestra detalles y atributos extendidos
  • -R, –recurse : muestra con recursividad los directorios
  • -T, –tree : muestra con recursividad los directorios como un árbol
  • -x, –across : ordena la cuadrícula a lo ancho, en lugar de hacia abajo
  • -F, –classify : indicador de tipo de visualización por nombre de archivo
  • –colo[u]r : usar colores de terminal
  • –colo[u]r-scale : resalta claramente los niveles de tamaño de fichero
  • –icons : mostrar iconos
  • –no-icons : no muestra iconos (siempre anula –icons)

Opciones de filtrado

  • -a, –all : muestra ficheros ocultos.
  • -d, –list-dirs : lista de directorios como ficheros regulares
  • -L, –level=(profundidad) : limita la profundidad de la recursividad
  • -r, –reverse : invertir el orden de clasificación
  • -s, –sort=(campo) : por qué campo ordenar
  • –group-directories-first : enumera los directorios antes que otros ficheros
  • -D, –only-dirs : lista solo directorios
  • –git-ignore : ignora los ficheros mencionados en .gitignore
  • -I, –ignore-glob=(globs) : patrones globales (separados por tubería) de ficheros para ignorar

Con la opción –all, dos veces, nos muestra los directorios especiales «.» y «..».

Opciones de vista larga

Estas opciones están disponibles cuando se ejecuta con –long (-l)

  • -b, –binary : lista de tamaños de ficheros con prefijos binarios
  • -B, –bytes : muestra el tamaño de los ficheros en bytes, sin prefijos
  • -g, –group : enumera el grupo de cada fichero
  • -h, –header : agrega una fila de encabezado a cada columna
  • -H, –links : enumera el número de enlaces duros de cada fichero
  • -i, –inode : enumera el número de inodo de cada fichero
  • -m, –modified : usa el campo de marca de tiempo modificado
  • -S, –blocks : enumera el número de bloques del sistema de ficheros de cada fichero
  • -t, –time=(campo) : qué campo de marca de tiempo usar
  • -u, –accessed : use el campo de marca de tiempo accedido
  • -U, –created : usa el campo de marca de tiempo creado
  • -@, –extended : enumera los atributos y tamaños extendidos de cada fichero
  • –changed : usa el campo de marca de tiempo modificado
  • –git : enumera el estado de Git de cada fichero, si se rastrea o se ignora
  • –time-style : cómo formatear marcas de tiempo
  • –no-permissions : suprimir el campo de permisos
  • –octal-permissions : enumera los permisos de cada fichero en formato octal
  • –no-filesize : suprimir el campo de tamaño de fichero
  • –no-user : suprimir el campo de usuario
  • –no-time : suprime el campo de tiempo

Vemos la ejecución con varias opciones y filtros a la vez.

exa -bghHliS
Salida con varias opciones
Salida con varias opciones

En este caso nos da los datos añadiendo una cabecera «opción -h», con el tipo de datos ofrecido en cada columna, que aún nos facilita más su lectura. El resto de opciones lo puedes ver en la lista anterior.

Puedes consultar la ayuda en linea del comando con

exa --help
Ayuda en linea de comandos
Ayuda en linea de comandos

Si necesitas más información o usas un sistema operativo diferente, en su GitHub oficial, o en su página oficial la encontrarás.

¿Tienes algún comentario que hacer sobre este artículo?, al pie del post tienes un formulario para hacerlo.

Si quieres contactar conmigo por cualquier otro asunto relacionado con el sitio, en la página de contacto, tienes un formulario más adecuado.

Y para suscribirte y recibir las novedades publicadas, tienes un enlace en pie de la página o desde aquí mismo.

Deja una respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.