Series 1: Unix Foundations
Before you write a single line of C, you need to be comfortable in the Unix shell. This series takes you from your first terminal session to piping commands together like a pro.
Lessons
Week 1: Unix Fundamentals
Unix History & the Shell
Where Unix came from, the three principles, and your first look at the terminal.
File System & Paths
Absolute vs. relative paths, directory structure, and navigation.
Files & Directories
pwd, ls, cd, mkdir, cp, mv, rm — creating and manipulating files.
Wildcards & Viewing
Hidden files, wildcards (*, ?, []), and viewing file contents.
Week 2: Permissions & Shell
Man Pages
Man pages, sections, --help, and command history. The built-in documentation system you’ll use all quarter.
File Permissions
Read, write, execute for user/group/other. Octal notation (755), chmod, chown, and why directory execute permission matters.
Redirection & Pipes
stdin, stdout, stderr. Redirection with > and >>, piping with |, and chaining filters. The Unix philosophy in action.
Shell Environment
Environment variables, $PATH, ~/.bashrc, aliases, and setting up your C development environment.
Shell Expansion & Quoting
Glob patterns, brace expansion, command substitution, and quoting rules.
Related resources:
- C vs Java Cheat Sheet — side-by-side reference for Java programmers
- CTF Challenges — weekly security challenges tied to what you learn each week
Next series: Series 2: C Foundations →