So, exa became eza. Thanks. https://github.com/ogham/exa
exa is unmaintained, use the fork eza instead. (This repository isn’t archived because the only person with the rights to do so is unreachable).
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
So, exa became eza. Thanks. https://github.com/ogham/exa
exa is unmaintained, use the fork eza instead. (This repository isn’t archived because the only person with the rights to do so is unreachable).
Oh, I had no idea, time to change some aliases
Some of the distros actually just included an alias from exa
to eza
when the project forked. I didn't even realize I was using eza
for a long time!
Why does ls need a replacement?
What does this do that ls cannot?
Edit: cheers for the downvote for valid questions!! Guess the reddit mindset never leaves some.
It's subjective, but it looks better
Function is what I want.
good design is a function on its own
better defaults, icons, color coding, and other optional views improve on the functions of the default ls
You do you choom
It's written in a safe language
Does it use safe development practices though? Or is mainstream Rust development npm leftpad all over again with developers dumpster diving for dependencies to make their lives easier and more productive.
There is potentially a price to pay for colour ansi graphics and emoji and it comes in the form of a large tree of often trivial third party crates of unknown quality which could potentially contain harmful code. Is it all audited? Do I want it on a company server with customer data or even on a desktop with my own data?
The various gnu and bsd core utils are maintained by their projects and are self contained without external dependencies and have history. There are projects rewriting unix core utils in Rust (uutils) that seem to be less frivolous which are more to my taste. Most traditional unix utils have very limited functionality and have been extensively analyzed over many years by both people and tools which offsets a lot of the deficiencies of the implementation language.
there's no such thing as safe language. People sent spaceships to moon with assembly. But there is one such thing as undereducated bootcamp grad developer.
True but when people speak of rust being safe they actually mean the way it deals with memory and that it is harder to arbitrability view the mem space it uses unlike C and it's children.
We have tried the "sufficiently experienced and disciplined developer" approach for decades and it just doesn't work.
aside from the subject of the post: the ones I miss when it's not available are git status/ignoring, icons, tree, excellent color coding.
Here I cloned the eza
repo and made some random changes.
eza --long -h --no-user --no-time --almost-all --git --sort=date --reverse --icons
Made some more changes and then combine git
and tree
, something I find is super helpful for overview:
eza --long -h --no-user --no-time --git --sort=date --reverse --icons --tree --level=2 --git-ignore --no-permissions --no-filesize
(weird icons are my fault for not setting up fonts properly in the terminal.)
Colors all over the place are an innovation that has enabled me to use the terminal really at all. I truly struggle when I need to use b&w or less colorful environments. I will almost always install eza
on any device even something that needs to be lean. It's not just pretty and splashy but it helps me correctly comprehend the information.
I'd never want to get rid of ls
and I don't personally alias it to to eza
because I always want to have unimpeded access to the standard tooling. But I appreciate having a few options to do the same task in slightly different ways. And it's so nice to have all the options together in one application rather than needing a bunch of scripts and aliases and configurations. I don't think it does anything that's otherwise impossible but to get on with life it is helpful.
Not sure I could get with the huge string of arguments, That needs to be shortened to follow the ls style of stacking letters behind minimal "-"
Does look good but I prefer function to form.
Interesting though
I just tested this and the reported sizes with eza -l --total-size
are wrong for me. I compare it to du --human-readable --apparent-size --all --max-depth 1
and with opening properties in my Dolphin filemanager. Some are way off. In example du
and Dolphin report for a certain projects folder of mine "149M", while eza
reports "184M".
this looks like one is using the SI 1000-based units, instead of the binary 1024-based. im pretty sure du
has a --si
option.
the B
(for bytes) is omitted, so it each is ambiguous to whether its MiB
(mebibytes -- binary) or MB
(megabytes -- SI).
i may be wrong on the technicals but u get the jist.
The difference is too large for that. 184 MB is 176 MiB not 149.