ConceptDescriptionRoleExample
Shell-A program that interprets and runs text commands (command line interpreter)
- Ex) Bash, Zsh, or Fish.
- program that takes your commands and passes them on to the kernel to be executed
Provides a command-line interface between the user and the OS.Bash, Zsh, Fish, PowerShell
Bash- a specific and very popular name of a Shell
- It’s a command-line interface and a programming language for scripting
- often default shell for Linux Distributions
Handles the input from the command line and talks to the kernel to execute your commandsecho "Hello, World!"
Terminal & Command lineTerminal
- A software program that provides an interface for interacting with the shell using text commands.
- A window or interface

Command line
- The literal text area where you type commands.
Terminal
- where you actually interact with the shell

Command line
- The input field where commands are typed and processed by the shell.
Terminal: GNOME Terminal, macOS Terminal
kernelThe core part of the operating system that interacts with hardware (CPU, RAM, devices, etc.).
- the first program that loads when you turn on your computer, and it has complete control over everything
Manages system resources like memory, processes, and hardware interaction.Linux Kernel, Windows NT Kernel
  • The command prompt
    • the text displayed by the shell in the terminal that indicates it’s ready to accept a command
    • leekim@my-laptop:~$

General flow

  1. You open the terminal → The terminal program runs.
  2. The terminal starts a shell (usually Bash).
  3. The shell (Bash) displays the command line (prompt) where you can type your command.
  4. You type a command, like ls, in the command line.
  5. Bash (the shell) processes the command, sends it to the kernel if necessary (processes system calls and executes it, then gives control back to shell), and receives the result.
  6. The result is displayed back in the terminal below the command line.