DEV Community

Discussion on: Explain the difference between shell, console, terminal, command line, etc. like I'm five

Collapse
 
abhinav1217 profile image
Abhinav Kulshreshtha • Edited

Shell: Can be defined as a command interpreter within an operating system. Say echo $PATH is a command which is executed by bash-like shell interpreter. ${whoami} is interpreted to your username by bash. Fish has its own variables and so does ksh. By correlation, we also have ruby-shell, python-shell, node-shell, etc.

Console: In modern day, it is same as terminal, but in ancient days, you can think it as a screen with which user could see the output (and input) of machine. So there was console, or there was printer on which output was printed.

Terminal: Again in modern time, it is same as console, although terminal-emulator are appropriate word for something like gnome-terminal, alacrity etc. Back in ancient days, computers were large machine which could serve multiple people same time, Those people were provided I/O points called terminals, and you would connect stuff like a console (screen) or printer, or another computer, on those terminals. Think of train stations which are also called terminals in some countries, specific places, designated to safely get on or get off train.

Command Line: A general terminology for interaction method, Are you interacting with command line or with graphical interface.