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 introduce you to this powerful tool.

Setup

Please watch the pre-workshop videos for installaion tips at https://indico.cern.ch/event/1159157/page/25297-pre-requisites.

Please download shell-lesson-data.zip and move the file to your Desktop. Unzip/extract the file. Let your instructor know if you need help with this step. You should end up with a new folder called shell-lesson-data on your Desktop.

The workshop website for this event is available at https://indico.cern.ch/event/1159157/.

Notes for this workshop are avilable at https://pad.carpentries.org/2022-07-13-upr-online.

If have trouble downloading the software and/or data, click here to launch a binder for access to a terminal in a browser window.

Schedule

Setup
09:20 1. Introducing the Shell
09:30 2. Navigating Files and Directories (aka Who/What/Where) cd, ls, and pwd
09:50 3. Pipes and Filters (aka Quick Quality Control) cat, echo, head, sort, tail, and wc
10:10 4. Working With Files and Directories (aka Organization) cp, mkdir, mv, nano, rm, and rmdir
10:30 5. Coffee Break
11:00 6. Loops (aka Repetitive Tasks) for
do
done
11:20 7. Shell Scripts (aka Automation) $ and bash
11:40 8. Finding Things (aka Control F) grep and find
11:55 9. Wrap Up
12:00 Finish

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