4 Interacting with Our Computers: A Very Brief Primer
Most people interact with their computer through a graphical user interface, or GUI, which allows them to use a mouse, keyboard, and graphical elements on screen (such as file menus, pictures of folders and files, etc.) as they do their work. We tend to conflate our operating systems and their GUIs because computer hardware and software manufacturers tightly pack these two things together as a convenience to users. But the operating system that makes your computer work (Windows 10, Mac Big Sur, etc.) and the GUI that you interact with are, in fact, completely different and separable software packages. It is possible to use different methods/software to interact with your computer other than the stock GUI that launches automatically when you turn it on.
One such method is the command line interface (CLI). The command line offers a text-only means of interacting with your computer, acting somewhat like a typewriter (rather than a window or desktop, as the prevailing metaphors for GUIs go). You can think of this interface as having three main parts:
- A terminal: an environment (like a window) with which to send/receive information to/from your computer
- A shell: a program that interprets and executes commands you enter into the terminal (common programs include Bash and Zsh)
- The command line: where you enter commands that a shell interprets and executes; a form of interaction that involves typing commands into a terminal
In the early days of computing, all user interaction with your computer happened at the command line. But during the 1980s, computer manufacturers—with Apple at the lead—made a big push to convert their machines to the windowing systems we know today. A CLI, they felt, was too difficult for users to understand and this, in turn, would hamper computer sales. Nowadays there are few viable (and at present, almost no commercially available) programs that can compete with the predominant systems of Macs and PCs. While this is less the case for Linux machines, people are by and large locked into the GUIs that come pre-installed on their machines. CLIs are, however, available, and some are even installed on popular computer hardware.
4.1 To the Command Line: A Mentality Shift
The following sections will discuss how to open and use CLIs. Doing so is necessarily action-oriented: the workshop covers a host of different commands that will help you in your day-to-day work on a computer. But knowing the pragmatics of using a CLI is only one part of a broader change in the mentality we bring to interacting with our computers beyond the GUI. When we work on the command line, we find ourselves doing things computers typically do for us. Because of this, we need to know more about how our computers work than we would if we only used a GUI.
This workshop only covers a small part of that knowledge, but the commands and conventions we’ll discuss tend to generalize to other activities like writing code or tracking files with version control. Learning this material, then, is in part about preparing yourself to learn more advanced computing skills later on. As such, this workshop – and with it, our live session – will cover broader concepts and conventions in computing as much as it will show you how to use the command line.