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

1.1: What is Unix? From System to Shell

~20 min · Week 1 · No prerequisites

Unix history, the shell as command interpreter, absolute vs. relative paths, and hidden files. Your first time at the terminal prompt.


1.2: How Do I Navigate Files and Directories?

~18 min · Week 1 · Prereq: Lesson 1.1

pwd, ls, cd, mkdir, cp, mv — building and navigating directory structures. Wildcards and the ./.. shorthand.


1.3: How Do I Find Help in the Unix Manual?

~15 min · Week 1 · Prereq: Lessons 1.1, 1.2

Man pages, sections, searching with /, command history, and --help. The built-in documentation system you’ll use all quarter.


1.4: What are File Permissions and How Do I Change Them?

~20 min · Week 2 · Prereq: Lesson 1.2

Read, write, execute for user/group/other. Octal notation (755), chmod, chown, and why directory execute permission matters.


1.5: How Do Input/Output Redirection and Pipes Work?

~22 min · Week 2 · Prereq: Lessons 1.2, 1.3

stdin, stdout, stderr. Redirection with > and >>, piping with |, and chaining filters (grep, sort, wc, cut). The Unix philosophy in action.


1.6: How Do I Configure My Shell Environment?

~18 min · Week 2 · Prereq: Lessons 1.1, 1.3

Environment variables, $PATH, ~/.bashrc, aliases, and setting up your C development environment (CC, CFLAGS).


Related resources:

Next series: Series 2: C Foundations →