What is the difference between terminal and end




















A full-screen mode is an option. Attention reader! Shell : Shell stands for the command-line interpreter. A shell is a program that processes commands and outputs the results.

A shell is a layer that sits on top of the kernel: 1 It interprets and processes the commands entered by the user. Unlike users, the shell has access to the kernel. Users can only gain access to the kernel by using a shell and entering commands i. System calls are used by programs to gain access to kernel functionality.

The system API is made up of all system calls. It was also a physical device. Console sometimes means the keyboard and monitor physically attached to this computer. These terms often go together, so people use one of the terms to refer to the collection. Same for bash. In the old days, this was often a dedicated appliance with a screen and keyboard and a serial port.

Now, it's usually a program like xterm. This is where xterm writes your input so bash can read it. Every terminal, including virtual ones, provides basic line editing when it's in cooked as opposed to raw mode. This is handled by kernel code. It's bash that provides the line editing that you can do with the arrow keys. Try running cat and typing if you want to see what the basic kernel-provided line editing is like.

Backspace works, and a couple other things as per your stty settings. Even though there is a lot of kernel code behind the terminal devices, it would be refered to as terminal-handling code, not as a terminal itself. Edit: Gilles has convinced me that referring to a tty as a terminal is proper usage. Terminal Emulators, and interactive programs that run connected to a terminal, are all dependent on the terminal semantics implemented by the kernel.

A full-screen text editor depends on the behaviour of Unix tty stuff as well as the cursor-movement escape-code handling, and many other features, of the terminal emulator. However, a physical VT with a screen, keyboard, and serial port is an instance of a terminal. It doesn't require a Unix kernel on the other end of its serial port to be complete. Something completely different could be sending it escape codes and ASCII text, and receiving the same from it.

It would just be a VT, though, not a Unix terminal. A terminal emulator plus the Unix tty semantics make up the full package of a Unix terminal that a program like bash normally runs on. Command line is a style of user interface, where you type something, then press return to make something happen. Considering only programs that use a terminal for their UI, the two main families are command line and full-screen text e. Command line programs that normally run on terminals almost always still work with their input and output redirected to files, but terminal-based full-screen programs like editors or email clients are interactive-only, and wouldn't work.

A shell is a program for starting other programs. In a Unix context, it's common to mean command-line shell i. Bourne shell or C shell equivalent. Unix shells can also read their input from files, i. Note the usage of terminal in this context to mean the Unix tty, not a terminal emulator or something hooked up to a serial port.

This happens because the shell puts the terminal into "cooked" mode before starting any program, which means the kernel acts on some control-sequences. If instead of an xterm, you are using the Linux console text terminal, then the kernel IS doing the VT emulation, and handling all that stuff. Linux can be compiled without virtual console text terminal support, but not without tty support. Console is sometimes used as a synonym for terminal KDE even has a terminal emulator called Konsole.

As 0xSheepdog points out, it also has another meaning: locally attached human-interaction hardware. In a kernel context, console has another specific meaning: it's the terminal where boot messages are written. This can be a serial port. Typical Linux distros create 6, and start getty on all of them, so even if you can't or don't want to start X11, you can log in 6 times and flip between a command, a man page, and whatever else, without running a program like screen.

Linux the kernel includes a VTstyle terminal emulator to provide a terminal interface through your screen and keyboard on the virtual consoles. Back when computers were slow and didn't have much RAM, some people spent much of their time on the text consoles, since they were fast, you could set a nice font, and even change the terminal size to have smaller characters, but have more on screen at once.

So console is the only one of these terms that doesn't have a single well-defined technical meaning. It has a couple different ones. Depending on how you feel about terminal proper vs.

I think that back in the early days of time-sharing computers, every user had a terminal when they could get one! The console could be used for tasks like rebooting the machine or getting system diagnostics that weren't possible from user terminals. The console was in the machine room, an intrinsic part of the computer, whereas the terminals could be remote.

The console would also include hardware lights and switches, not just text input and output. The equivalent on mainframes is usually called a "job control language". Usually it used to tell that you need to run something in text mode window command line interface provided by your operating system. Hence the name - user-friendly shell for non-friendly OS core.

You always work through the shell program and never operate with console or terminal directly. This window processes key presses, knows it is width and height. Can be fullscreen. There is no feedback to user about height or width only hacks or keyboard keypresses - only chars are travelling to it.

Terminal processes special sequences in this stream to make things colored, clean up the screen and do other nasty things. Terminals are flaky, because it is easy to mess things if the file you are piping to output contains that special sequences. They are popular in networking and device debug interfaces, because you just need a single stream for sending output and control the output device and you can just tap into conversation without the need to initialize or create a window.

This is a vague topic, because the terms are very ambiguous. I strongly recommend reading the links I've provided throughout this answer, which are also my sources for this answer. A shell is the layer above the kernel:.

A terminal has many meanings:. A console has many meanings:. Often, operating systems allow you to run multiple consoles on a physical console console definition 2. These are called virtual consoles a. Consoles definition 3 might appear to you as an anachronism, but experts should be comfortable using them, since there are many OSes that do not support GUI's.

Also, if a GUI stops responding, the console may still work. Question about English US. What is the difference between Terminal and Terminus? Feel free to just provide example sentences. Report copyright infringement. The owner of it will not be notified. Only the user who asked this question will see who disagreed with this answer. Featured answer. English US Near fluent Hebrew. 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.

Because a shell isn't a terminal. Pick the one that makes you happy. Sponsor: Suffering from a lack of clarity around software bugs?

Give your customers the experience they deserve and expect with error monitoring from Raygun. Installs in minutes, try it today! Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author. Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

Sponsored By. About Scott Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. About Newsletter. Hosting By. Share on Twitter or Facebook or use the Permalink. September 23, This is a really, really common confusion that people have.

Surprisingly, I've noticed it just as often from Linux people as I do from Windows people. Lachlan Picking. I am afraid these definitions don't match what I learned during the official Microsoft training. The contemporary definition of Shell is the user interface that exposes OS services to the user. It could be either graphical e. Bash, PowerShell "Shell" also has another less popular meaning: A software front-end of something e.

Console , in Microsoft's definition, has two meanings. The widespread meaning is the set of input and output devices that operate a computer: Monitor and human interface devices keyboard, mouse, touchpad, pen, touch screen Remote Desktop Services uses "console" in this sense. Even heard the phrase "to log in via console" vs. The rest of the world, however, defines "console" as the input and output device for text only.

Hence, a console app is a TUI app. It was introduced with Windows 7. The latest version of Windows 10 uses it. Before Windows 7, csrss. Finally, I don't see how any of these answer the three bullet points at the top.

PowerShell is a scripting language, a terminal, a shell, and a backend all at once.



0コメント

  • 1000 / 1000