5 Modern CLI tools that help boost your productivity

Search for a command to run...

Wonderful post, I am amazed at your clarity of thought given you are a high school student. Keep up the good work.
These are primarily pre-installed on our computers and mostly get the job done hence
you may want to change it to
These are primarily pre-installed as part of the Operating system installation(for all Linux flavors) on our computers and mostly get the job done hence
If you have worked with the Solana Wallet Adapter before, you will know that it is very easy to set up a Connect Wallet button with a decent modal. However, customization is pretty limited. We can only add some custom CSS hence changing the styles bu...

And CandyPay QR Codes which people can scan to claim the NFT in under 15 seconds

Most of us use version control systems (mostly git) for our projects but the git CLI is unproductive. We often need to run multiple commands and got to type more characters. Well, what if I told you there are tools that can improve this significantl...

Authentication in Web3 is extremely easy but supporting all the wallets and making a nice UI can be painful and time-consuming. Thankfully, there are many libraries which makes this extremely easy as well. Today we are going to be looking at adding R...

As developers, most of us use the terminal to interact with our computers for many tasks as we find it more productive. We are familiar with commands like ls, cd, cat, grep, and find. These are primarily pre-installed on our computers and mostly get the job done hence, we never consider looking for any alternatives.
But, today we are going to look at 5 alternatives that accomplish the same task but are more feature-rich, faster, and cleaner. Coincidentally, these are all written in the rust programming language.
batbat is a popular alternative for the cat command, just with a ton of more features. So, what are they?
bat automatically provides syntax highlighting for all major programming languages.
This might not be a big one but bat shows line numbers, and I have found it extremely useful.


We can use / and then enter a query (can be regex) to perform a search operation. This is similar to how it is done in vim, and yes, it supports vim keybindings like n to go to the next result and N to go to the previous result.
zoxidezoxide behaves like cd at first glance but it has 1 feature which makes it a game-changer. How cool would it be if you did not have to specify the path to a directory every time you wanted to change into it? Zoxide stores paths in a db, and the next time you use it, you can just specify the directory name instead of the full path. Here it is in action (z is the default alias for zoxide) -

You can also use the zi command to interactively select previous paths using fzf -

exaexa is a modern replacement for the ls command but with more features. First of all, it supports colors and icons (I have aliased ls to exa --icons --color=always) -

This makes distinguishing folders and files extremely easy and the icons are just a great touch. Also, the list view (pass in the -l to see it in the list view) is way cleaner.
Exa also comes with a handy tree feature -

Here, -T is for displaying it as a tree. The --git-ignore flag ignores files and folders mentioned in the .gitignore ignore file.
fdfd is an alternative to the find command packed with features and is also extremely fast.

The first argument is the term we want to search and any other arguments after that will be directories to search in.
We can also specify an extension with the -e flag -

ripgrepripgrep is an alternative to the grep command and the main highlight is its speed. It also automatically ignores files specified in ignore files like .gitignore and .ignore.

Yes, that took just 20 milliseconds!
Ripgrep comes with many other features too, like searching in specific file types and searching inside zips.

Here, we can specify the file type using the -t flag.
tealdeertealdeer is an alternative to the tldr tool. Both accomplish the same task, that is, showing community-driven help/man pages which are easier to read and understand than the traditional, detailed ones. Here is an example for exa -

Tealdeer installs as tldr and hence tldr is the command and not tealdeer.
I hope you have found this article useful and that it helped boost your productivity. You can leave any suggestions via comments or you can dm them to me on Twitter :)