For many newcomers to Linux, the distinctions between the following terms can be confusing:

  • Terminal
  • Command line
  • Shell
  • Prompt

Let’s break them down for clarity:

Terminal: Think of this as a graphical window where you can interact with your system. It’s essentially an application that, by default, runs a shell. Examples of terminal emulators include Terminator, Konsole, and others.

Shell: This is the program that the terminal runs, and it’s where you execute commands. While it might be challenging to separate the concept of a shell from a terminal in your mind, remember that the terminal is the interface, and the shell is what processes your commands. Bash is a common shell, but there are others like zsh, fish, and more.

Prompt: Before you type any command, you’ll often see some text – that’s the prompt. It’s a way of indicating that the system is ready for your input. While there’s no universal look for prompts, they often provide useful information like the username, machine’s name, and the directory you’re currently in. In older systems, it might just be a blinking cursor.

Command line: This isn’t exclusive to Linux. It’s a term that describes an interface where users can run commands. Many operating systems and even some programming languages offer command line interfaces.

In a typical scenario, you’d open a terminal, see a prompt, type a command, and the shell would process that command for you.

Distinctions Between Terminal, Command Line, Shell, and Prompt

Vladimir Mikhalev
I’m Vladimir Mikhalev, the Docker Captain, but my friends can call me Valdemar.

Recent Posts


DevOps Community

hey 👋 If you have questions about installation or configuration, then ask me and members of our community: