Skip to content

Before You Start: Prerequisites Checklist

Before diving into the HPC Crash Course lessons, make sure you're prepared with these essential foundations. Don't worry โ€” we're not asking for expert-level knowledge, just enough familiarity to be productive.

๐Ÿ“‹ Prerequisites Checklist

Required before starting the lessons:

  • ๐Ÿ–ฅ๏ธ QUT HPC access: Confirmed SSH access to Aqua
  • ๐Ÿ“‹ A data management plan: Its RPID goes on every job you submit
  • ๐Ÿ’ป Essential Linux commands: Comfortable with cd, ls, pwd, mkdir, cp, mv, rm, chmod
  • ๐Ÿ“ Linux file system: Understanding absolute vs relative paths, directory structure, home directory (~), root (/), permissions
  • ๐Ÿ“ค File transfer method: SCP, rsync, or remote editing setup complete

๐Ÿค” Why These Prerequisites Matter

๐Ÿ–ฅ๏ธ QUT HPC Access

You'll obviously need to be able to connect to QUT's Aqua system. If you can SSH in and see a command prompt, you're good to go!

Need to set up access?

See the official QUT guide: Getting Started with High Performance Computing1.

๐Ÿ“‹ Data Management Plan

Every job you submit names the research project it belongs to, through the RPID of a data management plan. eResearch requires it on all jobs from 2 November 2026, and the lessons write it as -P ABCDEF1234; swap in your own.

Need a plan?

Create one in QUT's Data Management Planner, and see the official instructions: DMP and Research Data Storage1.

๐Ÿง Essential Linux Commands & File Systems

Working on HPC systems means living in the Linux command line. You don't need to be a shell expert, but you should be comfortable with basic navigation, file operations, and understanding how the file system is organized.

Need to learn Linux fundamentals?

QUT eResearch provides an excellent tutorial: Intro to the Shell1 โ€” covers essential commands, file systems, and more.

Core Commands You'll Use Daily

Navigation & Information

pwd                      # Show current directory
ls                       # List files in current directory
ls -la                   # List all files with details
cd /path/to/directory    # Change to specific directory
cd ~                     # Go to home directory
cd ..                    # Go up one directory level

File & Directory Operations

mkdir project-name       # Create a new directory
mkdir -p deep/nested/dirs # Create nested directories
cp source.txt dest.txt   # Copy a file
cp -r folder/ backup/    # Copy entire directory
mv oldname.txt newname.txt # Rename/move file
rm filename.txt          # Delete file
rm -rf directory/        # Delete directory and contents

File Permissions & Ownership

chmod +x script.sh       # Make file executable
chmod 755 my-script      # Set read/write/execute permissions
ls -l filename           # Check file permissions

Understanding the Linux File System

The Linux file system is hierarchical, starting from the root directory (/). Understanding paths is crucial for navigating HPC systems effectively.

Path Types

Absolute Paths โ€” Start from root (/), always work regardless of current location

/home/your-username/projects/analysis
/scratch/your-username/large-data
/usr/local/bin/python

Relative Paths โ€” Start from your current location, shorter but context-dependent

./script.sh              # File in current directory
../parent-folder/file    # File in parent directory
data/results/output.txt  # File in subdirectory

Special Directory Shortcuts

~        # Your home directory (/home/username)
/        # Root of entire file system
.        # Current directory (where you are now)
..       # Parent directory (one level up)
-        # Previous directory (where you just were)

Why This Matters for HPC

On HPC systems, you'll constantly be:

  • Navigating between directories โ€” home, scratch, project spaces
  • Managing files โ€” copying scripts, moving data, organizing results
  • Running executables โ€” making scripts executable, finding programs
  • Understanding paths โ€” referencing files in job scripts, setting up workflows

The better you are with these basics, the less time you'll spend fighting the system and more time doing actual work!

๐Ÿ“ค File Transfer & Remote Development

You'll also need a way to get files on and off Aqua. Pick at least one approach before starting โ€” rsync over SSH is the workhorse for most workflows, but scp, mounted drives (SSHFS), JupyterHub, or VS Code Remote Tunnel all work depending on your setup.

Full tooling walkthrough

The detailed guide โ€” five options compared (local-sync, SSHFS mount, JupyterHub, terminal editors, VS Code Tunnel) with platform-specific setup โ€” lives in Cmd+Opt+Remote โ†’ Surviving without VS Code Remote SSH. Pick one method that fits your workflow and you're set.

Important: VS Code Remote SSH is NOT available on QUT Aqua

The standard VS Code Remote SSH extension is disconnected by Aqua's policies after ~30 seconds. The sanctioned replacement is VS Code Remote Tunnel running inside an interactive PBS job โ€” covered in the guide linked above. Don't waste time trying to make Remote SSH work.


๐Ÿงช Quick Self-Assessment

Test Yourself โ€” Can you confidently:

HPC Access & Connection:

  • Connect to QUT Aqua via SSH?
  • Know where to get help if your access isn't working?

Linux Commands & File Systems:

  • Navigate to your home directory from anywhere? (cd ~)
  • List all files including hidden ones? (ls -la)
  • Create directories and navigate between them?
  • Copy and move files using command line?
  • Explain the difference between /home/you/file and ~/file?
  • Make a script executable with chmod?

File Transfer:

  • Transfer or access files on Aqua via at least one method (rsync, scp, SSHFS mount, JupyterHub, or VS Code Tunnel)?

If you answered "no" to any of these, spend some time practicing before starting the lessons!


๐Ÿš€ Ready to Start?

Once you've checked off all the prerequisites, you're ready to begin with Lesson 1: Welcome to Aqua!


  1. Access only in QUT network. Please use VPN to access the documentation when off-campus.