By Rayna Harris Initialized February 15, 2016 Last updated June 22, 2016
The Unix shell has been around longer than most of its users have been alive. It has survived so long because it’s a powerful tool that allows people to do complex things with just a few keystrokes. More importantly, it helps them combine existing programs in new ways and automate repetitive tasks so that they don’t have to type the same things over and over again. Use of the shell is fundamental to using a wide range of other powerful tools and computing resources including “high-performance computing (HPC)” supercomputers. These lessons will start you on a path towards using these resources effectively.
- Understand the utility and power of the Unix Shell
- Learn to view, create, and manipulate files and directories
- Learn to automate tasks to build reproducible research practices
- The Motivating Dataset
- Introducing the Shell
- Navigating the Unix File System
- Writing, Reading, Copying, Moving, Removing Things
- Pipes and Filters
- grep, uniq, and history
- For Loops
- Bash Scripts
- Practical Computing for Biologists This is a highly recommended book for people looking for a systematic presentation on shell scripting, programming, UNIX, etc.
- A Quick Guide to Organizing Computational Biology Projects, Noble, PLoS Comp Biology, 2009.
http://explainshell.com Not sure what a command means/does? Type it here and get a very easy to understand explanation!
This lesson was inspired by other awesome lessons taught by my colleagues. The include by are not limited to:
- Software Carpentry the Unix Shell
- Titus Advanced Beginner Intermediate UNIX
- Titus's 2014 Analyzing Next-Generation Sequencing (ANGUS) course
- Data Carpentry Genomics
- 2014 Intro to Biocomputing Materials
- Software Carpentry R Novice Gapminder
- CCBB's 4 day Intro RNA-sequencing Course
- CCBB 4 day Intro to Next Generation Sequencing
- Scott's List of Unix One Liners
- 2015 Peer-led Biocomputing Working Group