exa: un reemplazo moderno para el comando ls

Apuesto a que has usado el comando ls en Linux. Es uno de los primeros comandos que usa mientras aprende los comandos de Linux.

El comando ls simple es bastante útil para listar el contenido del directorio. Nunca pensé que ningún comando pudiera reemplazarlo hasta que descubrí exa.

¿Qué es el comando exa?

exa es una herramienta de línea de comandos que enumera directorios y archivos en la ruta especificada (o en el directorio actual si no se especifica). Esto puede sonarle familiar porque es exactamente lo que el comando ls también lo hace.

Se supone que exa es un reemplazo moderno del venerable comando ls de los viejos tiempos de UNIX. Tiene más funciones y un mejor valor predeterminado que el comando ls, por lo que afirma.

características exa | Cortesía sitio web del proyecto exa

Aquí hay algunas razones por las que querría usar el comando exa en lugar de ls:

  • exa es tan portátil como ls (disponible en todas las principales distribuciones de Linux, * BSD y macOS)
  • Tiene salida colorida por defecto
  • La “verbosidad” de formato diferente de exa podría atraer a usuarios que son nuevos en Linux / BSD
  • La consulta de archivos se realiza en paralelo, lo que hace que exa sea equivalente o esté a la par del rendimiento de ls
  • Muestra el estado de git preparado o no preparado para archivos individuales

Otro aspecto de exa es que está escrito en el lenguaje de programación Rust. En caso de que no conozca el lenguaje Rust, tiene una velocidad de ejecución similar en comparación con C y reduce los errores relacionados con la memoria en el tiempo de compilación; haciendo que su software sea rápido y seguro.

Instalación de exa en su sistema Linux

exa ha ganado bastante popularidad últimamente y, por lo tanto, muchas distribuciones han comenzado a incluirlo en los repositorios oficiales. En otras palabras, debería poder instalarlo usando el administrador de paquetes de su distribución.

A partir de Ubuntu 20.10, puede instalarlo usando el comando apt:

sudo apt install exa

Arch Linux ya lo tiene, así que solo usa el comando pacman:

sudo pacman -S exa

Si no está disponible a través de su administrador de paquetes, no se preocupe. Después de todo, es un paquete Rust y puedes instalarlo fácilmente con Cargo. Asegúrese de instalar Rust and Cargo en Ubuntu o cualquier distribución que esté utilizando.

Una vez que haya instalado Rust and Cargo, use este comando para instalar exa:

cargo install exa

Usando exa

exa tiene muchas opciones de comando, en su mayoría dirigidas a una salida mejor formateada y algunas mejoras en la calidad de vida, como el estado de git para archivos en etapas o sin etapas, y mucho más.

A continuación se muestran algunas capturas de pantalla que demuestran cómo funcionará exa en su sistema.

Simplemente usando el comando exa producirá una salida similar a ls pero con color. Esta cosa del color puede no ser tan atractiva porque distribuciones como Ubuntu ya proporcionan salida ls en color al menos en la versión de escritorio. Sin embargo, el comando ls no tiene salida en color por defecto.

exa

Una captura de pantalla de la salida del comando exa sin ningún indicador adicional

Tenga en cuenta que los comandos exa y ls no tienen todas las mismas opciones. Para example, mientras que la opción -l da una lista larga tanto en exa como en ls, la opción -h agrega un encabezado de columna en lugar de la opción legible por humanos como ls.

exa -lh

exa tiene títulos de columna para una mejor “verbosidad” como mencioné antes

Te dije que exa ha incorporado la integración de git. La siguiente captura de pantalla muestra la marca –git. Observe cómo test_file muestra -N en la columna rastreada de git porque aún no se ha agregado a las fuentes del repositorio.

exa --git -lh

Demostración de cómo funciona la bandera git con exa

El example a continuación no es algo que mi gato haya escrito. Es una combinación de varias opciones. Exa tiene aún más opciones para que pruebes y explores.

exa -abghHliS

Una salida muy colorida y detallada con una salida detallada y fácil de usar

Puede obtener la lista completa de opciones ejecutando el siguiente comando en su terminal:

exa --help

Sin embargo, si desea ver lo que exa tiene para ofrecer, puede ver la documentación oficial en sus repositorio de git.

¿Vale la pena cambiar a exa desde ls?

Tan fácil de usar como puede ser exa para alguien que es nuevo en UNIX como los sistemas operativos, cambia la capacidad de ser usado fácilmente en un script por “facilidad” y apariencia. Lo cual, para ser claros, no es nada malo.

En cualquier caso, ls es como el comando universal. Puede usar exa para uso personal, pero cuando se trata de secuencias de comandos, apéguese a ls. La diferencia de uno [or many] Los indicadores entre ls y exa pueden volverlo loco cuando la salida esperada no coincide con la salida real en ninguno de los comandos.

Me gustaría conocer su opinión sobre exa. ¿Ya lo has probado? ¿Qué tal tu experiencia con eso?