I'm trying to understand basic "behind-the-scenes" Shell stuff without actually deep-diving into computer history.
For example, I'm trying to understand the difference between a CLI shell, a terminal emulator, and pseudo-tty.
Here's how I currently understand it.
- terminal (tty) is a text display from the olden days that you interact with via a keyboard
- pseudo-tty is anything that emulates a terminal
- Terminal Emulator (e.g. iTerm, Terminal on macOS) emulates a terminal within some displaying system
- Shell is a program that lets you interact with the OS via commands or scripts (and usually runs in a Terminal Emulator)
As you can see, I'm pretty rocky on the definition of pseudo-tty. Can anyone shed a light on these concepts in an ELI5 manner?
edit: I read this (https://unix.stackexchange.com/a/4132/332070) but I'm still very confused about pseudo-TTYs.