Learning by playing
Gameshell¶
GameShell is a text-based game that runs in a real bash session, guiding you through mission-style challenges to learn core Unix commands and get comfortable navigating and working on a Linux cluster.
Homepage: https://github.com/phyver/GameShell
To start playing, connect to lemaitre4
and do
module load gameshell
and follow instructions.
____ ____ _ _ _
/ ___| __ _ _ __ ___ ___/ ___|| |__ ___| | |
| | _ / _` | '_ ` _ \ / _ \___ \| '_ \ / _ \ | |
| |_| | (_| | | | | | | __/___) | | | | __/ | |
\____|\__,_|_| |_| |_|\___|____/|_| |_|\___|_|_|
_
_/ \
_ / \
/ \_ __ /\/\ /\
/ \ / \ / \/ \
/\/\ /\ `--./.'- `-.\
/ \/ ' ^ _ _ _
/\ ____.. YY Y _ |~ _
/._/ _ \_ Y Y [_]--'--[_]
/ / .'/#\_ `-. Y YY |'|""`""|'|
.-_/#@##\ `\"" ' Y | | /^\ | |
" "'"''"'"'''" ' |_|_|I|_|_|
Press Enter to continue.
Gameshell? Gameshells!¶
At CÉCI, we took the innovative idea from Gameshell and expand from it. On top of the bash-oriented gameshell, we developed tutorials to learn other elements related to the CÉCI clusters.
On lemaitre4
, you can see all gameshells available using
module avail gameshell
The current list of gameshells are as follows:
- bash: (from original developers) Using and administering a computer running a Unix-like operating system (e.g., Linux, BSD or macOS) requires using a command line interface called "shell". In this game you will learn how to use the shell by journeying through various missions that will teach you to perform standard tasks.
- slurm: On a computing cluster, Slurm manages tasks by running job scripts that specify needed resources and commands. In this exercise, you’ll learn how to submit jobs, check their progress, and confirm they finish correctly.
- module: On a cluster, not all the software is available by default. With modules, you can find, load, and switch between different software versions. In this exercise, you’ll learn how to use modules to set up the tools you need.
- git: In this game, you will learn how to work with a Git repository: tracking files, undoing mistakes, and finding bugs. It is meant to complement a Git lecture, not to be used on its own.
- scripting: In this game, you’ll practice scripting by reading structured files and finding the minimum value, while handling outliers and NaNs. You can choose the scripting language you’d like to use.
- python object-oriented: In this game, you’ll practice Object-Oriented Programming in Python by gradually extending a file called color.py.
- C: This is the game to learn C code.
- parallel computing: In this game, you’ll explore basic Linux tools for parallel tasks, including background jobs, pipes, xargs, make, and GNU Parallel.
Please have a look using module load gameshell/gameshell_name
. Resolve quests to finish the game with the minimum amount of time!