By this point in our academic careers, most of us have figured out some ways we like to interact with computers. Whether that involves avoiding them as much as possible or constantly testing new software, we likely have some ideas about how we feel comfortable getting things done. How would you show a person who had never seen a computer how to do something on your computer?
Many of us would explain what a screen and a cursor are, and then show how to point and click on icons. This approach relies on a graphical user interface, or GUI (pronounced "gooey!"). Bust just as with any piece of technololgy, the GUI was introduced as a way of facilitating computer navigation. The GUI was never inate to computers. (For more see this 5min clip titled Mother of all Demos)
In this tutorial we're going to explore another way to make your computer do things: through the command line. Instead of pointing and clicking, we'll be typing in either git bash (Windows) or terminal (OSX) to tell the computer directly what task we'd like it to perform.
While this new technique can seem intimidating if you haven't used text-based interfaces before, luckily, you can use 90% of the functionality of the command line by becoming comfortable with a very small set of the most common commands.
In this session, we will:
- learn common commands to create and display files (
touch
andecho
) - learn commands to create directories (
mkdir
) - navigate our file structure using change directory (
cd
), print working directory (pwd
), and list (ls
) - move content from one place to another using redirects (
>
) and pipes (|
) - explore a comma separated values (.csv) dataset using word and line counts,
head
andtail
, and the concatenate commandcat
- search text files using the
grep
command - create and sort cheat sheets for the commands we learn
What is the command line?
Working with text
Why is the command line useful?
Getting to the command line
Navigation
Creating files and folders
Creating a cheat sheet
Pipes
Exploring text data
Searching text data
Summary of what we've covered
Commands cheat sheet
More on text editors
Other useful commands
Further challenges
Glossary
Session modified by: Roberto Vargas
Session initially expanded by: Alicia Peaker
Based on previous work by Patrick Smyth, Mary Catherine McKinniburgh, Jojo Karlin, and Kelsey Chatlosh.
Digital Research Institute (DRI) Curriculum by Graduate Center Digital Initiatives is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Based on a work at https://github.com/DHRI-Curriculum. When sharing this material or derivative works, preserve this paragraph, changing only the title of the derivative work, or provide comparable attribution.