Do you ever get the feeling that your command line shell feels outdated? Is it slowing you down?

The initial release date of the Bash shell was 1989. The Unix commands? Even older, the 1970s. They’re old, but they’re not obsolete. There exists, however, alternatives that can increase productivity. Alternatives for the modern software development era.

These are the 3 tools programmers should install to modernize their command line.

1. The Smart And User-Friendly Command Line Shell

The modern alternative to the Bash shell is Fish shell. Fish was initially released in 2005, so technically it’s not “modern.” But it has two important features that Bash doesn’t have preconfigured.

Autosuggestion and syntax highlighting. Did you forget how to use a recent command? Don’t worry Fish has you covered. Fish will provide suggestions based on history and completions as you type. Not sure if a command is correct? Fish will let you know if there is something wrong with the command as you type. Red means Fish detected something wrong with the command.

2. The Smarter cd Command

Zoxide is the modern cd command. Are you tired of having to remember the full path of a directory? Or relying on the TAB key to navigate a directory tree? Then Zoxide is the solution.

Zoxide allows you to “jump” to directories you frequently use. You only need a few keystrokes and Zoxide will know which directory you want to jump to. It’s magic.

3. The Silver Searcher

ag is a code searching tool inspired by the ack command (and ack took inspiration from grep). This tool is useful for when you don’t have access to an IDE to perform code searches.

Open the command line, go to your project’s root directory, and search for a pattern. Results will show up almost immediately. ag is an order of magnitude faster than ack. Not convinced yet? Here’s a quote from the README: “The command name is 33% shorter than ack, and all keys are on the home row!”

More Goodies

These 3 tools should help you squeeze as much productivity as you can when using the command line. If you’re looking for more ways to modernize your commands, then take a look at this exhaustive list.


Thanks for reading! Let me know what you think of this post on Twitter.