The interface between the user and the computer determines the way that an individual interacts with a computer. Based on these different user interfaces, we can categorize operating systems into a few types: Terminal-based (CLI), Text-based (TUI/TLI), Graphics-based (GUI), or a Hybrid (mix of two or three).
Command Line Interface (CLI)
These Operating Systems work primarily through a command line (text input) via a keyboard and generally do not display graphics or utilize the mouse. These systems use a command language to tell the computer what actions to perform. CLI’s were used by some of the earliest Operating Systems, such as UNIX (1969) and DOS (1981). Historically, *NIX systems could only function via the command line. It was not until recently that MIT was able to provide a GUI for *NIX systems.
MS-DOS (a classic example of a CLI)
Text-based User Interface/Text Line Interface (TUI/TLI)
TUI/TLI displays using text only (usually with different colors) but allows for mouse input rather than relying on a command language. This interface was developed in the mid-late 1980’s to run DOS programs. It is sometimes seen when users are in “safe mode” on some modern computers, but was quickly replaced by the GUI.
MS-DOS running Norton Commander (a classic example of a TUI/TLI)
Graphical User Interface (GUI)
A GUI presents the user with a full graphical display (images, buttons, scrollbars, etc.). These systems allow the use of a mouse or some other pointing device to click, select, drag, and manipulate objects. These graphical interfaces are considered simpler and more user-friendly, which allows for their effective use by more people without relying on knowledge of a special command language. First commercially used by Xerox, then Apple, Microsoft was one of the last of the major OS to deploy the GUI. *NIX OS, however, were the last OS to have a fully functional GUI.
Other types of User Interfaces have sprung up with the invention of touch screen technology. Android, a version of Linux, has become a popular alternative.
Systems can allow for overlap between interfaces – for example: Windows provides a GUI, and PuTTY can be downloaded to use this GUI to provide a CLI.
Both Mac and Linux also use the GUI to provide a CLI. However, for these Operating Systems, the CLI is built in.
Xwin32 can be used to allow a GUI in Putty.