Een pipe (|) verbindt twee commando's: de uitvoer van het eerste wordt de invoer van het tweede. Zo kun je complexe bewerkingen opbouwen uit kleine losse commando's.
ls -l | grep ".md" # filter ls-uitvoer op .md-bestanden
cat access.log | sort | uniq -c | sort -rn # meest voorkomende regels
ps aux | grep nginx # zoek nginx-processen
dmesg | tail -20 # laatste 20 kernelmeldingen
Elke stap in de keten verwerkt de data en geeft het resultaat door aan de volgende — zonder tussentijdse bestanden.
| Symbool | Van → naar | |
|---|---|---|
| Pipe | | | Commando → commando |
| Redirect | > / < | Commando → bestand / bestand → commando |
Een named pipe is een speciaal bestand dat twee processen laat communiceren, ook als ze niet in dezelfde opdrachtregel staan. Aanmaken met mkfifo.