↑↓ move Enter open Esc close

TTY

The terminal device a process is attached to, or is not.

TTY (from "teletypewriter") is the kernel's name for a terminal device. Interactive programs check whether their output is a TTY to decide behavior: ls prints columns and colors to a terminal but one plain name per line into a pipe; many tools disable progress bars when not on a TTY.

Processes without a TTY: cron jobs, daemons, scripts run by CI: behave differently for exactly this reason. Type tty to see yours.

See it in practice

$ ls | cat

Notice ls prints one name per line here: it detected that stdout is a pipe, not a terminal, and changed format accordingly.

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.