dhlinc

🐧

Intro to Programming Languages

15 / 234 9820 / 34762


Commands

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

Command Arguments

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

Command History

Time of First Successful Submission: 2026-04-04 12:32:42

The Root Path

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

Absolute Paths

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

Changing position

Time of First Successful Submission: 2026-04-04 12:38:21

Changing to an Absolute Path

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

Relative Paths

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

Cat

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

Ls

Time of First Successful Submission: 2026-04-05 00:33:33

Ls All

Time of First Successful Submission: 2026-04-05 00:51:42

Find

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

Piping Echo

Time of First Successful Submission: 2026-04-10 13:53:46

Piping Stdout

Time of First Successful Submission: 2026-04-10 13:55:41

Piping Stdin

Time of First Successful Submission: 2026-04-10 14:17:34


Start Here

3 / 12 39813 / 47166


Using the Terminal

Time of First Successful Submission: 2026-02-23 23:13:22

Restarting Challenges

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


Linux Luminarium

128 / 128 2986 / 35235


Intro to Commands

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

Intro to Arguments

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

Command History

Time of First Successful Submission: 2026-04-04 12:32:42

The Root

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

Program and absolute paths

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

Position thy self

Time of First Successful Submission: 2026-04-04 12:38:21

Position elsewhere

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

implicit relative paths, from /

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

explicit relative paths, from /

Time of First Successful Submission: 2026-04-04 12:52:26

implicit relative path

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

home sweet home

Time of First Successful Submission: 2026-04-04 12:58:39

cat: not the pet, but the command!

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

catting absolute paths

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

more catting practice

Time of First Successful Submission: 2026-04-05 00:27:07

grepping for a needle in a haystack

Time of First Successful Submission: 2026-04-05 00:28:29

comparing files

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

listing files

Time of First Successful Submission: 2026-04-05 00:33:33

touching files

Time of First Successful Submission: 2026-04-05 00:35:20

removing files

Time of First Successful Submission: 2026-04-05 00:37:54

moving files

Time of First Successful Submission: 2026-04-05 00:49:23

copying files

Time of First Successful Submission: 2026-04-05 00:50:43

hidden files

Time of First Successful Submission: 2026-04-05 00:51:42

An Epic Filesystem Quest

Time of First Successful Submission: 2026-04-05 00:55:51

making directories

Time of First Successful Submission: 2026-04-05 01:01:12

finding files

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

linking files

Time of First Successful Submission: 2026-04-05 01:13:43

Learning From Documentation

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

Learning Complex Usage

Time of First Successful Submission: 2026-04-07 04:15:56

Reading Manuals

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

Searching Manuals

Time of First Successful Submission: 2026-04-07 04:27:15

Searching For Manuals

Time of First Successful Submission: 2026-04-08 11:45:34

Helpful Programs

Time of First Successful Submission: 2026-04-08 11:51:15

Help for Builtins

Time of First Successful Submission: 2026-04-08 11:52:33

Matching with *

Time of First Successful Submission: 2026-04-09 04:01:18

Matching with ?

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

Matching with []

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

Matching paths with []

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

Multiple globs

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

Mixing globs

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

Exclusionary globbing

Time of First Successful Submission: 2026-04-09 04:27:11

Tab completion

Time of First Successful Submission: 2026-04-09 04:28:48

Multiple options for tab completion

Time of First Successful Submission: 2026-04-09 04:30:35

Tab completion on commands

Time of First Successful Submission: 2026-04-09 04:31:17

Redirecting output

Time of First Successful Submission: 2026-04-10 13:53:46

Redirecting more output

Time of First Successful Submission: 2026-04-10 13:55:41

Appending output

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

Redirecting errors

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

Redirecting input

Time of First Successful Submission: 2026-04-10 14:17:34

Grepping stored results

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

Grepping live output

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

Grepping errors

Time of First Successful Submission: 2026-04-10 14:22:22

Filtering with grep -v

Time of First Successful Submission: 2026-04-10 14:24:47

Filtering with sed

Time of First Successful Submission: 2026-04-10 14:26:58

Duplicating piped data with tee

Time of First Successful Submission: 2026-04-10 14:53:21

Process substitution for input

Time of First Successful Submission: 2026-04-10 15:01:56

Writing to multiple programs

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

Split-piping stderr and stdout

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

Named pipes

Time of First Successful Submission: 2026-04-10 15:22:38

Printing Variables

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

Setting Variables

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

Multi-word Variables

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

Exporting Variables

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

Printing Exported Variables

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

Storing Command Output

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

Reading Input

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

Reading Files

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

Translating characters

Time of First Successful Submission: 2026-04-24 13:27:50

Deleting characters

Time of First Successful Submission: 2026-04-24 13:29:18

Deleting newlines

Time of First Successful Submission: 2026-04-24 13:31:32

Extracting the first lines with head

Time of First Successful Submission: 2026-04-24 13:36:41

Extracting specific sections of text

Time of First Successful Submission: 2026-04-24 13:51:22

Sorting data

Time of First Successful Submission: 2026-04-24 13:54:40

Listing Processes

Time of First Successful Submission: 2026-04-25 11:45:47

Killing Processes

Time of First Successful Submission: 2026-04-28 13:06:32

Interrupting Processes

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

Killing Misbehaving Processes

Time of First Successful Submission: 2026-04-28 13:21:37

Suspending Processes

Time of First Successful Submission: 2026-04-28 13:23:56

Resuming Processes

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

Backgrounding Processes

Time of First Successful Submission: 2026-04-28 13:34:55

Foregrounding Processes

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

Starting Backgrounded Processes

Time of First Successful Submission: 2026-04-28 13:39:38

Process Exit Codes

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

Becoming root with su

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

Other users with su

Time of First Successful Submission: 2026-04-29 13:11:20

Cracking passwords

Time of First Successful Submission: 2026-04-29 13:25:04

Using sudo

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

Changing File Ownership

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

Groups and Files

Time of First Successful Submission: 2026-04-30 14:01:45

Fun With Groups Names

Time of First Successful Submission: 2026-04-30 14:03:41

Changing Permissions

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

Executable Files

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

Permission Tweaking Practice

Time of First Successful Submission: 2026-04-30 14:17:35

Permissions Setting Practice

Time of First Successful Submission: 2026-04-30 14:23:14

The SUID Bit

Time of First Successful Submission: 2026-04-30 14:26:17

Chaining with Semicolons

Time of First Successful Submission: 2026-04-30 23:01:01

Building on Success

Time of First Successful Submission: 2026-04-30 23:14:26

Handling Failure

Time of First Successful Submission: 2026-05-01 13:05:01

Your First Shell Script

Time of First Successful Submission: 2026-05-01 13:08:24

Redirecting Script Output

Time of First Successful Submission: 2026-05-01 13:28:27

Executable Shell Scripts

Time of First Successful Submission: 2026-05-01 13:30:52

Understanding Shebangs

Time of First Successful Submission: 2026-05-01 13:34:29

Scripting with Arguments

Time of First Successful Submission: 2026-05-01 13:36:29

Scripting with Conditionals

Time of First Successful Submission: 2026-05-01 13:44:43

Scripting with Default Cases

Time of First Successful Submission: 2026-05-01 13:47:49

Scripting with Multiple Conditions

Time of First Successful Submission: 2026-05-01 13:50:40

Reading Shell Scripts

Time of First Successful Submission: 2026-05-01 13:55:29

Launching Screen

Time of First Successful Submission: 2026-05-02 02:40:18

Detaching and Attaching

Time of First Successful Submission: 2026-05-02 02:45:17

Finding Sessions

Time of First Successful Submission: 2026-05-02 02:48:38

Switching Windows

Time of First Successful Submission: 2026-05-02 02:54:11

Detaching and Attaching (tmux)

Time of First Successful Submission: 2026-05-02 02:56:36

Switching Windows (tmux)

Time of First Successful Submission: 2026-05-02 02:58:09

The PATH Variable

Time of First Successful Submission: 2026-05-02 03:39:39

Setting PATH

Time of First Successful Submission: 2026-05-02 03:48:09

Finding Commands

Time of First Successful Submission: 2026-05-02 03:49:29

Adding Commands

Time of First Successful Submission: 2026-05-02 03:53:17

Hijacking Commands

Time of First Successful Submission: 2026-05-02 11:09:02

Bashrc Backdoor

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

Sniffing Input

Time of First Successful Submission: 2026-05-06 07:33:50

Overshared Directories

Time of First Successful Submission: 2026-05-06 11:56:49

Tricky Linking

Time of First Successful Submission: 2026-05-06 12:05:49

Sniffing Process Arguments

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

Snooping on Configurations

Time of First Successful Submission: 2026-05-06 12:11:53

The Fork Bomb

Time of First Successful Submission: 2026-05-06 12:36:20

Disk-Space Doomsday

Time of First Successful Submission: 2026-05-06 12:42:41

rm -rf /

Time of First Successful Submission: 2026-05-06 12:45:15

Life after rm -rf /

Time of First Successful Submission: 2026-05-06 12:52:27

Finding meaning after rm -rf /

Time of First Successful Submission: 2026-05-06 12:57:17


Computing 101

75 / 126 1352 / 22844


Your First Register

Time of First Successful Submission: 2026-05-07 06:30:24

Your First Syscall

Time of First Successful Submission: 2026-05-07 06:33:14

Exit Codes

Time of First Successful Submission: 2026-05-07 06:34:59

Building Executables

Time of First Successful Submission: 2026-05-07 06:45:00

Moving Between Registers

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

Loading From Memory

Time of First Successful Submission: 2026-05-08 12:24:13

More Loading Practice

Time of First Successful Submission: 2026-05-08 12:27:30

Dereferencing Pointers

Time of First Successful Submission: 2026-05-08 12:37:35

Dereferencing Yourself

Time of First Successful Submission: 2026-05-08 12:41:36

Dereferencing with Offsets

Time of First Successful Submission: 2026-05-08 12:44:27

Stored Addresses

Time of First Successful Submission: 2026-05-08 12:49:19

Double Dereference

Time of First Successful Submission: 2026-05-08 12:57:30

The Stack

Time of First Successful Submission: 2026-05-09 11:40:32

Stack Offsets

Time of First Successful Submission: 2026-05-09 11:48:03

Program Arguments on the Stack

Time of First Successful Submission: 2026-05-09 11:52:50

Popping From the Stack

Time of First Successful Submission: 2026-05-09 11:56:19

Disassembling Programs

Time of First Successful Submission: 2026-05-09 12:19:35

Tracing Syscalls

Time of First Successful Submission: 2026-05-09 12:22:30

Starting GDB

Time of First Successful Submission: 2026-05-09 12:24:25

Quitting GDB

Time of First Successful Submission: 2026-05-09 12:27:07

Starting Programs in GDB

Time of First Successful Submission: 2026-05-09 12:29:15

Disassembling in GDB

Time of First Successful Submission: 2026-05-09 12:40:00

Stepping Through Instructions

Time of First Successful Submission: 2026-05-09 12:47:05

Reading Register Values

Time of First Successful Submission: 2026-05-09 12:54:37

Popping Stack Values

Time of First Successful Submission: 2026-05-09 13:07:24

Examining Memory

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

Examining Stack Pointers

Time of First Successful Submission: 2026-05-09 13:17:02

Cooperative Debugging

Time of First Successful Submission: 2026-05-09 13:26:06

Writing Output

Time of First Successful Submission: 2026-05-09 23:13:44

Chaining Syscalls

Time of First Successful Submission: 2026-05-09 23:15:51

Writing Strings

Time of First Successful Submission: 2026-05-09 23:18:02

Reading Data

Time of First Successful Submission: 2026-05-09 23:53:14

Opening Files

Time of First Successful Submission: 2026-05-10 00:08:07

Hardcoding the Filename

Time of First Successful Submission: 2026-05-10 00:20:13

Comparing Values

Time of First Successful Submission: 2026-05-11 03:39:25

Comparing Characters

Time of First Successful Submission: 2026-05-11 03:43:59

Conditional Control Flow

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

Comparing Strings

Time of First Successful Submission: 2026-05-11 03:56:30

Reverse the Password

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

Conditionals Without Conditionals

Time of First Successful Submission: 2026-05-11 04:47:24

Looping

Time of First Successful Submission: 2026-05-11 04:50:52

Reverse the Calculation

Time of First Successful Submission: 2026-05-11 14:11:13

Reverse the Reverse

Time of First Successful Submission: 2026-05-11 14:16:10

Dealing with Bitwise Operations

Time of First Successful Submission: 2026-05-11 14:29:12

Loops on Data

Time of First Successful Submission: 2026-05-11 14:33:03

set-register

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

set-multiple-registers

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

add-to-register

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

linear-equation-registers

Time of First Successful Submission: 2026-05-12 03:59:34

integer-division

Time of First Successful Submission: 2026-05-12 04:15:00

modulo-operation

Time of First Successful Submission: 2026-05-12 04:26:17

set-upper-byte

Time of First Successful Submission: 2026-05-12 13:23:02

efficient-modulo

Time of First Successful Submission: 2026-05-12 14:09:11

byte-extraction

Time of First Successful Submission: 2026-05-12 14:39:05

bitwise-and

Time of First Successful Submission: 2026-05-12 14:44:57

check-even

Time of First Successful Submission: 2026-05-13 13:54:47

memory-read

Time of First Successful Submission: 2026-05-13 13:58:03

memory-write

Time of First Successful Submission: 2026-05-15 13:43:32

memory-increment

Time of First Successful Submission: 2026-05-15 13:50:28

byte-access

Time of First Successful Submission: 2026-05-15 13:55:40

memory-size-access

Time of First Successful Submission: 2026-05-15 14:12:36

little-endian-write

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

memory-sum

Time of First Successful Submission: 2026-05-16 12:06:32

stack-subtraction

Time of First Successful Submission: 2026-05-16 12:14:26

swap-stack-values

Time of First Successful Submission: 2026-05-16 12:18:59

average-stack-values

Time of First Successful Submission: 2026-05-16 12:29:32

absolute-jump

Time of First Successful Submission: 2026-05-16 12:37:28

relative-jump

Time of First Successful Submission: 2026-05-16 13:21:43

jump-trampoline

Time of First Successful Submission: 2026-05-16 13:25:50

conditional-jump

Time of First Successful Submission: 2026-05-16 14:08:58

indirect-jump

Time of First Successful Submission: 2026-05-18 13:52:06

average-loop

Time of First Successful Submission: 2026-05-19 13:31:05

count-non-zero

Time of First Successful Submission: 2026-05-27 13:56:10

string-lower

Time of First Successful Submission: 2026-05-30 09:35:47

most-common-byte

Time of First Successful Submission: 2026-06-04 14:11:12


DSU Cyber Camps

3 / 104 40222 / 47461


Using the Terminal

Time of First Successful Submission: 2026-02-23 23:13:22

Connecting over SSH

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

Restarting Challenges

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


GCA CTF

3 / 104 40222 / 47461


Using the Terminal

Time of First Successful Submission: 2026-02-23 23:13:22

Connecting over SSH

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

Restarting Challenges

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