StayFocused

🐧

Intro to Programming Languages

15 / 234 9615 / 33082


Commands

Time of First Successful Submission: 2026-04-03 03:51:54

Command Arguments

Time of First Successful Submission: 2026-04-03 03:52:25

Command History

Time of First Successful Submission: 2026-04-03 03:52:55

The Root Path

Time of First Successful Submission: 2026-04-03 03:53:45

Absolute Paths

Time of First Successful Submission: 2026-04-03 03:55:24

Changing position

Time of First Successful Submission: 2026-04-03 03:56:17

Changing to an Absolute Path

Time of First Successful Submission: 2026-04-03 03:57:38

Relative Paths

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

Cat

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

Ls

Time of First Successful Submission: 2026-04-03 04:12:29

Ls All

Time of First Successful Submission: 2026-04-03 04:16:34

Find

Time of First Successful Submission: 2026-04-03 04:24:52

Piping Echo

Time of First Successful Submission: 2026-04-03 13:30:33

Piping Stdout

Time of First Successful Submission: 2026-04-03 13:31:52

Piping Stdin

Time of First Successful Submission: 2026-04-03 14:19:23


Start Here

11 / 12 9089 / 44758


Using the Terminal

Time of First Successful Submission: 2026-04-03 02:25:47

Using the VSCode Workspace

Time of First Successful Submission: 2026-04-03 02:27:55

Using the GUI Desktop

Time of First Successful Submission: 2026-04-03 02:29:46

Pasting into the Desktop

Time of First Successful Submission: 2026-04-03 02:31:50

Restarting Challenges

Time of First Successful Submission: 2026-04-03 02:40:10

Challenge Programs

Time of First Successful Submission: 2026-04-03 02:42:54

The Flag File

Time of First Successful Submission: 2026-04-03 02:49:57

Using Privileged Mode

Time of First Successful Submission: 2026-04-03 02:54:05

Persistent Home Directories - One

Time of First Successful Submission: 2026-04-03 02:57:19

Persistent Home Directories - Two

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


Linux Luminarium

128 / 128 2742 / 33513


Intro to Commands

Time of First Successful Submission: 2026-04-03 03:51:54

Intro to Arguments

Time of First Successful Submission: 2026-04-03 03:52:25

Command History

Time of First Successful Submission: 2026-04-03 03:52:55

The Root

Time of First Successful Submission: 2026-04-03 03:53:45

Program and absolute paths

Time of First Successful Submission: 2026-04-03 03:55:24

Position thy self

Time of First Successful Submission: 2026-04-03 03:56:17

Position elsewhere

Time of First Successful Submission: 2026-04-03 03:57:38

implicit relative paths, from /

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

explicit relative paths, from /

Time of First Successful Submission: 2026-04-03 04:00:57

implicit relative path

Time of First Successful Submission: 2026-04-03 04:02:21

home sweet home

Time of First Successful Submission: 2026-04-03 04:04:32

cat: not the pet, but the command!

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

catting absolute paths

Time of First Successful Submission: 2026-04-03 04:08:22

more catting practice

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

grepping for a needle in a haystack

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

comparing files

Time of First Successful Submission: 2026-04-03 04:11:38

listing files

Time of First Successful Submission: 2026-04-03 04:12:29

touching files

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

removing files

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

moving files

Time of First Successful Submission: 2026-04-03 04:15:12

copying files

Time of First Successful Submission: 2026-04-03 04:15:50

hidden files

Time of First Successful Submission: 2026-04-03 04:16:34

An Epic Filesystem Quest

Time of First Successful Submission: 2026-04-03 04:21:39

making directories

Time of First Successful Submission: 2026-04-03 04:22:38

finding files

Time of First Successful Submission: 2026-04-03 04:24:52

linking files

Time of First Successful Submission: 2026-04-03 04:35:29

Learning From Documentation

Time of First Successful Submission: 2026-04-03 12:31:20

Learning Complex Usage

Time of First Successful Submission: 2026-04-03 12:32:20

Reading Manuals

Time of First Successful Submission: 2026-04-03 12:34:01

Searching Manuals

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

Searching For Manuals

Time of First Successful Submission: 2026-04-03 12:39:08

Helpful Programs

Time of First Successful Submission: 2026-04-03 12:41:54

Help for Builtins

Time of First Successful Submission: 2026-04-03 12:44:08

Matching with *

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

Matching with ?

Time of First Successful Submission: 2026-04-03 12:51:02

Matching with []

Time of First Successful Submission: 2026-04-03 12:52:22

Matching paths with []

Time of First Successful Submission: 2026-04-03 12:54:54

Multiple globs

Time of First Successful Submission: 2026-04-03 12:58:48

Mixing globs

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

Exclusionary globbing

Time of First Successful Submission: 2026-04-03 13:16:37

Tab completion

Time of First Successful Submission: 2026-04-03 13:18:10

Multiple options for tab completion

Time of First Successful Submission: 2026-04-03 13:19:57

Tab completion on commands

Time of First Successful Submission: 2026-04-03 13:20:53

Redirecting output

Time of First Successful Submission: 2026-04-03 13:30:33

Redirecting more output

Time of First Successful Submission: 2026-04-03 13:31:52

Appending output

Time of First Successful Submission: 2026-04-03 13:34:32

Redirecting errors

Time of First Successful Submission: 2026-04-03 13:56:43

Redirecting input

Time of First Successful Submission: 2026-04-03 14:19:23

Grepping stored results

Time of First Successful Submission: 2026-04-03 14:26:54

Grepping live output

Time of First Successful Submission: 2026-04-03 14:37:14

Grepping errors

Time of First Successful Submission: 2026-04-03 14:46:16

Filtering with grep -v

Time of First Successful Submission: 2026-04-03 14:49:08

Filtering with sed

Time of First Successful Submission: 2026-04-03 14:55:49

Duplicating piped data with tee

Time of First Successful Submission: 2026-04-03 15:51:57

Process substitution for input

Time of First Successful Submission: 2026-04-03 20:18:01

Writing to multiple programs

Time of First Successful Submission: 2026-04-03 20:34:10

Split-piping stderr and stdout

Time of First Successful Submission: 2026-04-03 21:04:15

Named pipes

Time of First Successful Submission: 2026-04-04 03:51:16

Printing Variables

Time of First Successful Submission: 2026-04-04 03:57:54

Setting Variables

Time of First Successful Submission: 2026-04-04 03:58:46

Multi-word Variables

Time of First Successful Submission: 2026-04-04 03:59:22

Exporting Variables

Time of First Successful Submission: 2026-04-04 04:09:52

Printing Exported Variables

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

Storing Command Output

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

Reading Input

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

Reading Files

Time of First Successful Submission: 2026-04-04 04:22:47

Translating characters

Time of First Successful Submission: 2026-04-04 04:28:44

Deleting characters

Time of First Successful Submission: 2026-04-06 03:16:56

Deleting newlines

Time of First Successful Submission: 2026-04-06 03:19:15

Extracting the first lines with head

Time of First Successful Submission: 2026-04-06 03:20:50

Extracting specific sections of text

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

Sorting data

Time of First Successful Submission: 2026-04-06 03:25:57

Listing Processes

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

Killing Processes

Time of First Successful Submission: 2026-04-06 03:29:20

Interrupting Processes

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

Killing Misbehaving Processes

Time of First Successful Submission: 2026-04-06 03:35:13

Suspending Processes

Time of First Successful Submission: 2026-04-06 03:36:13

Resuming Processes

Time of First Successful Submission: 2026-04-06 03:53:31

Backgrounding Processes

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

Foregrounding Processes

Time of First Successful Submission: 2026-04-06 03:50:05

Starting Backgrounded Processes

Time of First Successful Submission: 2026-04-06 03:50:38

Process Exit Codes

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

Becoming root with su

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

Other users with su

Time of First Successful Submission: 2026-04-06 03:57:02

Cracking passwords

Time of First Successful Submission: 2026-04-06 04:02:53

Using sudo

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

Changing File Ownership

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

Groups and Files

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

Fun With Groups Names

Time of First Successful Submission: 2026-04-07 16:18:55

Changing Permissions

Time of First Successful Submission: 2026-04-07 20:42:51

Executable Files

Time of First Successful Submission: 2026-04-07 20:43:31

Permission Tweaking Practice

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

Permissions Setting Practice

Time of First Successful Submission: 2026-04-08 04:43:20

The SUID Bit

Time of First Successful Submission: 2026-04-08 04:45:15

Chaining with Semicolons

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

Building on Success

Time of First Successful Submission: 2026-04-08 04:47:35

Handling Failure

Time of First Successful Submission: 2026-04-08 04:49:39

Your First Shell Script

Time of First Successful Submission: 2026-04-08 04:52:16

Redirecting Script Output

Time of First Successful Submission: 2026-04-08 04:57:23

Executable Shell Scripts

Time of First Successful Submission: 2026-04-08 05:00:24

Understanding Shebangs

Time of First Successful Submission: 2026-04-08 05:02:30

Scripting with Arguments

Time of First Successful Submission: 2026-04-08 05:04:52

Scripting with Conditionals

Time of First Successful Submission: 2026-04-08 05:13:22

Scripting with Default Cases

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

Scripting with Multiple Conditions

Time of First Successful Submission: 2026-04-08 05:19:42

Reading Shell Scripts

Time of First Successful Submission: 2026-04-08 05:20:38

Launching Screen

Time of First Successful Submission: 2026-04-08 05:24:37

Detaching and Attaching

Time of First Successful Submission: 2026-04-08 05:29:03

Finding Sessions

Time of First Successful Submission: 2026-04-08 05:34:02

Switching Windows

Time of First Successful Submission: 2026-04-08 05:36:35

Detaching and Attaching (tmux)

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

Switching Windows (tmux)

Time of First Successful Submission: 2026-04-08 05:39:12

The PATH Variable

Time of First Successful Submission: 2026-04-08 05:41:56

Setting PATH

Time of First Successful Submission: 2026-04-08 05:43:35

Finding Commands

Time of First Successful Submission: 2026-04-08 05:46:31

Adding Commands

Time of First Successful Submission: 2026-04-08 06:05:05

Hijacking Commands

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

Bashrc Backdoor

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

Sniffing Input

Time of First Successful Submission: 2026-04-08 07:42:59

Overshared Directories

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

Tricky Linking

Time of First Successful Submission: 2026-04-10 03:45:54

Sniffing Process Arguments

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

Snooping on Configurations

Time of First Successful Submission: 2026-04-10 03:55:42

The Fork Bomb

Time of First Successful Submission: 2026-04-10 04:04:35

Disk-Space Doomsday

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

rm -rf /

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

Life after rm -rf /

Time of First Successful Submission: 2026-04-10 04:27:57

Finding meaning after rm -rf /

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


Computing 101

36 / 94 10446 / 22127


Your First Register

Time of First Successful Submission: 2026-04-10 04:36:12

Your First Syscall

Time of First Successful Submission: 2026-04-10 04:39:59

Exit Codes

Time of First Successful Submission: 2026-04-10 04:46:28

Building Executables

Time of First Successful Submission: 2026-04-10 04:53:30

Moving Between Registers

Time of First Successful Submission: 2026-04-10 04:58:20

Loading From Memory

Time of First Successful Submission: 2026-04-10 05:14:19

More Loading Practice

Time of First Successful Submission: 2026-04-10 06:32:09

Dereferencing Pointers

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

Dereferencing Yourself

Time of First Successful Submission: 2026-04-10 06:55:37

Dereferencing with Offsets

Time of First Successful Submission: 2026-04-10 06:59:34

Stored Addresses

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

Double Dereference

Time of First Successful Submission: 2026-04-10 07:14:40

The Stack

Time of First Successful Submission: 2026-04-10 07:20:15

Stack Offsets

Time of First Successful Submission: 2026-04-12 05:43:18

Program Arguments on the Stack

Time of First Successful Submission: 2026-04-12 05:59:46

Popping From the Stack

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

Disassembling Programs

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

Tracing Syscalls

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

Starting GDB

Time of First Successful Submission: 2026-04-12 06:24:50

Quitting GDB

Time of First Successful Submission: 2026-04-12 06:26:46

Starting Programs in GDB

Time of First Successful Submission: 2026-04-12 06:29:13

Disassembling in GDB

Time of First Successful Submission: 2026-04-12 06:31:38

Stepping Through Instructions

Time of First Successful Submission: 2026-04-12 06:35:30

Reading Register Values

Time of First Successful Submission: 2026-04-12 06:39:05

Popping Stack Values

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

Examining Memory

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

Examining Stack Pointers

Time of First Successful Submission: 2026-04-12 06:50:47

Cooperative Debugging

Time of First Successful Submission: 2026-04-12 07:00:48

Writing Output

Time of First Successful Submission: 2026-04-12 19:16:00

Chaining Syscalls

Time of First Successful Submission: 2026-04-12 19:20:06

Writing Strings

Time of First Successful Submission: 2026-04-12 19:22:12

Reading Data

Time of First Successful Submission: 2026-04-12 19:38:54

Opening Files

Time of First Successful Submission: 2026-04-16 06:00:48

Hardcoding the Filename

Time of First Successful Submission: 2026-04-21 05:02:31

Comparing Values

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

Comparing Characters

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


GCA CTF

11 / 104 9233 / 45039


Using the Terminal

Time of First Successful Submission: 2026-04-03 02:25:47

Using the VSCode Workspace

Time of First Successful Submission: 2026-04-03 02:27:55

Using the GUI Desktop

Time of First Successful Submission: 2026-04-03 02:29:46

Pasting into the Desktop

Time of First Successful Submission: 2026-04-03 02:31:50

Connecting over SSH

Time of First Successful Submission: 2026-04-03 02:37:26

Restarting Challenges

Time of First Successful Submission: 2026-04-03 02:40:10

Challenge Programs

Time of First Successful Submission: 2026-04-03 02:42:54

The Flag File

Time of First Successful Submission: 2026-04-03 02:49:57

Using Privileged Mode

Time of First Successful Submission: 2026-04-03 02:54:05

Persistent Home Directories - One

Time of First Successful Submission: 2026-04-03 02:57:19

Persistent Home Directories - Two

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