As developers, we spend a lot of our time in the terminal. There's a lot of helpful CLI tools, which can make your life in the command line easier,...
For further actions, you may consider blocking this person and/or reporting abuse
this is awesome and i fully plan to go over a bunch of these this weekend!
i would also suggest toilet for this list.
figlet foo | toilet -f term --gay
gives you a nice oh-my-zsh-style headline.Very comprehensive list, thank you so much, Alicia! Here are a few more command line tools that you might find useful:
awscli: is a command line interface for Amazon Web Services. It provides commands for a variety of AWS services, including EC2, S3, and RDS.
mycli: is a command line interface for MySQL that provides auto-completion and syntax highlighting.
ncdu: a disk usage analyzer that can help you quickly identify which files and directories are taking up the most space on your file system.
Awesome! 😍
Would like to add:
Micro is awesome - thanks for sharing!! I've added it to the list :)
I'm usually a Neovim user, but I really enjoyed trying out Micro, and it looks like it'd be ideal for simple tasks.
Indeed, micro makes editing config files in terminal a breeze. ✨
Thank you!
Awesome list!! 🔥 There are many I didn't know about.
I'd just add tmux to the mix. I can't live without it.
Also for the fun, cmatrix is a nice effect to have in your terminal when you are afk... specially piped to lolcat 😅
This list is actually useful, has most of the tools I use plus a few new ones. It explains about the tool, has screenshots and direct link to source. Very cool indeed, I would like to add the bitwarden command line clint with
fzf
are a great pair.Great list! Looks like I'm going to spend most of today installing things instead of working...
My contribution to the list would be autojump. It learns all the directories you frequently
cd
into so you can quickly jump to them later. e.g.j Doc
will take me straight to/home/moray/Documents/
from wherever I was.Nice. There is
z
on the list that does the same 😂This list is the best list I ever found on tools 🔥
I literally just created this account so I could comment on on your munificence ; and I literally had to Google synonyms of generosity to find the word munificence. Seriously, this is mind blowing - more so because I avidly search for such tools but have never heard of several of these. Anyway, thank you SO VERY MUCH- I’ll see you guys around soon…we are all now pupils of the chosen one, Alicia
Thank you so much @ ☺️☺️
This is an interesting list. I'm not usually a fan of listicles (article + list = listicle) since they are rarely carefully curated and someone basically throws the list together to fulfill some quota. You obviously spent a great deal of time putting this together, including figuring out what tool they replace. Very nice.
Two observations/thoughts:
speedtest-cli is fine as long as you understand that the results might not be realistic. Ookla, the organization behind speedtest.net, may have the largest selection of donated speed test servers globally, but ISPs are fully aware of their existence. Some ISPs even go out of their way to lie to their customers such as remove bandwidth caps for connections to the known, public list of Ookla speed test servers so that you get the advertised speeds you are paying for in just that one specific use-case. Ookla also sells cobranded versions of their speed testing widget to the ISPs that cater to each ISP's whims/desires, which I think is pretty sus. That said, something that does speed testing is better than nothing. Speed testing tools are also useful for the datacenter. For example, DigitalOcean advertises a minimum 1Gps link speed but I've seen burst rates up to 3Gps even for their cheapest VPS servers.
From the current librsync GitHub repo:
The bolded portion is the important phrase that makes both librsync and anything built on it likely to introduce data corruption over time. There is no guarantee that the same checksum of a portion of a file means that the stored data is actually identical. I have personally witnessed significant data corruption due to the underlying algorithm used in librsync. rsync and librsync are, in my experience, unsuitable for the purposes that they claim to be suitable for.
Thanks @cubiclesocial - I wasn't actually aware of that librsync issue, I've not experienced corruption myself, but it's very good to be aware of. On the topic, is there anything similar that you recommend for incremental file transfers?
I have tried unison in the past, but since it works in a similar way, I'd imagine it would also be susceptible to this issue, especially when dealing with large data sets. For backups specifically, possibly restic could be an option?
Possibly. For backups, I use my own 3rd generation software called Cloud Backup. I backup my servers via a Remoted API Server + Cloud Storage Server instance. Been running that combo for years with only the occasional hiccup with network connectivity that usually clears itself up by re-running the backup automatically until it succeeds. Whenever I've needed to retrieve something, it's there and ready for use and can be pulled back onto the system within a few seconds from the backup. The setup handles multiple GB of transfers daily across multiple systems. I even use Cloud Backup when I need to migrate between *NIX systems because it faithfully preserves timestamps, owner, group, privileges, symlinks, etc.
Cloud Backup, Cloud Storage Server, and Remoted API Server were written before I came up with "question-answer" CLI interfaces. As a result, initial setup is really awkward and overly complex. So I can't really recommend using what I use for that reason. I'll eventually get around to fixing that problem.
I also have a very large drive attached to a cheap-o mini PC that is firewalled onto its own VLAN that I pay for a single user license of Backblaze (approx $7/mo). I push backup data to the Cloud Storage Server instance running on that system a couple of different ways. The Backblaze client software then picks up everything on the drive and puts it in the cloud. Basically, this setup gives me unlimited online backup storage for all my computer systems (instead of paying for cloud storage for each system). The key to saving money with Backblaze is to dump everything onto one system with at least one large external attached drive over USB. In my case, by using Cloud Backup, Backblaze just gets compressed, encrypted data blobs but someone could go a lot simpler than my setup and just dump straight files onto a similar setup for cheap, "unlimited" cloud storage (unlimited = as much locally attached storage as can be afforded). I'm a penny pinching fiend. I wish Backblaze had a Linux client but I suspect they don't because they don't want people to abuse their system any more than it currently gets abused.
The DIY alternative to paying for online cloud storage is to setup a backup system with Cloud Storage Server at a friend's house and use Remoted API Server on any public facing VPS to allow their home IP to freely roam and also to not have to worry about router/firewall rules. Then point Cloud Backup at the running Remoted API Server. Once setup, the bonus with this approach is that restoring everything from the backup takes a fraction of the time it would take over the Internet (especially when restoring multi-TB of data): Drive to the friend's house, pick up the equipment, drive home, adjust the configs to point at the local network, restore everything locally, revert the configs, drive back, put the equipment back in place. Fully restored in mere hours instead of days or weeks. Buy the friend a pizza or coffee to celebrate.
Lots of great tools. Thanks!
There were a few apps on your list that I had already discovered, installed, tried a few times, and forgot about. It was good to be reminded so I can look at them again. It can take a bit of effort to make a new tool part of your muscle memory, no matter how useful.
For me one indispensable tool, that now finally flows off my finger tips, is ack -- a grep-like source code search tool. Most of the time I can just type in a snippet of what I'm looking for, and it quickly finds that bit of code I wrote for some other project, but I just can't remember which one. The defaults settings are so well chosen, I rarely need to provide any options.
You should definitely add fd (i.e. fd-find, fdfind on Ubuntu) to the list -- a nicer syntaxed
find
command with some nifty extras.github.com/sharkdp/fd
If some task is annoying to do it from some GUI there is always a way to do it from the cmd and that list shows it. Great post!
Thanks for sharing
List made me to go back to linux on my main machine ditching windows and all the games. I'd surely enjoy the perks I get in return. TY! 😄
If you do prefer Windows, then all these utils should work in WSL :)
A few weeks ago I used yuk7/ArchWSL on Terminal, and the experience was surprisingly pleasant. With the Ubuntu image, you can also run GUI apps, which is pretty neat.
Thanks I was planning to dual boot, but WSL might save me some time surely.
Thanks for this list! fzf is great!
jq is super underrated
gron is pretty useful too -- especially if you don't want to work through the structure (eg. gron json | grep 'thing' | gron -u)
Thank you for writing this. You may have done something unique on the internet: written an article that more than lives up to its title!
More power to your elbow :)
Wow this list just blew my mind, I'll have to bookmark and try and process all of this over more than a few days.
Thanks @lissy93 for curating such an amazing CLI tools list✨.
I'm Ubuntu OS user so the tools mentioned many of them will be super useful to me🚀.
Great article. Lived without most of these using command flags over the years but I've been in the field quite a while and haven't come across some of these.
Nice to see someone younger (I'm assuming looking at your bio pic) actually takes note of these things over the pond, the states are getting rather incompetent for people under 30+ years old
How do you mean "the states are getting rather incompetent for people under 30+ years old"?
The generation which grew up with low-level programming, and doing everything with native tools on the command line, are in an entirely different league. They (usually) have a deep understanding of what's actually going on under the hood, rather than just pasting commands and expecting an output. Which in turn makes them much better programmers.
I have huge respect, and am trying to learn more about these things.
But maybe in a few decades, when all the new devs are using AI generation tools, and low-code platforms, we'll be like the C developers of the 1980s!
nice list! I am already using some of these. I also can recommend silversearcher (finds files by content, kinda a grep alternative but cooler imo) and fd (better find)
Very good list!
self-advertise here my hobby project: showcert - human-friendly openssl alternative to read/validate certificates
OpenSSL hates you. Do you know if google smtp server cert is fresh?
I love linux pipes too, but three command to show one very simple thing... (And I always have google for these commands, it's hard to remember). Isn't it easier:
Same for:
Check all your LetsEncrypt and panic is anything will expire soon in 100 days (surely it will!):
dev.to/yaroslaff/showcert-explore-...
github.com/yaroslaff/showcert
That's pretty neat - thanks for sharing, I'm definitely going to try your tool out when I get home :)
One of the best articles I've seen here.
You just broke my schedule for the rest of the night.
Thanks. Even though, I am not a developer I love working inside a terminal as much as possible.
Thanks for this, definitely checking out thefuck and easy navigation...
Great Article it its really informative and innovative keep us posted with new updates. its was really valuable. thanks a lot
great list love the docker cli tools like <3
Note that
bpytop
is rewritten into C++ and renamed asbtop
(news)👑 What a collection. It is by far the list I will camp for a long time.
I also did not see
ncdu
which not only list disk storage but also allows deleting:) So for me ncdu > duf > dfLove this list! I see many of my favorites. The one I'd suggest is
xh
as a replacement for HTTPie github.com/ducaale/xh. It's pretty much but so much faster - the almost negligible startup time is very noticeable.tldr isn't a better man, it's just shorter.
Not sure why would anyone need better cat. bat is just a really nice file previewer. But it's not even a better pager, since it still relies on one. Still useful, because I often launch vim only to have syntax highlighting.
fzf is awesome, but it's not better than find, it can only search by name. It's only better for interactive usage.
ripgrep is indeed better, use it all the time. It's awesome.
Instead of bpytop I would recommend btop. Looks like the same thing, but written in C++. github.com/aristocratos/btop
Since there's taskwarrior, I'd recommend timewarrior too. github.com/GothenburgBitFactory/ti...
For visual git usage I'd recommend tig github.com/jonas/tig
What I would really like is to have a better ranger (native binary, without python dependency)
I did something similar with toilet/figlet:
Towards a better message of the day
Ben Sinclair ・ Apr 16 '21 ・ 3 min read
Some of these tools seem like just a bit of fun but they can be a real productivity helper if you use them that way!
Great list, Alicia!
I would like to suggest Portal as a quite different alternative to the file transfer utilities listed. You can read more about it here: dev.to/zinokader/portal-a-modern-f....
Or jump directly to the Portal GitHub.
:)
that's a huge list. i knew some tools and already use them, but you really presented awesome tools.
thefuck
is now my favourite tool of all times.Awesome post Alicia! These tools are quality of life upgrades ilto my workflow
I just wanted to know, what is the shell that you used to show examples of these tools? I really love it and I would like to use it as well
Thanks Samaksh :)
It's a ZSH setup, and the prompt is forked from romkatv/powerlevel10k - I've put my config for it in lissy93/dotfiles :)
Hello Alicia, this is awesome work, I have a quick question hope you could help. do you know how to acheive this like you do: every time the path and command line are seperate? and how do you get that full path feature?
Great collection! Sad news - exa stopped being maintained, but supporters forked the project and created maintained version called EZA. Read more: denshub.com/en/best-ls-command-alt...
Recommend a tool.
chenquan / diskusage
💥A tool for showing disk usage. (Linux, MacOS and Windows)
diskusage
English | 简体中文
or download.
Oh this is super nice, thanks @chenquan 😊
🤝 You're welcome. You can have a star if you like. @lissy93
Thank you
It's very good! Thank you!
May I suggest ohcrab?
It's a port of thefuck (mentioned in the article) to Rust.
My question is, are there a list of commands separate from the cli commands that we have to master in order to use these tools again?
Standing high-scholie...
arttime is a must for both art and productivity.
Nice list!
Personality, I would replace by kdash by k9s, as it has more features including CRUD resources.
This is truly a GEM box! Thanks for sharing
Great Stuff!
My two cents: The silver searcher - a super fast tool for searching in files contents (oriented for code search)
very good alternative indeed, used it for a long time. ripgrep might even be better, imho. though
ag
is shorter ;)I am the 2000th person to save this post!
This post was an insightful one!
github.com/ibraheemdev/modern-unix
Definitely one of the best post of tools I have seen!!! Thank you so much for sharing! I can recommend Topgrade github.com/topgrade-rs/topgrade to keep absolutely everything up to date.
Nice article 😁
thanks 🤗
Thank you so much, Alicia!
I would also recommend Fasd with the "z" command to go quickly to the most often used directories, it saved me so much time
What a wonderful resource! Thank you!
Really nice one 💕
That’s an amazing list! Thanks for sharing!
Wow!! Thank you for taking the time to put this list together.
Can you share me how to create icon apple in promt in your terminal. Look interesting!
Sure, it's based off of PowerLevel10k :)
I've added the config to my dotfiles, in case that's helpful
Lissy93 / dotfiles
🧰 ~ • My Đotfiles
~/.Dotfiles
My dotfiles for configuring literally everything (automatically!)
$HOME, sweet $HOME
Contents
Intro
What are dotfiles?
One of the beautiful things about Linux, is how easily customizable everything is. Usually these custom configurations are stored in files that start with a dot (hence dotfiles!), and typically located in your users home
~
, or better yet~/.config
(even this can be customized, for apps that respect the XDG Base Directory spec). Some examples of dotfiles that you're likely already familiar with include.gitconfig
,.zshrc
or.vimrc
.You will often find yourself tweaking your configs over time, so that your system perfectly matches your needs…
This is awesome. Thank you!
Darn! Can’t decide which try first 😂
good selection, thank you Alicia!
Great list
Great resource!
I'd recommend github.com/extrawurst/gitui which I so far prefer over lazygit (though I've only tried the latter briefly).
Really nice article, as always! 💪🏻
Reminds me of what DistroTube shared in some of his videos. Always nice to get a fresh reminder! 👌🏻
Awesome list, even as someone who's been living in the terminal for a very long time I still found some gems in here I'd never heard of before. Thanks for sharing!
"can't live without"
Awesome list! You should also check out tdfgo
Thank you
Very good list. Definitely i add this post to my favorites.
I will add
BTOP - one more resource manager
this list is🔥
Nice post, thanks !
Great list, thank you! But not gonna lie, when I scanned the title image (or whatever it's called), I read "clitoris".
😳 I hadn't noticed, but now I can't un-see it!
Nice article 👏👏 Currently using maybe 1/4 of the above mentioned tools.
This list is awesome! I ended up here looking for CLI tools for managing partitions, and maybe cfdisk should be on this list (although it may be Linux realm only tool).
You forgot BME which lets you bookmark commands and sequences with custom placeholder arguments.
Thanks - will be using for provision Vagrant boxes.
Thanks for the install script at the end Alicia, I'll be using it for provisioning my Vagrant boxes.
Also, your debian script states the following are not available on apt:
# aria2, bat, broot, diff-so-fancy, duf, hyperfine,
# just, procs, ripgrep, sd, tealdeer, tokei, trash-cli,
# zoxide, clamav, cryptsetup, gnupg, lynis, btop, gping.
I just checked, and (at least on Bookworm) I got a much shorter list that wasn't found - the rest seemed to be install ok:
# broot, diff-so-fancy, just, procs, tokei, gping.
Fantastic article! Appreciate the share; this list is truly impressive, and there are several gems here I was unaware of. 🔥
Thanks for the awesome tools :D
An epic set of tools !!! , is there place where we could download multiple of them at the sametime ?
Great list, I would also recommend Savvy CLI
It records your CLI commands and generates runbooks automatically for you. Great for debugging during oncall or sharing knowledge.
Daaaamn that's a lot of good cli tools thx.
thefuck is awesome great
it's awsome information
Asuransi Allianz
Thank you so much, Alicia.
forgot starship