JamesLau

🐧

Intro to Programming Languages

15 / 234 9052 / 30850


Commands

Time of First Successful Submission: 2026-03-03 08:38:46

Command Arguments

Time of First Successful Submission: 2026-03-03 08:39:55

Command History

Time of First Successful Submission: 2026-03-03 08:40:23

The Root Path

Time of First Successful Submission: 2026-03-03 08:41:53

Absolute Paths

Time of First Successful Submission: 2026-03-03 08:42:44

Changing position

Time of First Successful Submission: 2026-03-03 08:45:29

Changing to an Absolute Path

Time of First Successful Submission: 2026-03-03 08:47:32

Relative Paths

Time of First Successful Submission: 2026-03-03 08:51:46

Cat

Time of First Successful Submission: 2026-03-03 09:03:28

Ls

Time of First Successful Submission: 2026-03-04 23:26:22

Ls All

Time of First Successful Submission: 2026-03-04 23:42:12

Find

Time of First Successful Submission: 2026-03-05 00:06:10

Piping Echo

Time of First Successful Submission: 2026-03-09 09:13:23

Piping Stdout

Time of First Successful Submission: 2026-03-09 09:15:19

Piping Stdin

Time of First Successful Submission: 2026-03-09 09:21:36


Start Here

12 / 12 1495 / 41816


Using the Terminal

Time of First Successful Submission: 2026-03-03 07:53:47

Using the VSCode Workspace

Time of First Successful Submission: 2026-03-03 07:55:55

Using the GUI Desktop

Time of First Successful Submission: 2026-03-03 07:57:57

Pasting into the Desktop

Time of First Successful Submission: 2026-03-03 07:59:54

Restarting Challenges

Time of First Successful Submission: 2026-03-03 08:10:38

Challenge Programs

Time of First Successful Submission: 2026-03-03 08:20:11

The Flag File

Time of First Successful Submission: 2026-03-03 08:24:08

Using Privileged Mode

Time of First Successful Submission: 2026-03-03 08:30:46

Persistent Home Directories - One

Time of First Successful Submission: 2026-03-03 08:33:27

Persistent Home Directories - Two

Time of First Successful Submission: 2026-03-03 08:34:30


Linux Luminarium

128 / 128 2405 / 31241


Intro to Commands

Time of First Successful Submission: 2026-03-03 08:38:46

Intro to Arguments

Time of First Successful Submission: 2026-03-03 08:39:55

Command History

Time of First Successful Submission: 2026-03-03 08:40:23

The Root

Time of First Successful Submission: 2026-03-03 08:41:53

Program and absolute paths

Time of First Successful Submission: 2026-03-03 08:42:44

Position thy self

Time of First Successful Submission: 2026-03-03 08:45:29

Position elsewhere

Time of First Successful Submission: 2026-03-03 08:47:32

implicit relative paths, from /

Time of First Successful Submission: 2026-03-03 08:51:46

explicit relative paths, from /

Time of First Successful Submission: 2026-03-03 08:53:57

implicit relative path

Time of First Successful Submission: 2026-03-03 08:54:54

home sweet home

Time of First Successful Submission: 2026-03-03 09:02:35

cat: not the pet, but the command!

Time of First Successful Submission: 2026-03-03 09:03:28

catting absolute paths

Time of First Successful Submission: 2026-03-03 09:04:10

more catting practice

Time of First Successful Submission: 2026-03-03 09:05:16

grepping for a needle in a haystack

Time of First Successful Submission: 2026-03-03 09:06:56

comparing files

Time of First Successful Submission: 2026-03-04 23:21:29

listing files

Time of First Successful Submission: 2026-03-04 23:26:22

touching files

Time of First Successful Submission: 2026-03-04 23:27:58

removing files

Time of First Successful Submission: 2026-03-04 23:29:39

moving files

Time of First Successful Submission: 2026-03-04 23:31:35

copying files

Time of First Successful Submission: 2026-03-04 23:34:49

hidden files

Time of First Successful Submission: 2026-03-04 23:42:12

An Epic Filesystem Quest

Time of First Successful Submission: 2026-03-04 23:48:01

making directories

Time of First Successful Submission: 2026-03-04 23:50:47

finding files

Time of First Successful Submission: 2026-03-05 00:06:10

linking files

Time of First Successful Submission: 2026-03-05 21:27:25

Learning From Documentation

Time of First Successful Submission: 2026-03-05 21:30:32

Learning Complex Usage

Time of First Successful Submission: 2026-03-05 23:18:20

Reading Manuals

Time of First Successful Submission: 2026-03-05 23:26:49

Searching Manuals

Time of First Successful Submission: 2026-03-05 23:30:18

Searching For Manuals

Time of First Successful Submission: 2026-03-05 23:49:57

Helpful Programs

Time of First Successful Submission: 2026-03-07 01:25:13

Help for Builtins

Time of First Successful Submission: 2026-03-07 01:29:52

Matching with *

Time of First Successful Submission: 2026-03-07 01:36:28

Matching with ?

Time of First Successful Submission: 2026-03-09 06:33:50

Matching with []

Time of First Successful Submission: 2026-03-09 06:36:16

Matching paths with []

Time of First Successful Submission: 2026-03-09 06:37:32

Multiple globs

Time of First Successful Submission: 2026-03-09 06:40:45

Mixing globs

Time of First Successful Submission: 2026-03-09 08:59:26

Exclusionary globbing

Time of First Successful Submission: 2026-03-09 09:03:22

Tab completion

Time of First Successful Submission: 2026-03-09 09:05:52

Multiple options for tab completion

Time of First Successful Submission: 2026-03-09 09:09:31

Tab completion on commands

Time of First Successful Submission: 2026-03-09 09:10:48

Redirecting output

Time of First Successful Submission: 2026-03-09 09:13:23

Redirecting more output

Time of First Successful Submission: 2026-03-09 09:15:19

Appending output

Time of First Successful Submission: 2026-03-09 09:17:02

Redirecting errors

Time of First Successful Submission: 2026-03-09 09:19:07

Redirecting input

Time of First Successful Submission: 2026-03-09 09:21:36

Grepping stored results

Time of First Successful Submission: 2026-03-09 09:23:09

Grepping live output

Time of First Successful Submission: 2026-03-09 09:24:07

Grepping errors

Time of First Successful Submission: 2026-03-09 09:28:38

Filtering with grep -v

Time of First Successful Submission: 2026-03-09 09:41:50

Filtering with sed

Time of First Successful Submission: 2026-03-09 09:44:03

Duplicating piped data with tee

Time of First Successful Submission: 2026-03-09 09:51:58

Process substitution for input

Time of First Successful Submission: 2026-03-09 10:13:08

Writing to multiple programs

Time of First Successful Submission: 2026-03-09 21:41:46

Split-piping stderr and stdout

Time of First Successful Submission: 2026-03-09 21:46:17

Named pipes

Time of First Successful Submission: 2026-03-09 21:55:45

Printing Variables

Time of First Successful Submission: 2026-03-09 21:57:57

Setting Variables

Time of First Successful Submission: 2026-03-09 22:00:16

Multi-word Variables

Time of First Successful Submission: 2026-03-09 22:27:39

Exporting Variables

Time of First Successful Submission: 2026-03-09 22:30:28

Printing Exported Variables

Time of First Successful Submission: 2026-03-10 05:07:45

Storing Command Output

Time of First Successful Submission: 2026-03-10 05:11:06

Reading Input

Time of First Successful Submission: 2026-03-10 05:12:40

Reading Files

Time of First Successful Submission: 2026-03-10 05:14:59

Translating characters

Time of First Successful Submission: 2026-03-10 05:31:51

Deleting characters

Time of First Successful Submission: 2026-03-10 05:32:49

Deleting newlines

Time of First Successful Submission: 2026-03-10 05:34:38

Extracting the first lines with head

Time of First Successful Submission: 2026-03-10 05:40:03

Extracting specific sections of text

Time of First Successful Submission: 2026-03-10 05:42:57

Sorting data

Time of First Successful Submission: 2026-03-10 05:44:44

Listing Processes

Time of First Successful Submission: 2026-03-10 05:49:33

Killing Processes

Time of First Successful Submission: 2026-03-10 05:53:27

Interrupting Processes

Time of First Successful Submission: 2026-03-10 05:54:05

Killing Misbehaving Processes

Time of First Successful Submission: 2026-03-10 06:04:48

Suspending Processes

Time of First Successful Submission: 2026-03-10 06:20:58

Resuming Processes

Time of First Successful Submission: 2026-03-10 06:21:50

Backgrounding Processes

Time of First Successful Submission: 2026-03-10 06:27:04

Foregrounding Processes

Time of First Successful Submission: 2026-03-10 06:33:06

Starting Backgrounded Processes

Time of First Successful Submission: 2026-03-10 06:33:57

Process Exit Codes

Time of First Successful Submission: 2026-03-10 06:36:36

Becoming root with su

Time of First Successful Submission: 2026-03-10 06:46:36

Other users with su

Time of First Successful Submission: 2026-03-10 06:51:50

Cracking passwords

Time of First Successful Submission: 2026-03-10 06:57:50

Using sudo

Time of First Successful Submission: 2026-03-10 07:01:41

Changing File Ownership

Time of First Successful Submission: 2026-03-12 01:27:21

Groups and Files

Time of First Successful Submission: 2026-03-12 01:35:42

Fun With Groups Names

Time of First Successful Submission: 2026-03-12 01:39:45

Changing Permissions

Time of First Successful Submission: 2026-03-12 01:49:17

Executable Files

Time of First Successful Submission: 2026-03-12 01:50:24

Permission Tweaking Practice

Time of First Successful Submission: 2026-03-12 01:59:29

Permissions Setting Practice

Time of First Successful Submission: 2026-03-12 05:23:06

The SUID Bit

Time of First Successful Submission: 2026-03-12 05:28:17

Chaining with Semicolons

Time of First Successful Submission: 2026-03-12 05:29:28

Building on Success

Time of First Successful Submission: 2026-03-12 05:31:41

Handling Failure

Time of First Successful Submission: 2026-03-12 05:32:22

Your First Shell Script

Time of First Successful Submission: 2026-03-12 05:35:35

Redirecting Script Output

Time of First Successful Submission: 2026-03-12 05:36:53

Executable Shell Scripts

Time of First Successful Submission: 2026-03-12 05:39:29

Understanding Shebangs

Time of First Successful Submission: 2026-03-12 05:44:41

Scripting with Arguments

Time of First Successful Submission: 2026-03-12 05:46:48

Scripting with Conditionals

Time of First Successful Submission: 2026-03-12 05:53:52

Scripting with Default Cases

Time of First Successful Submission: 2026-03-12 05:54:51

Scripting with Multiple Conditions

Time of First Successful Submission: 2026-03-12 05:57:16

Reading Shell Scripts

Time of First Successful Submission: 2026-03-12 06:01:26

Launching Screen

Time of First Successful Submission: 2026-03-12 06:03:14

Detaching and Attaching

Time of First Successful Submission: 2026-03-12 06:05:25

Finding Sessions

Time of First Successful Submission: 2026-03-12 06:07:37

Switching Windows

Time of First Successful Submission: 2026-03-12 06:10:37

Detaching and Attaching (tmux)

Time of First Successful Submission: 2026-03-12 06:12:07

Switching Windows (tmux)

Time of First Successful Submission: 2026-03-12 06:13:42

The PATH Variable

Time of First Successful Submission: 2026-03-12 06:16:39

Setting PATH

Time of First Successful Submission: 2026-03-12 06:17:27

Finding Commands

Time of First Successful Submission: 2026-03-12 06:21:17

Adding Commands

Time of First Successful Submission: 2026-03-12 06:25:43

Hijacking Commands

Time of First Successful Submission: 2026-03-12 06:31:57

Bashrc Backdoor

Time of First Successful Submission: 2026-03-12 06:41:46

Sniffing Input

Time of First Successful Submission: 2026-03-12 07:06:45

Overshared Directories

Time of First Successful Submission: 2026-03-12 07:13:22

Tricky Linking

Time of First Successful Submission: 2026-03-12 07:34:25

Sniffing Process Arguments

Time of First Successful Submission: 2026-03-12 07:52:40

Snooping on Configurations

Time of First Successful Submission: 2026-03-12 07:58:23

The Fork Bomb

Time of First Successful Submission: 2026-03-12 08:30:58

Disk-Space Doomsday

Time of First Successful Submission: 2026-03-12 09:15:23

rm -rf /

Time of First Successful Submission: 2026-03-12 09:24:04

Life after rm -rf /

Time of First Successful Submission: 2026-03-12 09:35:47

Finding meaning after rm -rf /

Time of First Successful Submission: 2026-03-12 09:43:23


Computing 101

28 / 94 12483 / 21013


Your First Register

Time of First Successful Submission: 2026-03-03 09:23:32

Your First Syscall

Time of First Successful Submission: 2026-03-03 09:35:48

Exit Codes

Time of First Successful Submission: 2026-03-03 09:47:59

Building Executables

Time of First Successful Submission: 2026-03-03 09:56:31

Moving Between Registers

Time of First Successful Submission: 2026-03-03 09:59:54

Loading From Memory

Time of First Successful Submission: 2026-03-03 10:05:38

More Loading Practice

Time of First Successful Submission: 2026-03-03 10:06:45

Dereferencing Pointers

Time of First Successful Submission: 2026-03-10 08:43:06

Dereferencing Yourself

Time of First Successful Submission: 2026-03-10 08:45:28

Dereferencing with Offsets

Time of First Successful Submission: 2026-03-10 08:47:37

Stored Addresses

Time of First Successful Submission: 2026-03-10 08:51:04

Double Dereference

Time of First Successful Submission: 2026-03-10 08:56:20

The Stack

Time of First Successful Submission: 2026-03-12 10:32:11

Stack Offsets

Time of First Successful Submission: 2026-03-12 10:33:55

Program Arguments on the Stack

Time of First Successful Submission: 2026-03-12 10:38:02

Popping From the Stack

Time of First Successful Submission: 2026-03-12 10:40:52

Disassembling Programs

Time of First Successful Submission: 2026-03-12 10:45:29

Tracing Syscalls

Time of First Successful Submission: 2026-03-12 10:47:38

Starting GDB

Time of First Successful Submission: 2026-03-12 10:48:29

Quitting GDB

Time of First Successful Submission: 2026-03-12 10:48:59

Starting Programs in GDB

Time of First Successful Submission: 2026-03-12 10:51:00

Disassembling in GDB

Time of First Successful Submission: 2026-03-12 10:52:10

Stepping Through Instructions

Time of First Successful Submission: 2026-03-12 10:54:00

Reading Register Values

Time of First Successful Submission: 2026-03-12 10:54:52

Popping Stack Values

Time of First Successful Submission: 2026-03-12 10:56:15

Examining Memory

Time of First Successful Submission: 2026-03-12 10:59:43

Examining Stack Pointers

Time of First Successful Submission: 2026-03-12 11:02:58

Cooperative Debugging

Time of First Successful Submission: 2026-03-12 11:06:59


GCA CTF

12 / 104 1717 / 42093


Using the Terminal

Time of First Successful Submission: 2026-03-03 07:53:47

Using the VSCode Workspace

Time of First Successful Submission: 2026-03-03 07:55:55

Using the GUI Desktop

Time of First Successful Submission: 2026-03-03 07:57:57

Pasting into the Desktop

Time of First Successful Submission: 2026-03-03 07:59:54

Connecting over SSH

Time of First Successful Submission: 2026-03-03 08:07:51

Restarting Challenges

Time of First Successful Submission: 2026-03-03 08:10:38

Getting Help

Time of First Successful Submission: 2026-03-03 08:13:59

Challenge Programs

Time of First Successful Submission: 2026-03-03 08:20:11

The Flag File

Time of First Successful Submission: 2026-03-03 08:24:08

Using Privileged Mode

Time of First Successful Submission: 2026-03-03 08:30:46

Persistent Home Directories - One

Time of First Successful Submission: 2026-03-03 08:33:27

Persistent Home Directories - Two

Time of First Successful Submission: 2026-03-03 08:34:30