Quando usiamo un programma testuale gli forniamo dati tramite la tastiera e riceviamo risposte tramite il video
Naturalmente un'altro modo per fornire dati ad un programma è quello di indicarli dopo il nome del programma sulla riga di comando, in forma di parametri
I sistemi Unix (di cui Linux fa parte) sono stati concepiti per consentire agli utenti di combinare più programmi per ottenere risultati diversi
L'utente può quindi decidere di sostituire la tastiera con un file o con un'altro programma per inviare dati ad un programma
Altrettanto l'utente può decidere di registrare in un file i dati che un programma generalmente visualizza sul video oppure inviarli ad un altro programma