I'm trying to figure out why are CMDs\Consoles\CLIs\command-lines are often called "Terminal"? I know that they are first and foremost shells for an OS... And thus usually seen as a layer and not as a whole-unit (such as terminal PC from which influence a server via a shell session)... I mean, we can direct a server from them as well (as by SSH for example) but we can do more things such as navigating in our own PC even totally offline (as in MS DOS or Powershell) So, can someone please detail in simple words why are these called "Terminals? Maybe there are extra reasons I missed?
3 Answers
The terms Terminal and Console, date back to the mainframe era. A Terminal was a device with a keyboard and monitor that was hooked to the mainframe and provided a user with Console access (a shell with which the operator could interact). Hardware terminals and consoles are still widely used for "headless" devices like network equipment and server management.
In modern parlance, they are used pretty much interchangeably, but it is notable that linux "Terminal" programs are Terminal Emulators (usually based on the Vermont Terminal 100 [VT100] spec), running a shell like bash or sh.
Edit: Oh, and from a purely etymological standpoint, the reason they used the word terminal, is because on a mainframe's wiring/network topology, the mainframe is at the center, and all the terminals connect to it, so its a Star Topology. As a result, the terminal is an isolated end-point on the network; ie nothing connects through it. So it is a terminus; an end.
For Console, per Merriam-Webster, it is an accepted term for an instrumentation panel.
a combination of readouts or displays and an input device (as a keyboard or switches) by which an operator can monitor and interact with a system (as a computer or dubber)
Hope that helps clear things up.
- 37,476
Remember that computers always used to be terminals - in that, they were the end of the line, you had a simple input device (keyboard) and a very basic output (CLI graphics). They very much were the end of the line, there was little else they could do.
What you're actually referring to are 'terminal emulators', although the emulator part is often missed, the name has stuck around.
There's more information on Wikipedia
- 21,643
In the seventies and ealy 1980s, computers were things that lived in Air-conditioned rooms, with a slew of white coats in attendence. Users sat at all sorts of Telecom Suplus stuff, like teletypes (basically a typewriter that sends SMS messages as well), and terminals (television screens that acted as line printers).
So command.com and cmd.exe emulate teletype programs. That means you could run these on a typewriter-style session. Edlin is a text editor that runs in a teletype session.
Terminals allow one to reposition the cursor anywhere on the screen, so you could get text-windowing, like Edit or MSD. There's programs like CICS which give quite usable screens with very narrow band width.
Fancier computers allow you to run either teletype sessions, like command.com or cmd.exe, and terminal console programs (like edit or msd), in a text window, but because they were teletype or terminal sessions, they still keep that name.
A shell is a wrapper program. Command.com and bash are shells, that mean you don't have to do things like supply the full path to every program you run, and interpret strings to commands. There are terminal shells as well, such as XTree and NC. Most users in the 1980s used things called menu programs, where you picked an option off a menu, and it ran the matching batch file.
Programs like edlin and debug are teletype programs, debugging particulary, in that the connection between the computer running the program and the listener might be some thing like a 9-pin serial cable.
- 718