The Unix shell

If you are used to working with Windows, you might find working on the cluster a bit overwhelming, and this is because the cluster uses Linux, an operating system that instead of a graphical user interface (with icons, windows, and a start menu like Windows), is ​managed and accessed through a command-line interface (aka Unix shell) .

Unix-like  operating systems such as Linux and macOS ​operate through the use of Unix commands. These commands consist of text-based instructions that users input into the shell (on Macs this is done with the Terminal app). Essentially, the shell is a program that takes these keyboard instructions and communicates them to the operating system to execute various tasks. This is how users can interact with the operating system, enabling them to perform actions like navigating the file system, handling files and directories (e.g., copying, moving, renaming), overseeing processes, configuring system settings, and accomplishing a wide range of other functions.

As you should know by now, understanding the Unix shell is crucial for working effectively on a cluster, for several reasons:

In this section you will learn fundamental skills for working in the cluster thought the shell. ​There are plenty of tutorials and courses (both online and on site at UCL) that you can take to learn Unix commands. Some of our favorite options are listed below. You don't need to take all these courses, ​just pick one, but be sure to dedicate enough time to complete it fully before progressing to the next section.

Please note that all the courses below focus on teaching you Unix commands, but they also introduce the concept of Bash Scripting. We will take a more comprehensive look into Bash Scripting in a later section.

TO DO

A link to the free online Linux Tutorial developed by Ryan Chadwick is below. We like it because it is very thorough but at the same time very easy to read.

TAKE THE COURSE

The UCL Advanced research Computing Center (ARC) offers training materials and workshops related to Unix shell and high-performance computing. Some are online, and some are in person and happen a few times during the year. Visit their Training website for an updated list of training resources and future workshops and events. But in particular, this online "Introducing the Unix Shell" course is one you shouldn't miss.

TAke the course

The Carpentries is an umbrella organization that encompasses both the Data Carpentry and the Software Carpentry organizations, both of which provide training in essential data and software skills to researchers and professionals. While not specific to UCL, they offer a wide range of workshops and lessons covering Unix shell, R and Python for data organization, data cleaning and data analysis, software development practices, version control with Git, and more. The "Introduction to the Command Line for Genomics" course from Data carpentry could be a great option too as it's tailored for genomics.

TAKE THE COURSE

Finally, if you want to do further training, another more intensive, 2 day course, from Software Carpentry taught in person at UCL through the ARC is their "Software Carpentry" worshop. Visit their Training website for information on future dates.