The Unix Shell

The Unix shell has been around longer than most of its users have been alive. It has survived because it’s a powerful tool that allows users to perform complex and powerful tasks, often with just a few keystrokes or lines of code. It helps users automate repetitive tasks and easily combine smaller tasks into larger, more powerful workflows.

Use of the shell is fundamental to a wide range of advanced computing tasks, including high-performance computing. These lessons will deepen your knowledge and understanding of this powerful tool.

Prerequisites

This course builds on your basic knowledge of file systems and the shell. If you recognise words such as “file”, “directory”, “command prompt”, “text editor” – and are familiar with commands such as ls and wc – you’re ready for this lesson.

You might have gained this background by attending our introductory course, “on the job” in your research, by self-study or by other means.

Schedule

Setup Download files required for the lesson
00:00 1. (Re)Introducing the Shell What is a command shell and why would I use one?
00:05 2. Manual Pages How to use man pages?
00:10 3. Loops How can I perform the same actions on many different files?
01:00 4. Shell Scripts How can I save and re-use commands?
01:45 5. Finding Things How can I find files?
How can I find things in files?
02:35 6. Transferring Files How to use wget to transfer a file?
02:40 7. Working Remotely How do I use ‘ssh’ and ‘scp’ ?
02:50 8. Permissions Understanding file/directory permissions
03:00 9. Shell Variables How are variables set and accessed in the Unix shell?
03:10 Finish

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