What is a Terminal?

Introduction

Graphical user interfaces (GUIs), allow you to to accomplish daily tasks by interacting with windows and icons, and are helpful for many tasks. However, for many tasks, we are better off entering text commands into the computer directly for more efficiency and flexibility. We usually do this through terminals.

Computers were supposed to free us from manual labor, but how many times have you performed some task you felt sure the computer should be able to do but you ended up doing the work yourself by tediously working the mouse? Pointing and clicking, pointing and clicking.

Terminals, also known as command lines or consoles, allow us to accomplish and automate tasks on a computer without the use of a graphical user interface. Using a terminal allows us to send simple text commands to our computer to do things like navigate through a directory or copy a file, and form the basis for many more complex automations and programming skills.

If you already have a solid understanding of terminals or are coming here after already attending the workshop feel free to skip ahead to the frequently asked questions and supplementary resources sections.

Tools

Due to the variations in operating systems the terminal program is different for each. To interact with a terminal on your operating system simply follow the guide below.

Mac
'Terminal' is a program that comes preinstalled. Type 'Terminal' into the Spotlight tool (CMD + Space or click the magnifying glass in the top right)

Windows
Although windows comes with 'cmd' you will need to download the tool 'PowerShell' in order to run any of the commands in this tutorial. It can be downloaded from here.

Linux
Most Linux distributions supply several, such as: gnome-terminal, konsole, xterm, rxvt, kvt, nxterm, and eterm. No need to download anything, just read the help documentation for your distribution to see which one is included.

Tutorial

This tutorial is ordered by how we teach the content for the walk in workshops, but the material listed can be walked through on your own time. Be sure to follow the order of the links and finish each tutorial as they are ordered in way to ease you into using the terminal.

  1. Entering Commands
  2. Navigation
  3. Looking Around
  4. Manipulating Files
  5. Working With Commands In Depth
  6. Manipulating Input and Output (I/O Redirection)
  7. Command Expansion
  8. Permissions (Mac and Linux only)
  9. Guided Tour of System Directories (Mac and Linux only)
  10. Job Control (Mac and Linux only)

Frequently Asked Questions

These questions are meant help you solve specific, but common problems that may pop up when using this language. They are meant to be read after you have gone through the tutorial.

What are some of the commonly used terminal commands?

This article of the top 10 terminal commands outlines some of the most useful commands.

Supplementary Resources

In no particular order, these external resources supplement the tutorial by providing shortcuts to commonly used information and further learning.

Mac Terminal Commands

A full A-Z list of all supported Mac Terminal commands.

Linux Terminal Commands

A full A-Z list of all supported Linux Terminal commands.

Windows PowerShell Commands

A full A-Z list of all supported Windows PowerShell commands.

Last modified: December 18, 2013