Shell

A shell is the command interpreter between the user and the kernel.

Overview

  • A terminal emulator provides the GUI surface
  • The shell parses commands, runs programs, and manages I/O
  • The kernel executes the underlying work

Reference

Terminal terms

Term Meaning
Terminal Interface for interacting with a shell
Console Physical or virtual text display
Terminal emulator GUI application for running shell sessions

Terminal emulators

  • GNOME Terminal
  • iTerm2
  • Windows Terminal

Common shells

Shell Description
Bash Default on many Linux systems
Zsh Extended shell with more UX features
Fish User-friendly modern shell
KornShell Advanced scripting features
Tcsh C-shell derivative

Mental Model

  • Terminal = interface
  • Shell = interpreter
  • Kernel = execution layer
User -> Terminal -> Shell -> Kernel -> Hardware