A shell is a program that is used to execute commands, programs, and shell scripts. The shell provides an interface to the Linux Kernel in Linux systems. To interact with the shell, we use the programs called terminal emulators which include, gnome-terminal, Konsole, and xterm. Different shells issue different command prompt that shows and allows you to type a command. for example, in Bash Shell, the $ is used. With Shell, you can customize initialization files that contain the path of commands and default permissions of the files.

There are a variety of shells available to Linux users

  • csh, tcsh – These are well-known and widely used derivatives of the Borne shell.
  • ksh – it stands for Korn Shell which is a popular shell among sysadmins and more similar to bash.
  • bash – The Bourne Again Shell is developed by GNU and comes installed in Linux Distributions.
  • zsh – The Z-shell was designed to be interactive and compatible with older shells whilst providing improved features.
  • Fish – The Friendly Interactive Shell is user-friendly and easier to use with autocomplete suggestions.

Fish Shell

As discussed above the Friendly Interactive Shell is a simple and smart command-line shell. It has features that include;

  • Autosuggestions
  • Easy Scripting
  • Man Page Completions
  • Glorious VGA color
  • Web-based Configuration
  • Tab completions and syntax highlighting.
  • No configuration needed

This guide will show you how to install and configure Fish and Oh My Fish on Ubuntu|Debian.

Install Fish on Ubuntu / Debian Linux

Update your system packages

sudo apt update && sudo apt upgrade -y

Add the official PPA repository using the command below.

sudo apt-add-repository ppa:fish-shell/release-3

Then update your system and install Fish with the following commands.

sudo apt update && sudo apt install fish

You can check the version

$ fish --version
fish, version 3.5.1

You can check the path of the shell with the following command.

$ which fish

To enter the fish shell simply type fish.

$ fish

It will appear as shown below.

To exit the session, Just type exit

>  exit

Then change it to your default shell using the following command.

sudo chsh -s /usr/bin/fish

Then log out of the system and log back in.

Configure Fish Shell on Debian / Ubuntu

The main configuration file is located at ~/.config/fish/config.fish which can be accessed by using a text editor.

> nano ~/.config/fish/config.fish

Let us remove the default message using the config file. Add the following to the file.

set -g -x fish_greeting ''

This will set the greeting to blank. If you want to add a message, you can type the message other than leaving it blank.

set -g -x fish_greeting 'Fish shel is Awesome'

Then once you enter fish, the message shows as below.

Oh My Fish

It is a framework that provides an infrastructure to extend the ability of the fish shell. It has themes that you can install and use to change the theme of the shell.

Install Oh My Fish on Ubuntu / Debian

Install missing packages

> sudo apt install curl git fonts-powerline

To install Oh My Fish, Run the following command.

> curl https://raw.githubusercontent.com/oh-my-fish/oh-my-fish/master/bin/install | fish

The output appears as shown below.

To view the themes installed use the following command.

> omf theme

All available themes are displayed as shown below.

To set themes, Preview the available themes to choose the one to install. Let us say I want to install the cbjohnson theme, I will use the following command.

> omf install cbjohnson

The theme installs and is applied automatically as shown below.

Using omf Utility on Ubuntu / Debian

Oh My Fish uses an omf utility to fetch and install new packages.

To Update Oh My Fish, use the following command to update the core and all installed packages

> omf update

To update only the core, use the following command.

> omf update omf

To update only the packages see the following command.

> omf update {package name}

To list all installed packages, use the following command.

> omf list

To Reload Oh My Fish and all plugins, use the following command.

> omf reload

To search for packages, use the following command.

> omf search -p {package name}

To search for themes, use the following command.

> omf search -t {theme name}

To troubleshoot an issue, use the following command.

> omf doctor

To uninstall Oh My Fish, use the following command.

> omf destroy


This guide has shown you how to install the fish shell and Oh My Fish framework on Ubuntu|Debian systems. Fish shell has a friendly interface and the auto-completion features of commands and flags (arguments) make it easier to use.

Also check out other guides on our website:


Please enter your comment!
Please enter your name here