Introduction to Linux in HPC

From HPC Wiki
Revision as of 13:37, 20 November 2020 by Marc-andre-hermanns-bc32@rwth-aachen.de (talk | contribs) (Embed links to parts in their heading)
Jump to navigation Jump to search
Tutorial
Title: Introduction to Linux in HPC
Provider: HPC.NRW

Contact: tutorials@hpc.nrw
Type: Multi-part video
Topic Area: HPC Platforms
License: CC-BY-SA
Syllabus

1. Background and History
2. The Command Line
3. Linux Directory Structure
4. Files
5. Text display and search
6. Users and permissions
7. Processes
8. The vim text editor
9. Shell scripting
10. Environment variables
11. System configuration
12. SSH Connections
13. SSH: Graphics and File Transfer
14. Various tips

Introduction

This course has been developed within the framework of HPC.NRW project. It has been developed for users to get a good working knowledge of Linux to further use it for accessing and using High performance computing (HPC) cluster accounts.

Linux powers 100% of the world's top 500 supercomputers, the majority of financial trades worldwide, most of the servers powering the Internet, and over two billion Android devices. In short, Linux is everywhere. It appears in many different architectures, from mainframes to server to desktop to mobile and on a staggeringly wide variety of hardware. So learning to work with Linux will certainly help you in many ways.


Topics

Background and History

This session provides a brief background on where Linux and UNIX come from, what different Linux distributions are, and why it is important to have a basic understanding of Linux concepts when interacting with HPC platforms.

The Command Line

This session discusses the command line as one of the main ways to interact with HPC platforms.

Directory Structure

This session discusses the broad directory layout that exist on Linux to help users' orientation when interacting with the file system.

Files

This session covers basic handling of files on Linux platforms.

Text Display and Search

This session covers basic handling of text files and standard output/error/input streams on Linux systems.

Users and Permissions

This session discusses the multi-user nature of Linux and how to restrict or grant access to files on the file system.

Processes

This session discusses the nature of processes on Linxu, including parent and child processes, and basic tools to handle and query your own processes.

The vim Text Editor

This session briefly introduces an ubiquitous and powerful, yet complex, editor on Linux: vim (i.e., VI Improved).

Shell Scripting

This session covers organizing multiple and recurring sets of command line commands as shell scripts.

Environment Variables

This session covers the shell environment and how to set, unset, or modify variables to influence commands and/or shell scripts run in the shell.

System Configuration Files

This session covers the basic files that are used by the system to configure and adapt the user environment with so-call RC files.

SSH Connections

This session covers how to log into Linux systems using an SSH client.

SSH Graphics and File Transfer

This session covers how to handle X Window connections and transfer files to and from a Linux system via SSH connections.

Various Tips

This session provides concluding remarks and Ticks & Tricks when interacting with Linux system.