Practical Unix

NOTE: Weekly lab sessions start Tuesday, April 7th and will be held Tuesdays 10:00am-11:15am and Tuesdays 1:15pm-2:30pm in Gates B21. You may attend either lab session as they cover the same material. 

Practical Unix is a practical introduction to using the Unix set of operating systems with a focus on Linux command line skills.

The course has videos to introduce some commands and how to use them generally and lab exercises to solidify understanding and go beyond the material in the videos. Much of dealing with the command line involves knowing how to best use Google and manual pages to figure things out, so these lab exercises won't tell you how to do everything.

Topics include: grep and regular expressions, shells and ZSH, Vim and Emacs, basic and advanced GDB features, permissions, working with the file system, revision control, Unix utilities, environment customization, and using Python for shell scripts. Topics may be added over time.

Sam King designed and developed Practical Unix as a class at Stanford University with the intention of making it free and open to the world.

He started this site to help disseminate the course content to a broader audience. If you have any questions, feel free to email him at  If you have questions about the Stanford course, please see or email Megan or Lingtong.