GUI’s and CLI’s working in harmony

Madeline Kenney
Communication & New Media
4 min readJan 20, 2015

Computers are a significant advancement in technology that we take for granted everyday. At the base, computers do exactly what the user commands of them and nothing more. Majority of the general population does not even know what their computer is capable of really doing. A Graphical User Interface (GUI) allows the user to perform various tasks without ever typing one letter or code in a Command Line Interface (CLI). While the GUI is simple and what majority of us, including myself are used to manipulating, if a user truly wants to understand the fundamentals of computing, they must indulge themselves into the CLI.

The CLI can be very overwhelming for someone, who like myself is not technologically savvy. It took me a few hours to understand what exactly all the various commands did. In the end, after all the headaches and error messages I received, I do not think the CLI is as intimidating as it was originally. I now understand that it takes a lot of time, effort and practice to get comfortable working within the interface.

The CLI allows users easier access to different computing functions. A user has the ability to create a new folder in whichever directory they are currently in by using the “mkdir” command. The user also has the capabilities to see the contents of the current directory by using the “ls” command, and then one can switch into the desired folder using the “cd” command. The commands “mv” and “cp” both deal with moving files to different locations, and the “rm” command deletes things. The CLI also has numerous other commands that can be used to manipulate data in various ways in the system.

The CLI really allowed me to explore what the GUI does behind the screen when I perform certain everyday computer tasks, such as: dragging folders to new locations or creating and naming new folders. Essentially, I learned that the GUI runs commands on the user’s behalf making it easier for themselves so they do not have to be responsible for memorizing different commands. The GUI is almost like a well-performed musical in the sense that an audience can only see what is happening on-stage, whereas the crew is working hard behind the scenes to make sure the show runs smoothly. In this case, the computer user is the audience who can only see what is on the screen and the crew is the CLI, which is working hard behind the screen, making sure the operating system is running correctly.

There are many different kinds of GUIs depending on the type of computer operating system your device uses. I used Windows for this activity, but the Mac, Linux and other operating systems use different commands, but generally do the same thing, which is displaying easy-to-use graphics for users to navigate with their mouses.

The CLI and the GUI really go hand-in-hand, and informed and trained users would have the ability to switch back and forth seamlessly. Unfortunately, I do not think I am confident enough in my abilities to navigate between the two. I am more comfortable using the GUI, but knowing how to use both interfaces allows me to have the ability to perform more advanced tasks in the future that only the CLI is capable of. The more you know about both the CLI and GUI will make you a better computer user in general and I think this exercise really helped me understand that.

Cheat Sheet:

  • Do NOT type rm -rf/ ← NEVER (it will completely wipe out your system)
  • pwd — print working directory; pwd is a path that shows you where you are in the interface and you can view location of directories with pwd command; you can use pwd to see where you are and then you can work backwards to get back to original PS:C
  • hostname — my computer’s network name (in my case, Madeline)
  • mkdir — make directory/folder
  • mkdir/temp/ _______ → everything else is a directory within a directory separated by a “/”
  • cd — change directory
  • ls — list directory; shows you what contents are in the directory that you’re listing
  • rmdir — remove directory
  • type “cd..” then rmdir (name of directory) to get back to original PS:C (this was a huge breakthrough for me because then I realized I didn’t have to continue to close Powershell and reopen it)
  • if you put “rm” before files, it will remove them
  • BE CAREFUL WHEN RUNNING RECURSIVE REMOVE ON FILES
  • pushd — push directory; to go forward to a new directory
  • popd — pop directory; to go backwards to prior directory
  • cp — copy a file/directory
  • robocopy — robust copy
  • mv — move directory
  • less is not recognized on Windows powershell
  • more — page through a file/shows document contents
  • type — print the whole file
  • | — the pipe symbol connects left with right
  • < — doesn’t work for Windows
  • > — writes command from left onto right
  • >> — appends left command onto right
  • * means anything — shell makes list of all files that match the non-* part; ie. “*.txt” means anything ending with “.txt”
  • CTRL — c — to abort mission
  • forfiles — run a command on lots of files; allows user to run commands for each file location
  • dir -r — find files and “- filter” to filter through whatever files you want
  • select-string — find things in files
  • help — type help before a command and it’ll tell you how you can use that command
  • helpctr — find what man page is appropriate ← only use out of desperation
  • echo — print some arguments; basically will read and write what you say into a file
  • set — export/set a new environment variable
  • exit — exit the shell (probably my favorite command)
  • runas — DANGER! Become superuser DANGER!
  • used to run specific tools and programs with different permission than user’s current login provides
  • attrib — change permission modifiers and users can change certain attributes of directories
  • iCALCLS — change ownership; capable of displaying and modifying security descriptors on folders and files

--

--