Unix Reference

Written by Chris Gregg

All Videos

  1. All Unix Videos for CS107

Logging into the myth cluster computers

  1. Logging in to myth with SSH
  2. Mac
  3. Windows
  4. Linux

File System

  1. The file system is a tree
  2. The .backup directory
  3. The working directory and pwd
  4. What is the difference between an absolute and a relative path?
  5. The cd command (change directory)
  6. The cat command (print out a file to the screen)
  7. The ls command (list a directory's files)
  8. (Fancy) pushd and popd (to easily move back and forth between folders)
  9. (Fancy) "symlinks" (create a link to a file in a different directory)

Useful Commands

  1. man (manual pages for unix commands)
  2. cp and mv (copy and move files and directories)
  3. rm (permanently remove files and directories)
  4. grep (search files for text)
  5. find (find a file in a directory system)
  6. diff (show the differences between two text files)
  7. wc (count the words in a file)
  8. tar (unarchive a .tgz or .tar.gz file)

Shell / Productivity

  1. history (shows your last commands)
  2. Up/Down arrow keys (redo a previous command)
  3. Tab-completion (saves typing by deterministically completing a command for you)
  4. Using ! and ctrl-R (goes back through your history to get previous commands)
  5. Using < and > and | (called "redirecting" and "piping")

Development / Writing Programs

  1. gcc (how to compile c programs)
  2. make (compiles your program using a set of commands)
  3. valgrind (runs your program and finds memory leaks and memory errors)
  4. gdb (the command-line debugger)


  1. vim
  2. emacs
  3. Other editors, e.g., nano, Sublime Text, Atom, Notepad++

CS107 Specific

  1. Clone, sanitycheck, and submit assignments