Live data from Hacker News

Exa, a modern replacement for ls

the.exa.website

101–110 of 420 posts

Re: Exa, a modern replacement for ls

#101
post #27
post #5

Earlier quoted context omitted.

From the FAQ: >Is this a drop-in replacement for ls? No — exa has, in my opinion, much saner defaults than ls, so while the available command-line options are similar, they are not exactly the same. Most of the common options will work consistently, though. For example, exa prints human-readable file sizes by default (when would you not want that?) so ls -h no longer applies.

But a length in bytes is even better than human-readable: it's a graph (technically a histogram), so it can be scanned, which is even faster than reading. It's far faster to identify the smallest or largest file in a directory with standard ls. There are some times when I do want human readable, but then I typically want to specify the units, so I see everything in megabytes.

Exactly - it's a logarithmic scale bar chart!

Re: Exa, a modern replacement for ls

#102
post #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.

Can you please expand on your comment? It currently makes zero sense with zero references.

Re: Exa, a modern replacement for ls

#103
post #77
post #69

Earlier quoted context omitted.

After strip it is 1.1M.

For comparison, ls is 38k on macOS (edit: and coreutils’ ls is 138k).

Rust links all its runtime statically by default. Your /bin/ls is probably dynamically linked to libc and a few others.

That being said that the argument of size is a bit silly to begin with, especially for a 3MB binary.

Re: Exa, a modern replacement for ls

#105
post #50

What do all the colors mean? I wish he would make a little page explaining what I'm looking at and what each color means.

I know the documentation is currently lacking -- I've been working on a better website that explains all the options and colours for a while now. It should be done Soon™

Re: Exa, a modern replacement for ls

#106
post #5

Earlier quoted context omitted.

From the FAQ: >Is this a drop-in replacement for ls? No — exa has, in my opinion, much saner defaults than ls, so while the available command-line options are similar, they are not exactly the same. Most of the common options will work consistently, though. For example, exa prints human-readable file sizes by default (when would you not want that?) so ls -h no longer applies.

> > For example, exa prints human-readable file sizes by default (when would you not want that?) When its being used as part of a script.

[deleted]

Re: Exa, a modern replacement for ls

#107
post #39

I set up $LS_COLORS like 15 years sgo in my .zshrc… and haven't had to touch it since. Doesn't seem like a huge deal worth replacing it over.

It's not exactly the same though. LS_COLORS only colours file types (whether it's a file, dir or symlink) and permissions, while exa appears to also set the colours based on the mime type (text, image, etc.).

Re: Exa, a modern replacement for ls

#108
post #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.

It uses libgit2 for this; I don't know what specific attack vector you're thinking about though.

Git's on disk format has a massive attack surface.

Do not run "git" in untrusted directories. It is not hardened against that (as opposed to the network protocol).

That probably includes libgit2 unless it explicitly states the opposite.

Re: Exa, a modern replacement for ls

#109
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.

Why would I want to compare apples to oranges? Though admittedly in this crazy day and age someone has probably already reimplemented coreutils in node.js just because.

Re: Exa, a modern replacement for ls

#110
post #19

exa is hard to type, bad choice of name for something I'd be typing many times a day

Well, it can be typed easily with one hand. At least it has that going for it

"easily"

It's top row, bottom row, middle row, and the 'x' on a normal keyboard is half way to being directly under the 'e'. Very awkward and antithetical to the ideas of people who have designed keyboard layouts specifically for efficiency and ergonomics.

The only demographic that comes to mind which would find that hand position "natural" would be guitarists and other string players.

Post reply on HN