This workshop is part of the Fall 2021 Workshop series of the McGill initiative on Computational Medicine. The initiative was formed in 2017 and aims to deliver inter-disciplinary research programs and empower the use of data in health research and health care delivery.
This workshop is aimed at people with little or no programming experience who want to get familiar with the UNIX command line and shell scripting. We will cover the structure of the UNIX operating system, basic file management operations, useful built-in commands, scripting and text processing. At the end of the workshop you should feel comfortable opening a terminal, creating files, accessing directories, running basic commands and processing simple text files. The workshop will also include a brief section about HPC computing infrastructures to help you get familiar with cluster job submissions. This session is designed with a strong hands-on component and we will encourage students to participate in solving interesting programming challenges.
You can download the data and scripts for the workshop by cloning this repo
- Introduction to UNIX
- The operating system
- System structure
- Files and processes
- File management
- Creating/deleting files and directories
- Changing permissions
- Shell commands
- Execution of built-in basic commands
- Viewing Command history
- Creating aliases
- Variables
- Built-in shell variables
- Other variables
- Command line pipes
- Loop structures
- While loop
- For loop
- Shell scripting
- Text editing and processing
- Pattern-matching and regular expressions
- Overview of common text editors (vi, emacs, vim, nano)
- Sed, awk and perl one-liners
- High-performance computing
- What is HPC?
- Applications
- Compute Canada resources
- Private resources
- How to connect to a Compute Canada cluster
- How to submit and monitor jobs
For scripting:
For HPC: