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

The “shell” is the command-line interface of Linux and other UNIX operating systems. In this three-hour hands-on workshop, you will learn how to connect to a remote Linux system, use basic commands, navigate and work with files and directories, use wildcards and pipes to build powerful commands, and write simple shell scripts to automate your work. These basic skills will make you autonomous with Linux and allow you to continue learning on your own. They are also prerequisites for learning to use Linux-based high-performance computers.

Note

  • This is the draft HPC Carpentry release, with modifications for use on the Plato cluster at the University of Saskatchewan. Comments and feedback are welcome.

Prerequisites

  • Familiarity with computers is expected, but no previous experience with Linux/UNIX is required.
  • Attendees must bring a laptop with SSH capabilities: a terminal and SSH client for Linux, MacOS, other UNIX systems, or up-to-date Windows 10; MobaXterm or PUTTY for older Windows. We can help attendees prepare their laptop on request.
  • Campus wifi users must be connected to the uofs-secure access point.
  • Off-campus users must be connected to the network through the USask VPN.
  • See the Setup page for details.

Schedule

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?
01:00 3. Moving around and looking at things How do I navigate and look around the system?
01:20 4. Writing and reading files How do I create/edit text files?
How do I move/copy/delete files?
02:05 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:00 6. Scripts, variables, and loops How do I turn a set of commands into a program?
03:55 Finish

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