Nat, un reemplazo para ls

La estrella invitada del programa de hoy es nat, con la que los usuarios de GNU/Linux pueden listar los archivos de un directorio, junto con su información, desde la línea de comandos. Se trata de un reemplazo para el comando ls.

Entre las diferencias con ls encontramos, que nat está escrito totalmente en Rust, y por otro lado debería mostrar la información con mucha más claridad. Para conseguir este objetivo nat colorea los resultados para facilitar su comprensión.

Cada línea mostrada contiene información sobre el propietario del archivo y el grupo, el tamaño, el último cambio, los permisos de lectura y escritura, además del nombre del archivo. Por lo que la estructura de la salida es ligeramente diferente a la de ls cuando se utiliza parámetro -l

Aunque es cierto, respecto al tema de los colores, que con ls se puede obtener algo parecido mediante el parámetro --color  Con nat también se pueden buscar archivos, utilizando el parámetro -f Aunque si queremos buscar archivos, mejor utilizar el clásico find

Se trata de un proyecto que sigue la filosofía de desarrollo del código abierto y utiliza una licencia MIT. Al igual que otros proyectos, tiene el código fuente ubicado en Github.

Existen proyectos similares de los que ya hemos hablado como Nu Shell o Starship.

Como pega su nombre, ya que se puede confundir fácilmente con el enmascaramiento de ip o NAT

Muestra de uso de natls (Fuente: https://github.com/willdoescode/nat/blob/main/assets/natdemo.png)

Instalación de nat en Gnu/Linux

Existen diferentes maneras de disponer de esta herramienta. Como he comentado antes se trata de una herramienta escrita en Rust, por lo que para instalarlo debemos utilizar el comando con el mismo nombre. Por norma general no viene preinstalado en las distribuciones, para poder tenerlo disponible, hemos ejecutar esta orden:

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

Una vez hecho esto, ya podemos instalar:

cargo install natls

Existe también la instalación mediante Homebrew:

brew tap willdoescode/homebrew-natls
brew install natls

O mediante paquete Snap:

sudo snap install natls

También podemos hacer la instalación de forma manual:

apt-get install rustc cargo
cd /tmp
git clone https://github.com/willdoescode/nat.git
cd /tmp/nat
cargo build --release
cd target/release
./nat

Y para instalarlo localmente:

cd /tmp/nat
cargo install --path .

Y añadimos estas líneas en nuestra $HOME/.bashrc.

export PATH=$PATH:$HOME/.cargo/bin

Si nos gusta esta herramienta y queremos que se quede como substituta de ls, hemos de modificar el fichero /etc/bashrc y añadir:

alias ls='natls'

Una vez instalada, este es su aspecto junto a Oh-My-Zsh

Ejemplo de uso de natls con zsh

Y esto es todo, espero que esta entrada te haya parecido interesante.