Skip to content

UPPMAX/naiss_intermediate_bash_linux

Repository files navigation

Intermediate Bash/Linux

This repository is part of UPPMAX
until [some organisation] has its own GitHub account.
UPPMAX is chosen for practical reasons unrelated to its importance.

Course on intermediate Bash/Linux.

Preliminary estimated time 6 hours (i.e. a full day or two half-days).

Website

Prerequisites

We decided to use The Command Line 101 course content as course prerequisite.

Learning objectives

Curriculum item Learning objective
Bash scripting Learners can use bash variables
Bash scripting Learners can use bash if statements
Bash scripting Learners can use bash if statements with `
Bash scripting Learners can use bash for statements
Bash scripting Learners can write scripts that require user input
Environment variables Learners can create, read and write to environment variables (e.g. [Shotts, 2024], chapter 25, p390)
Advanced redirect Learners can redirect output between the standard, error and log output streams
Regular expressions Learners can use ., *, +, ?, [], [^], {}, () in regular expressions (19. What are Regular Expressions?, p266-onwards)(or any regex course)
Regular expressions Learners can use grep for pattern matching
Regular expressions Learners can use sed for pattern matched replacing
Links (hard/soft) Learners can create soft and hard symbolic links (e.g. [Shotts, 2024], '3. Symbolic Links', p24)
Archiving/Compressing data Learners can compress and extract data, using (g)zip and tar
Linux pipe Learners can chain commands using the Linux pipe (6. Pipelines, p63-p64)
Finding information Learners have practiced using a book on bash/Linux
Quality of life Learners can start a background process with & and terminate it
Quality of life Terminal shortcuts/usage
Quality of life Editing a .bashrc
Quality of life Using aliases
Linux tools cut
Linux tools dos2unix, unix2dos
Linux tools wc

Basic:

  • Using tab for autocomplete
  • Using man
  • less and more
  • cat
  • nano

Curriculum overview

  • Bash scripting
  • Environment variables
  • Advanced redirect
  • Regular expressions
  • Links (hard/soft)
  • Archiving/Compressing data
  • Linux pipe

References

  • [Shotts, 2024] Shotts, William. The Linux command line: a complete introduction. No Starch Press, 2024. PDF