You are on page 1of 1

What is the difference between Console, Terminal, Shell, and Command Line?

Console and Terminal are closely related. Originally, they meant a piece of equipment through which
you could interact with a computer: in the early days of UNIX, that meant a teleprinter-style device
resembling a typewriter, sometimes called a teletypewriter, or “tty” in shorthand. The name “terminal”
came from the electronic point of view, and the name “console” from the furniture point of view. Very
early in UNIX history, electronic keyboards and displays became the norm for terminals.

In UNIX terminology, a terminal is a particular kind of device file which implements a number of
additional commands (ioctls) beyond read and write. Some terminals are provided by the kernel on
behalf of a hardware device, for example with the input coming from the keyboard and the output
going to a text mode screen, or with the input and output transmitted over a serial line. Other
terminals, sometimes called pseudo-terminals or pseudo-ttys, are provided (through a thin kernel
layer) by programs called terminal emulators. Some types of terminal emulators include:

In Unix-like operating systems, a device file or special file is an interface to a


device driver that appears in a file system as if it were an ordinary file. There
are also special files in MS-DOS, OS/2, and Microsoft Windows. These special files
allow an application program to interact with a device by using its device driver
via standard input/output system calls.

In computing, an interface is a shared boundary across which two or more separate


components of a computer system exchange information. The exchange can be between
software, computer hardware, peripheral devices, humans, and combinations of
these.

 GUI applications running in the X Window System: Xterm, Gnome Terminal, Konsole,
Terminator, etc.
 Screen and tmux, which provides a layer of isolation between a program and another terminal
 Ssh, which connects a terminal on one machine with programs on another machine
 Expect, for scripting terminal interactions

You might also like