↑↓ move Enter open Esc close

Pipe (|)

Connects one program's output to the next one's input.

A pipe wires stdout of one process to stdin of the next through a kernel buffer. Both processes run at the same time and data flows as it is produced: nothing is written to disk.

This is the central idea of Unix: small specialized tools composed into pipelines that do what none could alone. Read them left to right as assembly lines: producers (cat, find, ps), filters (grep, sed, awk, sort), consumers (head, wc, tee).

See it in practice

$ ps aux | grep nginx | wc -l

Three processes running at once: one produces, one filters, one counts. No temporary file is ever created.

Where you'll meet it

Learn these concepts by typing them: the interactive course builds them up lesson by lesson in a real simulated shell.