DEV Community

Cover image for 10 Tools To Power Up Your Command Line

10 Tools To Power Up Your Command Line

Darren Burns on January 03, 2019

This post is the first in a series of showcases of some of the best non-standard command line tools I've discovered in recent years. If you ever ma...
Collapse
 
marionebl profile image
Mario Nebl

Nice posts, thanks for the mention of svg-term-cli. I just wanted to point out that svg-term-cli does not require remote asciicasts to work.

You also have the option to pass an asciinema recording via stdin, e.g.

asciinema rec cast.json
cat cast.json | svg-term-cli
Enter fullscreen mode Exit fullscreen mode

Cheers

Collapse
 
_darrenburns profile image
Darren Burns

Thanks for the heads up Mario :)

I've updated the post!

Collapse
 
pabuisson profile image
Pierre-Adrien Buisson

Thanks for this list! I already use several of those, but some of them I didn't know. z is my favorite of the batch, use it all the time, it's a huge time saver! I also use fzf daily through the vim plugin as my default fuzzy file finder and it works great, same for bat, very useful.

As for asciinema, I noticed that on your blog, my Firefox does not render the ascii clips correctly (even though I turned all content blocking off, and the clips are rendered correctly on asciinema website).

Collapse
 
_darrenburns profile image
Darren Burns

Not sure why they don't work on Firefox :( Thanks for the heads up though. I moved back to using gifs for parts 2 and 3.

Collapse
 
pabuisson profile image
Pierre-Adrien Buisson

My pleasure! Thanks again for this article, I went and read the whole series on your blog and found many other useful tools, once again quite a bunch that I already but also new ones I'll be testing soon ;)

Thread Thread
 
marionebl profile image
Mario Nebl

Hey Pierre, any chance you could file the bug you see as issue with svg-term-cli? A screenshot of the problem and the exact FF version would be super nice.

Thread Thread
 
pabuisson profile image
Pierre-Adrien Buisson

Hey Mario! Sure, can do. I'll do it right now, happy to help.

Collapse
 
rhymes profile image
rhymes

z is definitely one of my favourites, don't use cd that much anymore. Fun fact:

➜  ~ z -l | sort -n -r | head -1
8420       /Users/rhymes/Dev/devto

bat I've aliased to cat already, wrk is the coolest and ripgrep made me replace ack.

Didn't know about the others. I've installed exa, fd and bench.

Thank you!

I feel like Rust is there for fast and powerful command line tools :D

Collapse
 
darkain profile image
Vincent Milum Jr

Some really cool stuff here! I personally just wish more of these were available on FreeBSD rather than requiring macOS.

Collapse
 
_darrenburns profile image
Darren Burns

Thanks!

Collapse
 
jesusjbr profile image
jesusjbr

These good CLI tools mostly are written in Rust. That alone give him some credit for me (in Rust we trust). Nice compilation, this is one of the best post that I've read in dev.too.

Collapse
 
miku86 profile image
miku86

Hey Darren,

thanks for your post.

I love z for the terminal.

I also love ranger as my file manager, where I set some shortcuts for specific places like "Go to Home" (gh), "Go to External Devices" (ge) etc.

Moreover I use trash-cli, so that I can delete files from the terminal savely into to the Trash.

Collapse
 
jhspetersson profile image
jhspetersson

You could probably like my tiny tool to search files with SQL queries. Another find replacement written in Rust as well.

github.com/jhspetersson/fselect

Collapse
 
_darrenburns profile image
Darren Burns

This is fantastic, I love it! Thanks for posting it :)

Collapse
 
jraynal profile image
RAYNAL JR

How does ripgrep compare to ag? I use the silver searcher almost exclusively :). Combined with fish shell wildcards that's a killer combo! I am looking forward to try some of these though.

Collapse
 
_darrenburns profile image
Darren Burns

BurntSushi (the author of rg) made a huge blog post you might be interested in.

He compares it to and benchmarks it against tools like silver searcher etc: blog.burntsushi.net/ripgrep

Collapse
 
clickclickonsal profile image
Sal Hernandez

OMG! These are some dope tools! I just installed fzf, exa, bat, & fd!

I added the aliases below to my shell profile to introduce them seamlessly into my workflow! 😀

alias cat="bat"
alias find="fd"
alias ls="exa"
alias ll="ls -alF"

Thanks for sharing this Darren! This is def going to help me boost up my workflow.

Collapse
 
ralcr profile image
Cristian Baluta

The most useful cmd for me is Jit github.com/ralcr/Jit, it allows me to make git commits with 'jit magic Blah blah' instead 3 commands. It also allows me to create branches from jira issues and switch branches by typing only the number of the task

Collapse
 
renatosuero profile image
Renato Suero

Like Ryan, I too always read posts to finding out new tools and I'd like to suggest Tig maybe it can be useful

Collapse
 
_darrenburns profile image
Darren Burns

Glad you found it useful ☺️

Tig looks cool, I'll check it out!

Collapse
 
darkain profile image
Vincent Milum Jr

By default, FreeBSD doesn't use bash Shell, it uses tcsh. Yes, it's possible to switch, but then all of the features of tcsh go bye bye, which is the entire "feel" of FreeBSD. the other thing is that a couple of these I looked into have not been ported to FreeBSD at all yet.

Collapse
 
edwardhu profile image
Edward

Thanks for your sharing!
Very useful :)

Collapse
 
mraza007 profile image
Muhammad

Cool
You mentioned great tools

Collapse
 
janpauldahlke profile image
jan paul

nice job darren, bookmarked! :-)

Collapse
 
hugoliconv profile image
Hugo

Thanks!
I installed bat but doesn't detect React syntaxis. Does anyone know how to fix this?

Collapse
 
_darrenburns profile image
Darren Burns

Hi Hugo,

Thanks for your comment :)

It might be worth creating an issue over in the bat GitHub repo if you can't get JSX syntax to work. The project is supposed to highlight JSX, as there's a syntax file for it: github.com/sharkdp/bat/blob/566aab...

Collapse
 
hugoliconv profile image
Hugo

Thanks!
I found out what the problem was. The files need to have the jsx extension

Collapse
 
sagexsdx profile image
Chris Moon

I know what I'm doing when I get into work tomorrow!

Collapse
 
goodbytes profile image
goodbytes

These are great, thanks Darren! The only thing I notice is that I tend to forget about all these cool commands rather quickly. Bookmarked your post to refresh my memory!

Collapse
 
kylegalbraith profile image
Kyle Galbraith

Awesome post Darren! I'm going to have to give wrk a try on my next project.

Collapse
 
_darrenburns profile image
Darren Burns

Thanks Kyle :)

Collapse
 
park53kr profile image
Junsuk Park

Thank you for sharing :) Really helpful!

Collapse
 
rpalo profile image
Ryan Palo

I always love these posts about tools recommendations. I love finding out about new, useful commands! I hadn't seen a lot of these! Thanks for sharing :)

Collapse
 
_darrenburns profile image
Darren Burns

Thanks Ryan, glad you enjoyed it!

Collapse
 
coreyja profile image
Corey Alexander

Thanks for the post! Love me some good cli tools and there were a couple here that were new to me, gonna have to try them out!

Collapse
 
_darrenburns profile image
Darren Burns

Glad you found it useful Corey, hopefully they help you :)

Collapse
 
eekayonline profile image
Edwin Klesman

Hey Darren, really love this collection. Earned my ❤️💯.

I think that z and fzf will be the greatest timesavers for me personally. But I'll check out the others too :)

Thanks for sharing 🙌🏻

Collapse
 
_darrenburns profile image
Darren Burns

You're welcome, happy to hear you enjoyed it!

Collapse
 
mnemosdev_52 profile image
mnemos

Beautiful! Loved this tut!

Collapse
 
_darrenburns profile image
Darren Burns

Thank you! I'll be posting another one soon :)

Collapse
 
hankchanocd profile image
Hank Chan

Since you mentioned fzf, allow me to introduce a small CLI tool I wrote, npm-fzf. It makes npm commands easier with fzf.

github.com/hankchanocd/npm-fzf

Collapse
 
shadowrylander profile image
Jeet Ray

I personally use fasd rather than z; it includes several similar tools as well, all attached to their respective tools, such as the original z, j, being the commend this time!

Collapse
 
hexin profile image
Kacper Kaśków

Nice list. You should look at github.com/giltene/wrk2 as an alternative to wrk. In the README is explained why to use it instead of wrk :)

Collapse
 
_darrenburns profile image
Darren Burns

Ohhh this is brilliant, it does exactly what I've been looking for recently! Thanks!

Collapse
 
toby profile image
toby

FYI, GitHub link for wrk is: github.com/wg/wrk

Collapse
 
adilvelizade0 profile image
Adil Velizade

Please follow instagram : @master_javascript

Collapse
 
elpic profile image
Pablo Ifrán

This is awesome!! Thanks for sharing.

Did you try the thesilverserarcher for finding I think it is a great tool

Collapse
 
eurythmax profile image
Markus Hauthaler • Edited

Hi Darren I have a question.

Would it be ok for you if I would use your information and gifs for a little presentation on a local meetup in my hometown?

Thx

Collapse
 
_darrenburns profile image
Darren Burns

Of course! Good luck with your presentation 🙂