28 stable releases

2.1.14 Mar 14, 2021
2.1.12 Mar 10, 2021
2.1.11 Feb 17, 2021
2.1.9 Dec 11, 2020
1.2.6 Oct 29, 2020

#753 in Command line utilities

Download history 8/week @ 2024-02-22 2/week @ 2024-02-29 4/week @ 2024-03-07 98/week @ 2024-03-28 45/week @ 2024-04-04

143 downloads per month

MIT license

641 lines

dependency status natls

⚡️ nat ⚡️

Massive nat update!



What is nat?



Understanding permissions output

What is nat?

Nat is a complete replacement for the 'ls' command

Nats features include

  • Showing file permissions
  • Showing file size
  • Showing the date that the file was modified last
  • Showing the user that the file belongs to
  • Showing the group that the file belongs to
  • An easy to use file search
  • A splash of color to distinguish between files and folders

Join the nat discord server

Beta test the natls proof of concept re-write

cargo install nat-poc


  • A rather large german tech blog wrote an article about nat



cargo install natls


brew install willdoescode/natls/natls

Alternative (linux)


sudo snap install natls

To update natls with snap

sudo snap refresh natls

Another alternative (arch linux)


yay -S nat

(or your AUR helper of choice)

Manual installation


apt-get install rustc cargo
cd /tmp

git clone https://github.com/willdoescode/nat.git
cd /tmp/nat

cargo build --release

cd target/release


To install nat locally

cd /tmp/nat
cargo install --path .

and add this line to your $HOME/.bashrc

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

Updating nat

cargo install natls

if there is a new version available cargo will install it

Using nat with ls

in zshrc or bashrc

alias ls='natls'


natls <dir>

Searching for file

natls <file>

To edit the code

git clone https://github.com/willdoescode/nat.git
cd nat

Uninstall steps

cargo uninstall natls

Understanding permissions output

Imagine file permissions as three ones or zeros

000 no access
100 read
010 write
001 execute
101 read and execute
110 read and write
011 write and execute
111 read write and execute

what nat does is it combines these permissions for


so if the user has read write and execute and the group has read and write and other has no perms the output will look like


If all groups have read write and execute the output would look like


Stargazers over time

Stargazers over time


~118K SLoC