This lesson is in the early stages of development (Alpha version)

Introduction to Using the Shell in a High-Performance Computing Context

This workshop is an introduction to using high-performance computing systems effectively. We obviously can’t cover every case or give an exhaustive course on parallel programming in just two days of teaching time. Instead, this workshop is intended to give students a good introduction and overview of the tools available and how to use them effectively.

By the end of this workshop, students will know how to:


  • This is the draft HPC Carpentry release. Comments and feedback are welcome.
  • Additionally, please explore the lesson, shell-novice until this one is complete.


There are no real prerequisites for this lesson, but prior programming and/or command line experience will be helpful.


Setup Download files required for the lesson
00:00 1. Why Use a Cluster? Why would I be interested in High Performance Computing (HPC)?
What can I expect to learn from this course?
00:30 2. Connecting to the remote HPC system How do I open a terminal?
How do I connect to a remote computer?
What is an SSH key?
01:05 3. Moving around and looking at things How do I navigate and look around the system?
01:25 4. Writing and reading files How do I create/edit text files?
How do I move/copy/delete files?
02:10 5. Wildcards and pipes How can I run a command on multiple files at once?
Is there an easy way of saving a command’s output?
03:05 6. Scripts, variables, and loops How do I turn a set of commands into a program?
04:00 Finish

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