I've been using Linux for a few years now and want to clarify some concepts I've stumbled upon. What exactly are the differences between a shell, TTY (teletype), PTY (pseudo-terminal), terminal emulators, and virtual terminals (like the ones accessed with Ctrl+Alt+F4)? I understand TTY and PTY refer to different types of terminals, but I don't grasp the significance of the distinctions. Additionally, what role does the shell play? Is it merely an interface that surrounds the kernel, and how can I switch between different shells like bash and zsh? Lastly, is my GUI considered a type of shell?
1 Answer
A teletype was an old device that sent and received electrical signals to print out text, kind of like a primitive keyboard with a typewriter. In contrast, a terminal is just an abstraction of that; instead of paper, you see letters on a screen. Examples of terminals today include the old VT100 systems and modern terminal applications like xterm or Konsole.
A shell, on the other hand, is a program that lets you interact with the system by running commands, either typed directly or from scripts. You have different types of shells, like sh and bash, that help you communicate with the operating system.

Related Questions
Can't Load PhpMyadmin On After Server Update
Redirect www to non-www in Apache Conf
How To Check If Your SSL Cert Is SHA 1
Windows TrackPad Gestures