Introduction To The Command Line
Getting started with Terminal
The Command Line is a text-based interface that allows you to communicate with your
computer to accomplish a wide range of tasks. You will use the skills you develop in this lesson
when working with Twarc, a command line tool for collecting and analyzing Twitter data. It is
important to have a handle on basic commands so that you can work with the 1 October
Twitter Data Collection later on in this tutorial series. Get started by downloading the materials
below!
Difficulty level: Beginner
Optimized for: Mac users. Windows users can view the tutorial here.
Prerequisite(s): None
Materials: Download ‘walt_whitman.zip’ to your desktop
Tutorial Key
Command Line commands will be displayed in this format
means you have come to the end of a set of instructions
Lesson objectives
- Use the command line to navigate your computer
- Create and move content around
- Make changes to existing files
Key Terms
Terminal - OS X Command Line
A text interface for your computer. Terminal receives commands and then
passes those commands on to the computer's operating system to run.
Command
A specific order from a user to the computer’s operating system to perform a
service
Graphical-User Interface (GUI)
A visual form of user interface that allows users to interact with a computer
through icons and other visual indicators
Filepath
A unique address that specifies a location in a file system
Directory
A location for storing files on your computer. A directory is the same thing as a
folder; a folder is represented visually in a GUI.
Table of Contents
Lesson objectives 1
Key Terms 1
Table of Contents 2
Introduction 3
Getting started 3
Moving Around Using Terminal 5
Manipulating Files Using Terminal 9
Review 17
Introduction
How do you create a new folder? Pick the option below that applies to you:
a. Right-click on my desktop and click ‘Create New Folder
b. Click on the tool button and then click ‘New Folder
c. Will it into existence, I have the power within me
d. I don’t. I like my files to be free range.
If you selected C or D, chances are you are probably not having much success organizing your
files. If you selected A or B, you are interacting with your system through a Graphical-User
Interface (GUI). Before users relied on GUIs to move around their systems, the command-line
interface was the primary way people would interact with their computers. While a GUI is a
visual way for operating your computer, the Command Line is a text-based interface for doing
the same tasks you perform when clicking, dragging, and dropping files. It has a range of
capabilities that make it a powerful tool for those who need more precision in their work. In
this tutorial, you will learn how to navigate your computer using the Command Line.
Getting started
There are two main command-line interfaces that are discussed in this tutorial series. On OS X
the shell is known as bash, or the ‘Bourne-again shell’. In OS X, the shell is located by default
in: Applications > Utilities > Terminal. Let’s get started by opening terminal.
Read through these tips and tricks before moving on to the next section:
Tips and tricks
‘$’ signals the shell prompt. You can tell when a process is complete
when it returns to the shell prompt.
Capitalization and spacing matters! Make sure to always double check
your work.
You can drag and drop folders into Terminal instead of typing out
their filepath
Using the up arrow on your keyboard will recall commands. Use this
tip to waste less time writing out commands and lengthy filepaths.
0 moves your cursor to the start of the line
$ moves your cursor to the end of the line
You can copy and paste by right clicking in Terminal
Awesome work! You’re ready to start using Terminal. Scroll down to the next section.
Moving Around Using Terminal
If you are feeling lost after opening Terminal, it is important to find out where you are in your
filesystem. Go ahead and enter the following command to print the working (your current)
directory:
pwd
Nice job! Now let’s see which directories and files are available in your location by entering the
list files command:
ls
Let’s change directories. Navigate to your desktop by entering the change directory
command:
cd Desktop
If you haven’t already, go ahead and click here to download the zip file we will be working
within this tutorial to your Desktop. After you’ve downloaded the file, let’s create a directory
that we can store the file in by entering the make directory command:
mkdir walt_whitman
We’re going to move the ‘walt_whitman’ zip file you downloaded from your Desktop into your
‘walt_whitman’ directory by using a new command, move:
mv walt_whitman.zip walt_whitman
Note: If you’re having trouble with this step, double check to make sure you moved the
‘walt_whitman.zip’ file from your to your downloads folder to your Desktop.
Navigate to your new directory using the change directory command:
cd walt_whitman
Good job! You’re ready to move on to the next section.
Manipulating Files Using Terminal
Now that you know how to find your location in a filesystem, we’re going to edit and move
individual files around. We’re going to start with the ‘walt_whitman’ zip file on your Desktop.
Double check to make sure that you are still in your ‘walt_whitman’ directory using the print
working directory command:
pwd
To get started, we need to unzip the file. Enter the unzip command to do so:
unzip walt_whitman.zip
Let’s see what’s inside. Use the list files command:
ls
What you should see:
1_Poems.txt 2_Poems.txt 3_Poems.txt 4_Poems.txt readme.txt
walt_whitman.zip
What a treat! You’ve unzipped four poems and a README plain text file. Let’s find out how
many lines and words are in the file ‘1_Poem.txt’ by using the word count command:
wc -l -w 1_Poem.txt
There are 397 lines and 2,451 words in the first poem.
Let’s find out which poem it is! Start by using the tail command, which pulls up the last 10
lines of a text:
tail 1_Poem.txt
What you should see:
of woe,
With the holders holding my hand nearing the call of the bird,
Comrades mine and I in the midst, and their memory ever to
keep, for the dead I loved so well,
For the sweetest, wisest soul of all my days and lands—and this
for his dear sake,
Lilac and star and bird twined with the chant of my soul,
There in the fragrant pines and the cedars dusk and dim.
https://whitmanarchive.org/published/LG/1891/clusters/192
So that didn’t give us the title, let’s try and see if using the head command to get the first 10
lines of a text will help:
head 1_Poem.txt
What you should see:
WHEN LILACS LAST IN THE DOORYARD BLOOM'D.
1
WHEN lilacs last in the dooryard bloom'd,
And the great star early droop'd in the western sky in the night,
I mourn'd, and yet shall mourn with ever-returning spring.
Ever-returning spring, trinity sure to me you bring,
Lilac blooming perennial and drooping star in the west,
Looks like we tracked down the title of the poem. Let’s rename the file to match the poem’s
title. You can do this using the move command you learned earlier:
mv 1_Poem.txt when_lilacs_last.txt
Let’s check out the ‘readme.txt’ file to see if it tells us about any of the other poems. You can
open the file by using the cat command:
cat readme.txt
Note: The cat command will read a file, but it can also combine files
Looking at the README file we see that the other three poems are part of Walt Whitman’s
‘Memories of President Lincoln’. If you want to read the other poems, you know how to open
them using the cat command.
Before we exit Terminal, let’s get rid of the ‘walt_whitman.zip’ file since we don’t need it
anymore. Do this by entering the remove command:
rm walt_whitman.zip
Since we’re all done in this directory, navigate up one directory to your Desktop by entering
the change directory command:
cd ..
Home sweet Desktop. List the files one last time to make sure everything is in the right place.
ls
We’re good to go! Go ahead and leave Terminal by entering the exit command:
exit
Fantastic work! You’ve completed the tutorial.
Review
Reference the table below to review the material we covered in this tutorial.
Command:
Stands for:
Does what?
pwd
Print
working
directory
Lets you know where you are in your file system
ls
List files
Lists the files in your current directory
cd
Change
directory
Changes the current directory
cd ..
Navigate up
Navigate up one directory from the current
one
directory
directory
mkdir
Make
directory
Creates a directory
mv
Move
Moves a file, can also be used to rename a file
rm
Remove
Deletes a file
head
Head
Shows the first ten lines of a file
tail
Tail
Shows the last ten lines of a file
cat
Concatenate
Will read a file; can also combine files
exit
Exit
Exit Terminal