The Bash Shell

The Bash shell has been around longer than many of its users have been alive. It has survived so long because it’s a power 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” supercomputers, like IRIDIS at the University of Southampton). These lessons will start you on a path towards using these resources effectively.

Prerequisites

This lesson guides you through the basics of file systems and the shell. If you have stored files on a computer at all and recognize the word “file” and either “directory” or “folder” (two common words for the same thing), you’re ready for this lesson.

If you’re already comfortable manipulating files and directories, searching for files with grep and find, and writing simple loops and scripts, you probably won’t learn much from this lesson.

The reference page and glossary for this workshop can be found here.

Schedule

Setup Download files required for the lesson
10:00 1. Introducing the Shell What is a command shell and why would I use one?
10:05 2. Files and Directories How do I run programs using the shell?
How do I navigate my computer using the shell?
10:20 3. Creating Things How do I run programs using the shell?
How do I navigate my computer using the shell?
10:40 4. Pipes and Filters How can I combine existing commands to do new things?
11:00 5. Shell Scripts How can I save and re-use commands?
11:20 6. Loops How can I perform the same actions on many different files?
11:40 7. Finding Things How can I find files?
How can I find things in files?
12:00 8. Additional Exercises How can I build a data-processing pipeline?
12:20 Finish

The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.