Session on the command line, a means of interacting with your computer programmatically through text.
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 63 commits ahead of jojokarlin:master.

README.md

Introduction to the Command Line

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, say Kimmy Schmidt or Brendan Fraser in Blast from the Past, 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!").

Today 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 files (touch and echo)
  • 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 and tail, and the concatenate command cat
  • search text files using the grep command
  • create and sort cheat sheets for the commands we learn

Get Started >>>
Glossary >>>


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

Resources

Commands cheat sheet
More on text editors
Other useful commands
Further challenges
Glossary


Session Leader: Jojo Karlin
Based on previous work by Patrick Smyth and Mary Catherine McKinniburgh

Creative Commons License

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.