Terminal is a program that run a shell, in the past it was a physical device (Before terminals were monitors with keyboards, they were teletypes) and then its concept was transferred into software, like Gnome-Terminal. But, it's effectively a Terminal. Here's a few I'm running now. Shell. Considering this, it might be worthwhile to curb our adoption of reductive vernacular in an effort to preserve this history and possibly allow for a more technically informed layperson in the future. Shell is a program which processes commands and returns output , like bash in Linux . In today’s words, we would give them each a monitor, a keyboard, and a mouse. Most shells also manage foreground and background processes, command history and command line editing. You can go to the command prompt, type powershell, cmd, or ubuntu and any number of shells will run. When you type on it, you're seeing the text on a piece of paper AND inputing that text into a computer. The shell generates output and passes it back to the terminal for display. If you choose a 3rd party (non-built-in) console applications for Windows, make sure it supports ConPTY and it'll be a better experience than some of the older consoles that use screen scraping or other hacks.Let's start with a glossary and clarify some words first.All of these Terminals support ALL the shells above and any shells I've missed. When that computer replies, you'll see the typewriter automatically type on the same paper.Folks in the mid 20th century would have a piece of furniture in their living room called a console or console cabinet. The terminal is one o You'll often hear "dumb terminal" when referring to a text-based environment where the computer you are sitting next to is just taking input and showing text while the real work happens at the other end in a mainframe or large computer.A shell is the program that the terminal sends user input to.
The shell is the program which actually processes commands and returns output. The terminal would be physically connected to the console port on the mainframe so that the user could control the mainframe digitally. Conhost does the work of input and output.Remembering there's a lot of shells you can use in Windows, there's a lot of 3rd party consoles you can use if you don't like conhost.exe (and you shouldn't).Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.Window's new ConPTY interface is the future of consoles and terminals on Windows.
To understand what a terminal is, we have to go back to the mainframe days. But when you have dozens of people that want to use one computer at the same time, how do you make them share it? On a Linux system you can press <ctrl> + <alt> + <F1 | F2 | F3 | …> to reach the different software consoles. I use PowerShell Core and Ubuntu in WSL2 in the Windows Terminal.Hope this helps clear things up.I see a lot of questions that are close but the questions themselves show an underlying misunderstanding of some important terms.Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee.
A shell is the program that the terminal sends user input to. A command-line is any kind of interface that is used by entering (textual) commands. Mainframes were computers with many users. Pick the one that makes you happy. A broader definition of a console is a desk or dashboard like interface from which a system is controlled and/or monitored. Rather than a screen you'd have a literal typewriter in front of you. The shell is the name of the program that runs in the terminal, giving you a command prompt, popular ones are sh, bash, zsh, fish, ash, csh (notice how they all end in -sh?). Consoles go hand in hand with terminals. Those shells are all hosted by a the legacy Windows console you have never heard of called conhost.exe.
These features (and many more) are standard in bash, the most common shell in modern linux systems. He is a failed stand-up comic, a cornrower, and a book author.
They were endpoints where users could access the mainframe.Today, consoles can be entirely in software, but that wasn’t always the case. Now, forget that conhost exists, because it sucks - it's super old.The word Terminal comes from terminate, indicating that it's the terminating end or "terminal" end of a communications process.