Understanding What a GUI and a CLI Is in Your Computer System
Tags: gui, cli, computerinterface, programming
Published: 2022-11-13 09:29:49


---
title:Understanding What a GUI and a CLI Is in Your Computer System
published: true
tags: #GUI #CLI #computerInterface #programming
canonical_url: https://dev.to/sarahokolo/understanding-what-a-gui-and-a-cli-is-in-your-computer-system-4g9
---


 Firstly, to be able to understand what a GUI and a CLI is, we first need to understand what a computer user interface is.

###**What is a Computer User Interface?**
This is simply the designed system in which a computer user is meant to use to interact with the computer to be able to perform various tasks. Simple enough.

The GUI and the CLI are basically the two types of user interfaces you would come across in your computer system.

### **What is a GUI?**
This is what is known as the **Grapical User Interface**.

This type of interface is basically what a typical everyday User sees when they interact with  their computer.

It is the system in which the computer uses graphical elements to create a more visual and appealing presentation of data, and sort of an abstraction from some of the underlying complexities of using the computer that a less techsavvy person might have problem understanding.

**Well what does the GUI look like?**
It looks like this👇.
![GUI image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/prxwttc8u57ccabrisxt.jpg)
Seen it? Of course you have 😅...every computer user has seen it. This is ultimately the most basic user interface of the Computer.

Through the GUI, Users interact with their computer by clicking through the different icons, menus, windows and widgets that are provided.


In the early days of the computer, it was quite esoteric and could only be used by programmers, scientists or only people who had very high knowledge of technology. 

As time went on, the computer programmers decided to program the computers in a way that accommodates people with very basic knowledge of technology, by building an interface that easily allows them to navigate the computer's features without having much technical knowledge.
 This was how the GUI came about.



###**What is a CLI?**

This is known as the **Command Line Interface**.

The CLI is simply a text-based user interface (UI) used to run programs, manage computer files and interact with the computer.

This interface is also commonly referred to as what you call the **Terminal**.

Unlike the GUI, the CLI has no icons or widgets, or basically anything graphic...all there is to it is **Text**. 

**Well what does the CLI look like?** It looks something like the image below👇
![CLI image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qtqvem7ykgmjmqr7e71d.jpg)


Until the advent of GUIs, all PCs, minicomputers, and mainframe terminals were operated by the CLI. This required memorizing frequently complex syntax and commands to get even the most basic tasks done.


Despite it's plain and simple outlook, a non tech savvy person might find it really hard to navigate through this interface 

The CLI is mostly only used by programmers, as it provides a closer interaction with the computer hardware.

A lot of people might have used the GUI for years without even realising the CLI also existed in their computer as well.

Different computer operting systems have their own style of the CLI.  The one you see in the picture above is called the **command prompt** often abbreviated as (**cmd**) and this is the one you would find in all Windows operating systems.

The other most popular operating system CLI is what is known as the **Bash Shell** and this is typically the CLI for the linux operating system and a lot of programmers seems to prefer this one because it is based on the UNIX POSIX operating standard, unlike the **cmd**.

In the CLI, there are already predefined keywords (**Commands**) that have been providing as a standard for performing various tasks.

**What about the smartphone, does it have a CLI as well??**

The answer is Yes and No.

**No** in the sense that the CLI does not come pre-installed in your smartphone like it does on your computer and **Yes** in the sense that it can be installed into your smartphone.  Curious about how that would work? Check out an article i wrote about that [here](https://dev.to/sarahokolo/setting-up-termux-and-a-linux-distro-on-android-1aoj).


###Key Differences between the GUI and the CLI.


**The GUI :**
- The User interacts with the computer through icons, widgets and other graphical components.

- It provides an abstract to some of the previous complexities of using a computer system.

- Navigation of computer is done by clicking through different icons with the aid of the computer mouse.

- Files and folders are presented to the user in a graphical form.

- Consumes quite a lot of computer memory.

- Allows for multitasking.

- Does not allow for a close interaction with the computer hardware.


**The CLI :**
- The user and the computer interacts through Text only.

- Folders are called **Directories**, and a directory can have other directories and or files in it as well.

- The contents of the computer is provided to the User in form of a tree like hierarchical structure.

- Navigations can't be done with the mouse only with the keyboard and arrow keys.

- Complex commands need to be memorised for the most basic navigation of the computer.

- Does not really allow for multitasking.

- Consumes way less computer memory than the GUI.

- provides a closer interaction with the computer hardware.

On a final note, the GUI provides a much more user friendly environment, whereas the CLI is a lot more faster and efficient and quite more complex as well.


That's it for this article😊 ...I hope you found it enlightening, if you did, please don't forget to leave a like👍 and follow for more content.  Have any questions? Please don't hesitate to drop them in the comment section, i would reply with the speed of lightning 😅.