| Concept | Description | Role | Example |
|---|---|---|---|
| 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 commands | echo "Hello, World!" |
| Terminal & Command line | Terminal - 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 |
| kernel | The 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
- You open the terminal → The terminal program runs.
- The terminal starts a shell (usually Bash).
- The shell (Bash) displays the command line (prompt) where you can type your command.
- You type a command, like
ls, in the command line. - 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.
- The result is displayed back in the terminal below the command line.