User Interface
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: Command Line Interface (CLI), Text-based User Interface/Text Line Interface (TUI/TLI), Graphical User Interface (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 (Unix and Linux) systems could only function via the command line.
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.
Touch screens can also be an example of GUI interface, as one may have on their tablet or phone.
Hybrid
Systems can allow for overlap between interfaces – for example: Windows provides a GUI. PuTTY can be used as a CLI when remoting into another system. You can also use command prompt or PowerShell.
Both Mac and Linux provide a CLI, the terminal.