Join my Laravel for REST API's course on Udemy 👀

What are 'shells' in Linux

May 17, 2021  ‐ 1 min read

You might have opened your terminal many times before. This program is more factually called a terminal emulator. These terminal emulators are most often pre-installed and allow you to interact with your shell, I am writing this in the gnome-terminal for example.

A shell basically is the following two things:

  • An interpreter for shell commands: A shell allows you to execute shell commands via both an interactive shell prompt and via shell scripts.
  • A programming language: A shell provides basic programming capabilities to combine shell commands in a more complex manner, with features including variables and flow control structures.

Examples of shells on Linux, and other UNIX-like systems, include bash, zsh, fish and ksh.

This page at the GNU website describes the shell at is base as a "macro processor that executes commands". This term "marco processor" refers to the capability of shells to expand text and symbols into larger expressions.