Thuta Learning
BasicDevOps & Toolsbeginner

What Are the Terminal and Shell

Relax. We'll talk through this in plain words — no textbook voice.

What you'll walk away with

  • Understand what the terminal and shell actually are, without the intimidation
  • Get comfortable trying out commands yourself in the terminal
  • See how these commands are actually useful on a real server or project

Let's think about it this way for a second

A shell (a program) runs inside a terminal (a window). The most commonly used shell is Bash (Bourne Again Shell), and this whole tutorial is built around Bash. The prompt is the signal the shell shows when it's waiting for you to type a command — user$ means an ordinary user, root# means the admin (root) user. You could compare a GUI (mouse clicks) to 'a friend pointing things out for you,' while a terminal command is like 'giving that friend a precise instruction' — the more precise the instruction, the more precise the result.

Let's connect this to a real-world scenario

When you type a command into the terminal, it only runs once you hit Enter. Every command follows the pattern: program name + option (flag) + argument. For example, in ls -la /home, ls is the program, -la is the option, and /home is the argument. You'll see this pattern over and over throughout the tutorial, so it's worth getting into the habit of noticing it now.

Let's try it together in the terminal

bash
# Anatomy of a command
ls -la /home
# └┬┘ └┬┘ └──┬──┘
# program option argument

# Check which shell you're using
echo $SHELL
You should see
Being able to tell which user you're logged in as from the $ / # symbol in the prompt.

5-minute try-it

Open the terminal and type echo $SHELL. Copy the result and write down which shell it is.

A quick word of caution

Be careful if you see a # in front of the prompt — as root, you're allowed to run absolutely any command, and mistakes can be hard to undo.

Easy traps

  • Not realizing that typing a command doesn't run it until you hit Enter
  • Mistaking a root prompt (#) for an ordinary user prompt and running a risky command

Now try it yourself

Open the terminal and type echo $SHELL. Copy the result and write down which shell it is.

You'll know it worked when: Being able to tell which user you're logged in as from the $ / # symbol in the prompt.