Recently I’ve been taking a look at replacements for common command line tools (and coreutils) - ls, cat, find, grep, etc. I don’t really have many issues with the older tools, but I like shiny things. Turns out, people have been rewriting a lot of them in Rust

lsd

lsd is a replacement for ls. It adds some nice colours and icons to your output, like:

exa

exa is also an ls replacement! It’s fairly similar from what I can see, though it doesn’t do the fancy font icons. However, it does display some info from Git, and has some other features. Both are worth looking at imo.

u/milliams and @hoop33 have pointed out that exa will do icons with the --icons flag!

bat

bat is like cat, but with colours, line numbers, and a few other things. It has syntax highlighting, shows git changes, and also automatically pages with less (which I love).

Sure, cat is intended to concatenate files, but it’s also really commonly used to just dump a file to your terminal. bat does that, and makes it pretty :D (it can concat too)

ripgrep

ripgrep is one of the first I installed! It searches code really, really nicely. .gitignore is followed by default, it recurses files and directories by default, and it’s very fast. I think the output looks pretty nice too!

there was also only one todo

there was also only one todo

There are a few alternatives here, but this is the only one I’ve used

fd

fd is like find, but in my opinion more convenient. fd .py is fast to type, and fd is also very fast to run. By default .gitignore is followed – a trend I’m very much liking. Regex is supported, and the output has colour!

dust

dust is a tool I only found very recently, but it tries to make du nice. By default I don’t find the output of du to be very helpful, and it’s usually combined with at least -h, and maybe some sort as well.

dust will automatically sort, create graphs, and generally answer the “how the hell am I out of disk space already” question. For when the answer isn’t docker images, anyway.

coreutils

Not something I’m using, but there’s an attempt to rewrite all of coreutils in Rust going on over here. It’s pretty cool and worth a look

That’s pretty much it for now! If you have any other suggestions, feel free to contact me on Twitter, or via email