Simplify the Linux Command Line with Fish Shell

Jonathan MathewsPublic

Fish shell

The Linux command line is a tool that every system administrator should get to know. With the power of commands at your fingertips, there’s very little you cannot do. However, along with that power comes the need to remember those commands. When you take into consideration how complicated those commands can get, it’s understandable that some admins have trouble recalling what they have done or need to do at the Bash prompt.

You may have to issue the command:

iptables -A OUTPUT -o eth0 -p tcp -m multiport 
  --sports 22,80,443 -m state --state ESTABLISHED -j ACCEPT

Or, maybe you recently secure shelled into a server, but don’t recall the IP address off hand. 
What do you do? Most Linux admins would immediately tell you to look to your Bash history; and that would be sage advice. By typing the command history, you are presented with the last X amount of command you have run on the system. The X is determined within the ~/.bashrc file, in the line:


The history command is, in fact, a great way to see what commands you’ve issued. You can comb through that, find the command you need, copy it, and then paste it back into the prompt. Or, you can, at the command prompt, simply start tapping the up arrow on your keyboard until you land on the command you need.

What if I told you there was a much, much, much easier way? There is, and it’s called fish. Fish is a friendly, interactive shell that can be installed on your Linux machine and features:

  • Autosuggestions
  • Scriptability
  • Man page completions
  • VGA color
  • Web-based configuration
  • Ease of use

I’m going to walk you through the installation and usage of the fish shell; once you’ve started using this handy tool, chances are you’ll never go back to the standard old Linux shell again.

Full Article