21usual

🐧

Intro to Programming Languages

15 / 234 9667 / 32495


Commands

Time of First Successful Submission: 2026-04-06 06:13:19

Command Arguments

Time of First Successful Submission: 2026-04-06 06:14:16

Command History

Time of First Successful Submission: 2026-04-06 06:15:01

The Root Path

Time of First Successful Submission: 2026-04-06 06:40:06

Absolute Paths

Time of First Successful Submission: 2026-04-06 06:41:07

Changing position

Time of First Successful Submission: 2026-04-06 06:42:30

Changing to an Absolute Path

Time of First Successful Submission: 2026-04-06 06:44:12

Relative Paths

Time of First Successful Submission: 2026-04-06 06:49:03

Cat

Time of First Successful Submission: 2026-04-06 07:34:08

Ls

Time of First Successful Submission: 2026-04-06 12:58:51

Ls All

Time of First Successful Submission: 2026-04-06 13:06:45

Find

Time of First Successful Submission: 2026-04-06 13:18:45

Piping Echo

Time of First Successful Submission: 2026-04-07 13:44:31

Piping Stdout

Time of First Successful Submission: 2026-04-07 13:49:49

Piping Stdin

Time of First Successful Submission: 2026-04-07 14:15:26


Start Here

12 / 12 2014 / 43907


Using the Terminal

Time of First Successful Submission: 2026-04-05 09:37:25

Using the VSCode Workspace

Time of First Successful Submission: 2026-04-05 09:40:08

Using the GUI Desktop

Time of First Successful Submission: 2026-04-05 09:46:35

Pasting into the Desktop

Time of First Successful Submission: 2026-04-05 09:51:05

Restarting Challenges

Time of First Successful Submission: 2026-04-05 10:03:41

Challenge Programs

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

The Flag File

Time of First Successful Submission: 2026-04-05 10:11:01

Using Privileged Mode

Time of First Successful Submission: 2026-04-05 10:18:44

Persistent Home Directories - One

Time of First Successful Submission: 2026-04-05 10:24:07

Persistent Home Directories - Two

Time of First Successful Submission: 2026-04-05 10:25:31


Linux Luminarium

128 / 128 2813 / 32915


Intro to Commands

Time of First Successful Submission: 2026-04-06 06:13:19

Intro to Arguments

Time of First Successful Submission: 2026-04-06 06:14:16

Command History

Time of First Successful Submission: 2026-04-06 06:15:01

The Root

Time of First Successful Submission: 2026-04-06 06:40:06

Program and absolute paths

Time of First Successful Submission: 2026-04-06 06:41:07

Position thy self

Time of First Successful Submission: 2026-04-06 06:42:30

Position elsewhere

Time of First Successful Submission: 2026-04-06 06:44:12

implicit relative paths, from /

Time of First Successful Submission: 2026-04-06 06:49:03

explicit relative paths, from /

Time of First Successful Submission: 2026-04-06 06:52:29

implicit relative path

Time of First Successful Submission: 2026-04-06 06:54:33

home sweet home

Time of First Successful Submission: 2026-04-06 07:00:07

cat: not the pet, but the command!

Time of First Successful Submission: 2026-04-06 07:34:08

catting absolute paths

Time of First Successful Submission: 2026-04-06 07:34:53

more catting practice

Time of First Successful Submission: 2026-04-06 07:35:57

grepping for a needle in a haystack

Time of First Successful Submission: 2026-04-06 07:37:26

comparing files

Time of First Successful Submission: 2026-04-06 07:42:40

listing files

Time of First Successful Submission: 2026-04-06 12:58:51

touching files

Time of First Successful Submission: 2026-04-06 13:00:02

removing files

Time of First Successful Submission: 2026-04-06 13:00:53

moving files

Time of First Successful Submission: 2026-04-06 13:04:01

copying files

Time of First Successful Submission: 2026-04-06 13:05:37

hidden files

Time of First Successful Submission: 2026-04-06 13:06:45

An Epic Filesystem Quest

Time of First Successful Submission: 2026-04-06 13:13:51

making directories

Time of First Successful Submission: 2026-04-06 13:15:09

finding files

Time of First Successful Submission: 2026-04-06 13:18:45

linking files

Time of First Successful Submission: 2026-04-06 13:30:55

Learning From Documentation

Time of First Successful Submission: 2026-04-07 11:53:35

Learning Complex Usage

Time of First Successful Submission: 2026-04-07 11:56:55

Reading Manuals

Time of First Successful Submission: 2026-04-07 11:58:48

Searching Manuals

Time of First Successful Submission: 2026-04-07 12:02:45

Searching For Manuals

Time of First Successful Submission: 2026-04-07 12:07:17

Helpful Programs

Time of First Successful Submission: 2026-04-07 12:10:08

Help for Builtins

Time of First Successful Submission: 2026-04-07 12:14:02

Matching with *

Time of First Successful Submission: 2026-04-07 13:03:07

Matching with ?

Time of First Successful Submission: 2026-04-07 13:07:09

Matching with []

Time of First Successful Submission: 2026-04-07 13:09:06

Matching paths with []

Time of First Successful Submission: 2026-04-07 13:12:26

Multiple globs

Time of First Successful Submission: 2026-04-07 13:16:25

Mixing globs

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

Exclusionary globbing

Time of First Successful Submission: 2026-04-07 13:28:29

Tab completion

Time of First Successful Submission: 2026-04-07 13:36:27

Multiple options for tab completion

Time of First Successful Submission: 2026-04-07 13:39:19

Tab completion on commands

Time of First Successful Submission: 2026-04-07 13:39:50

Redirecting output

Time of First Successful Submission: 2026-04-07 13:44:31

Redirecting more output

Time of First Successful Submission: 2026-04-07 13:49:49

Appending output

Time of First Successful Submission: 2026-04-07 13:52:42

Redirecting errors

Time of First Successful Submission: 2026-04-07 14:01:54

Redirecting input

Time of First Successful Submission: 2026-04-07 14:15:26

Grepping stored results

Time of First Successful Submission: 2026-04-07 14:19:04

Grepping live output

Time of First Successful Submission: 2026-04-07 14:20:05

Grepping errors

Time of First Successful Submission: 2026-04-07 14:25:48

Filtering with grep -v

Time of First Successful Submission: 2026-04-07 14:29:16

Filtering with sed

Time of First Successful Submission: 2026-04-07 14:33:57

Duplicating piped data with tee

Time of First Successful Submission: 2026-04-07 14:38:04

Process substitution for input

Time of First Successful Submission: 2026-04-07 15:16:21

Writing to multiple programs

Time of First Successful Submission: 2026-04-07 15:26:13

Split-piping stderr and stdout

Time of First Successful Submission: 2026-04-07 15:48:40

Named pipes

Time of First Successful Submission: 2026-04-07 15:59:14

Printing Variables

Time of First Successful Submission: 2026-04-07 16:09:05

Setting Variables

Time of First Successful Submission: 2026-04-07 16:11:01

Multi-word Variables

Time of First Successful Submission: 2026-04-07 16:12:11

Exporting Variables

Time of First Successful Submission: 2026-04-07 16:16:05

Printing Exported Variables

Time of First Successful Submission: 2026-04-07 16:17:33

Storing Command Output

Time of First Successful Submission: 2026-04-07 16:20:04

Reading Input

Time of First Successful Submission: 2026-04-07 16:28:45

Reading Files

Time of First Successful Submission: 2026-04-07 16:31:11

Translating characters

Time of First Successful Submission: 2026-04-07 16:41:45

Deleting characters

Time of First Successful Submission: 2026-04-07 16:43:57

Deleting newlines

Time of First Successful Submission: 2026-04-07 16:51:08

Extracting the first lines with head

Time of First Successful Submission: 2026-04-08 13:06:37

Extracting specific sections of text

Time of First Successful Submission: 2026-04-08 13:12:16

Sorting data

Time of First Successful Submission: 2026-04-08 13:14:11

Listing Processes

Time of First Successful Submission: 2026-04-08 13:18:16

Killing Processes

Time of First Successful Submission: 2026-04-08 13:20:00

Interrupting Processes

Time of First Successful Submission: 2026-04-08 13:20:37

Killing Misbehaving Processes

Time of First Successful Submission: 2026-04-08 13:24:42

Suspending Processes

Time of First Successful Submission: 2026-04-08 13:26:58

Resuming Processes

Time of First Successful Submission: 2026-04-08 13:27:44

Backgrounding Processes

Time of First Successful Submission: 2026-04-08 13:29:26

Foregrounding Processes

Time of First Successful Submission: 2026-04-08 13:32:17

Starting Backgrounded Processes

Time of First Successful Submission: 2026-04-08 13:32:56

Process Exit Codes

Time of First Successful Submission: 2026-04-08 13:36:45

Becoming root with su

Time of First Successful Submission: 2026-04-08 13:39:06

Other users with su

Time of First Successful Submission: 2026-04-08 13:40:04

Cracking passwords

Time of First Successful Submission: 2026-04-08 13:43:42

Using sudo

Time of First Successful Submission: 2026-04-08 13:46:01

Changing File Ownership

Time of First Successful Submission: 2026-04-09 13:35:48

Groups and Files

Time of First Successful Submission: 2026-04-09 13:39:01

Fun With Groups Names

Time of First Successful Submission: 2026-04-09 13:41:04

Changing Permissions

Time of First Successful Submission: 2026-04-09 13:49:23

Executable Files

Time of First Successful Submission: 2026-04-09 14:35:13

Permission Tweaking Practice

Time of First Successful Submission: 2026-04-09 15:01:32

Permissions Setting Practice

Time of First Successful Submission: 2026-04-09 15:08:34

The SUID Bit

Time of First Successful Submission: 2026-04-09 15:10:54

Chaining with Semicolons

Time of First Successful Submission: 2026-04-09 15:21:58

Building on Success

Time of First Successful Submission: 2026-04-09 15:23:19

Handling Failure

Time of First Successful Submission: 2026-04-09 15:24:19

Your First Shell Script

Time of First Successful Submission: 2026-04-09 15:27:39

Redirecting Script Output

Time of First Successful Submission: 2026-04-09 15:34:24

Executable Shell Scripts

Time of First Successful Submission: 2026-04-09 15:38:17

Understanding Shebangs

Time of First Successful Submission: 2026-04-09 15:42:13

Scripting with Arguments

Time of First Successful Submission: 2026-04-09 15:46:00

Scripting with Conditionals

Time of First Successful Submission: 2026-04-09 15:49:31

Scripting with Default Cases

Time of First Successful Submission: 2026-04-09 15:50:32

Scripting with Multiple Conditions

Time of First Successful Submission: 2026-04-09 15:54:47

Reading Shell Scripts

Time of First Successful Submission: 2026-04-09 15:58:04

Launching Screen

Time of First Successful Submission: 2026-04-09 15:59:07

Detaching and Attaching

Time of First Successful Submission: 2026-04-09 16:02:17

Finding Sessions

Time of First Successful Submission: 2026-04-09 16:03:29

Switching Windows

Time of First Successful Submission: 2026-04-09 16:04:36

Detaching and Attaching (tmux)

Time of First Successful Submission: 2026-04-09 16:07:32

Switching Windows (tmux)

Time of First Successful Submission: 2026-04-09 18:41:33

The PATH Variable

Time of First Successful Submission: 2026-04-10 06:18:21

Setting PATH

Time of First Successful Submission: 2026-04-10 06:22:12

Finding Commands

Time of First Successful Submission: 2026-04-10 06:23:44

Adding Commands

Time of First Successful Submission: 2026-04-10 06:38:41

Hijacking Commands

Time of First Successful Submission: 2026-04-10 07:08:13

Bashrc Backdoor

Time of First Successful Submission: 2026-04-10 11:13:49

Sniffing Input

Time of First Successful Submission: 2026-04-10 11:59:44

Overshared Directories

Time of First Successful Submission: 2026-04-13 12:04:40

Tricky Linking

Time of First Successful Submission: 2026-04-13 12:24:14

Sniffing Process Arguments

Time of First Successful Submission: 2026-04-13 12:30:54

Snooping on Configurations

Time of First Successful Submission: 2026-04-13 12:35:54

The Fork Bomb

Time of First Successful Submission: 2026-04-17 07:59:25

Disk-Space Doomsday

Time of First Successful Submission: 2026-04-13 18:06:17

rm -rf /

Time of First Successful Submission: 2026-04-13 18:09:08

Life after rm -rf /

Time of First Successful Submission: 2026-04-13 18:11:50

Finding meaning after rm -rf /

Time of First Successful Submission: 2026-04-13 18:14:48


Computing 101

51 / 94 5741 / 21766


Your First Register

Time of First Successful Submission: 2026-04-14 13:02:04

Your First Syscall

Time of First Successful Submission: 2026-04-14 13:18:22

Exit Codes

Time of First Successful Submission: 2026-04-14 13:22:21

Building Executables

Time of First Successful Submission: 2026-04-14 13:30:36

Moving Between Registers

Time of First Successful Submission: 2026-04-14 13:39:04

Loading From Memory

Time of First Successful Submission: 2026-04-14 15:20:35

More Loading Practice

Time of First Successful Submission: 2026-04-14 15:22:23

Dereferencing Pointers

Time of First Successful Submission: 2026-04-14 18:46:54

Dereferencing Yourself

Time of First Successful Submission: 2026-04-14 19:02:58

Dereferencing with Offsets

Time of First Successful Submission: 2026-04-15 06:29:40

Stored Addresses

Time of First Successful Submission: 2026-04-15 06:38:08

Double Dereference

Time of First Successful Submission: 2026-04-15 06:43:21

The Stack

Time of First Successful Submission: 2026-04-15 11:01:05

Stack Offsets

Time of First Successful Submission: 2026-04-15 11:04:49

Program Arguments on the Stack

Time of First Successful Submission: 2026-04-15 11:10:15

Popping From the Stack

Time of First Successful Submission: 2026-04-15 11:14:45

Disassembling Programs

Time of First Successful Submission: 2026-04-16 13:23:23

Tracing Syscalls

Time of First Successful Submission: 2026-04-16 13:26:24

Starting GDB

Time of First Successful Submission: 2026-04-16 13:27:43

Quitting GDB

Time of First Successful Submission: 2026-04-16 13:30:47

Starting Programs in GDB

Time of First Successful Submission: 2026-04-16 13:32:05

Disassembling in GDB

Time of First Successful Submission: 2026-04-16 13:33:07

Stepping Through Instructions

Time of First Successful Submission: 2026-04-16 13:34:40

Reading Register Values

Time of First Successful Submission: 2026-04-16 13:35:33

Popping Stack Values

Time of First Successful Submission: 2026-04-16 13:36:46

Examining Memory

Time of First Successful Submission: 2026-04-16 13:38:31

Examining Stack Pointers

Time of First Successful Submission: 2026-04-16 13:41:40

Cooperative Debugging

Time of First Successful Submission: 2026-04-16 13:46:46

Writing Output

Time of First Successful Submission: 2026-04-16 14:12:43

Chaining Syscalls

Time of First Successful Submission: 2026-04-16 14:16:48

Writing Strings

Time of First Successful Submission: 2026-04-16 14:18:31

Reading Data

Time of First Successful Submission: 2026-04-16 14:24:37

Opening Files

Time of First Successful Submission: 2026-04-16 14:42:20

Hardcoding the Filename

Time of First Successful Submission: 2026-04-16 16:04:24

Comparing Values

Time of First Successful Submission: 2026-04-17 06:44:02

Comparing Characters

Time of First Successful Submission: 2026-04-17 06:47:02

Conditional Control Flow

Time of First Successful Submission: 2026-04-17 06:52:29

Comparing Strings

Time of First Successful Submission: 2026-04-17 06:57:17

Reverse the Password

Time of First Successful Submission: 2026-04-17 07:05:07

Conditionals Without Conditionals

Time of First Successful Submission: 2026-04-17 08:06:48

Looping

Time of First Successful Submission: 2026-04-17 08:23:07

Reverse the Calculation

Time of First Successful Submission: 2026-04-17 08:29:49

Reverse the Reverse

Time of First Successful Submission: 2026-04-17 08:32:06

Dealing with Bitwise Operations

Time of First Successful Submission: 2026-04-17 08:34:35

Loops on Data

Time of First Successful Submission: 2026-04-17 08:42:44

set-register

Time of First Successful Submission: 2026-04-17 09:11:48

set-multiple-registers

Time of First Successful Submission: 2026-04-17 09:13:38

add-to-register

Time of First Successful Submission: 2026-04-17 09:14:51

linear-equation-registers

Time of First Successful Submission: 2026-04-17 09:23:02

integer-division

Time of First Successful Submission: 2026-04-17 09:27:19

modulo-operation

Time of First Successful Submission: 2026-04-17 10:41:41

set-upper-byte

Time of First Successful Submission: 2026-04-17 10:47:39


GCA CTF

12 / 104 2250 / 44187


Using the Terminal

Time of First Successful Submission: 2026-04-05 09:37:25

Using the VSCode Workspace

Time of First Successful Submission: 2026-04-05 09:40:08

Using the GUI Desktop

Time of First Successful Submission: 2026-04-05 09:46:35

Pasting into the Desktop

Time of First Successful Submission: 2026-04-05 09:51:05

Connecting over SSH

Time of First Successful Submission: 2026-04-05 09:57:01

Restarting Challenges

Time of First Successful Submission: 2026-04-05 10:03:41

Getting Help

Time of First Successful Submission: 2026-04-05 10:07:24

Challenge Programs

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

The Flag File

Time of First Successful Submission: 2026-04-05 10:11:01

Using Privileged Mode

Time of First Successful Submission: 2026-04-05 10:18:44

Persistent Home Directories - One

Time of First Successful Submission: 2026-04-05 10:24:07

Persistent Home Directories - Two

Time of First Successful Submission: 2026-04-05 10:25:31