Live data from Hacker News

Exa, a modern replacement for ls

the.exa.website

51–60 of 420 posts

Re: Exa, a modern replacement for ls

#51
post #42

> exa is written in Rust, so it’s small I suspected this would be total bullshit, and it is. Its small binary is a mere 3.4 megabytes. I wonder if I misinterpreted the "small" part.

As usual, you have to consider static vs dynamic linking, all sorts of other stuff.

Good overview and HN discussion of this: https://news.ycombinator.com/item?id=11823949

Re: Exa, a modern replacement for ls

#52

This is heavily influenced by personal taste, but I don't understand the value of having so many elements of the output colorized. File type seems a useful case, everything else in the output of `exa -l` just looks distracting to me. Just my 2 cents.

I like color formatted text if possible, but more so just for keeping columns in a tabular output more easy to tell apart.

Just clicked-through to see what you meant about `exa -l` and I agree. When individual characters have different colors that's just way too much.

Re: Exa, a modern replacement for ls

#53
post #42

> exa is written in Rust, so it’s small I suspected this would be total bullshit, and it is. Its small binary is a mere 3.4 megabytes. I wonder if I misinterpreted the "small" part.

It's a lot bigger than conventional ls, but compared to a node.js implementation or Java program the description "small, fast" seems justified.

Re: Exa, a modern replacement for ls

#54

It feels like swiss army knife of 'ls' that tries to do everything in one, and I hope more features are added, such as showing directory size, which would be a killer feature. I hate using 'du' or 'ncdu'. I installed in Ubuntu (and WSL) by downloading the zip file and also 1 dependency by `sudo apt-get install libgit2-24' Edit: It's also fast, and I'm beginning to think Rust is really good for making speedy commandli…

Rust is my favourite language for code that has to run on end-users' computers. It's also my favourite language in general, but for that specific usecase it's leagues ahead of the competition in my opinion.

Re: Exa, a modern replacement for ls

#55
post #37

Earlier quoted context omitted.

I almost never use the human-readable file sizes. For this to get any traction it is going to need to accept every argument ls does and play nicely. Most people who work with nix systems work on many systems and some of them don't control the software loaded on them. If I have to remember that on this* system I have to use these arguments because I have exa, vs this system I have normal ls that is going to be a deal…

> I almost never use the human-readable file sizes. Same here. I love the idea, and i keep trying to use human-readable sizes in every command which supports them. But it turns out they're much less scannable than numbers in a common unit. How long does it take you to see which of these files is biggest: 13k potatoes.txt 7M tomatoes.txt 128 recipe_ideas.txt 1G hot_sauce_formula.txt How about now: 13093 potatoes.txt 7…

Interesting point. Maybe we could have our cake and eat it too:

          ..  13k  potatoes.txt
        ....   7M  tomatoes.txt
              128  recipe_ideas.txt
    ........   1G  hot_sauce_formula.txt

Re: Exa, a modern replacement for ls

#56

Earlier quoted context omitted.

I almost never use the human-readable file sizes. For this to get any traction it is going to need to accept every argument ls does and play nicely. Most people who work with nix systems work on many systems and some of them don't control the software loaded on them. If I have to remember that on this* system I have to use these arguments because I have exa, vs this system I have normal ls that is going to be a deal…

We shouldn't need complete backwards compatibility on a command that is completely new, surely? That would limit the amount of improvement that could be made dramatically. Also, as a side note, why do you enjoy using machine readable file sizes over human readable? The latter, as chosen by their name, are meant to be easier to use for humans.

twic, replied to my original post and I think he does a good job of showing why the machine readable is preferred -- and why human-readable is not actually easier for humans.

I would also like to add to the case twic showed that often I am using ls to see if a file is growing. In human-readable format hides the actual size and rounds -- it could move 200 megs or more before the human-readable output is updated from 1G to 1.2G.

To address why backwards comparability is needed is because of muscle memory. Its not likely that this tool will be on every system I use. I don't want to have to think about what system I am on and what command I need to run. It would be nice to also be able to alias it to 'ls' as ls is way faster to type than eax -- all on the left hand makes it MUCH slower -- although I am sure there will be those who say different -- but they are wrong.

Re: Exa, a modern replacement for ls

#57
post #22

The main problem I can think of is that I'm so used to type cd and then ls... But OTOH it's as simple to fix as alias ls=exa EDIT: "exa prints human-readable file sizes by default (when would you not want that?)" I actually use bytes a lot for certain progress calculations. Also I get an error "exa: error while loading shared libraries: libhttp_parser.so.2.1: cannot open shared object file: No such file or directory"…

[deleted]

Re: Exa, a modern replacement for ls

#58
post #22

The main problem I can think of is that I'm so used to type cd and then ls... But OTOH it's as simple to fix as alias ls=exa EDIT: "exa prints human-readable file sizes by default (when would you not want that?)" I actually use bytes a lot for certain progress calculations. Also I get an error "exa: error while loading shared libraries: libhttp_parser.so.2.1: cannot open shared object file: No such file or directory"…

Why does a directory lister need an HTTP parser?

I am wondering that too, but FWIW `sudo apt-get install libhttp-parser2.1` will have you on your way.

Re: Exa, a modern replacement for ls

#59
post #22

The main problem I can think of is that I'm so used to type cd and then ls... But OTOH it's as simple to fix as alias ls=exa EDIT: "exa prints human-readable file sizes by default (when would you not want that?)" I actually use bytes a lot for certain progress calculations. Also I get an error "exa: error while loading shared libraries: libhttp_parser.so.2.1: cannot open shared object file: No such file or directory"…

⋊> ~/Downloads unzip exa-linux-x86_64-0.7.0.zip Archive: exa-linux-x86_64-0.7.0.zip inflating: exa-linux-x86_64

⋊> ~/Downloads ./exa-linux-x86_64 --version 15:26:40 ./exa-linux-x86_64: error while loading shared libraries: libhttp_parser.so.2.1: cannot open shared object file: No such file or directory

...yup.

Re: Exa, a modern replacement for ls

#60
> Git support: View the staged and unstaged status of every file, right there in the standard view. Also works in tree view.

This is nearly impossible to implement securely.

Better don't run exa against untrusted directories.

Post reply on HN