The Bash Shell

Self-learning course

Site Updated On: September 16, 2024
For More Info Email: rsginfo@soton.ac.uk
The Bash Shell

General Information

Requirements: Participants must have access to a computer with a Mac, Linux, or Windows operating system (not a tablet, Chromebook, etc.) that they have administrative privileges on. They should have a few specific software packages installed (listed below).

Accessibility:

We are dedicated to providing a positive and accessible learning environment for all. Please get in touch you require any accommodations or if there is anything we can do to make this lesson more accessible to you.

Contact: Please email or rsginfo@soton.ac.uk for more information.


Surveys

Please be sure to complete this survey after the lesson.

Please input the date as the date you started the materials.

Post-Lesson Survey


Lesson Outline

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.


Schedule

1. Introducing the Shell What is a command shell and why would I use one?
2. Files and Directories How can I move around on my computer?
How can I see what files and directories I have?
How can I specify the location of a file or directory on my computer
What is the general structure of a shell command and how can I get help about the commands?
3. Creating Things How can I create, copy, and delete files and directories?
How can I display the contents of the files?
4. Wildcards, Pipes and Filters How can I combine existing commands to do new things?
5. Finding Things How can I find files?
How can I find things in files?
6. Shell Scripts How can I save and re-use commands?
7. Loops How can I perform the same actions on many different files?
8. Additional Exercises How can I build a data-processing pipeline?
9. Survey
Finish

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


Setup

To participate in this lesson, you will need access to software as described below. In addition, you will need an up-to-date web browser.

The instructions for all the software can be found on the setup page.