Replacing the "ls" Command
I’ve been replacing the
ls command on both my personal and work machine for so long that I’d honestly completely forgotten I was doing it until I saw someone else mention doing the same recently (can’t remember where, sorry!).
The tool I’ve been using is called Exa, and for my usage it’s a drop in replacement for ls with several helpful features and readability improvements.
I’ve been using shell aliases to call Exa when I type
ls and also give myself a few useful shortcuts. Here’s what they look like in fish shell, equivalent aliases for bash, zsh, or whatever else you’re using might look slightly different.
alias ls 'exa' alias tls 'exa --tree --icons' alias lls 'exa -la --icons' alias gls 'exa -la --icons --git'
ls alias gives output very similar to the real ls just with more colors. The
tls alias shows a tree view of the current directory with icons. The
lls alias is a shortcut for a more detailed view with icons. The
gls alias is the same as
lls but it also shows git status for files.
As always, there are some pitfalls to be careful of if you start overriding core tools, the main one being that you might confuse behavior of the replacement with behavior of the core one which could throw you off when you find yourself using a different system. But like I said, I’ve had these aliases for years without any trouble.