Il compito principale di un programma software è quello di prelevare un flusso di dati da una sorgente di input e redirigerlo verso un dispositivo di output.
Quando Linux Torvalds generò la primissima versione sperimentale del futuro sistema operativo Linux, creò un programma che acquisiva un flusso di dati dalla tastiera e lo redirigeva verso lo schermo o, a scelta, verso il modem di connessione alla rete telefonica, per inoltrare messaggi di posta elettronica1).
Il primo comando di bash che abbiamo imparato è il seguente:
> fileDiOutput.txt
In questa linea, il comando è l'operatore di pipe > che redirige un flusso di input 2) verso il file fileDiOuput.txt .
Abbiamo osservato che questa linea genera un nuovo file vuoto.
Successivamente, abbiamo usato il comando di redirezione dell'input per generare un file di dati, in questo modo:
echo "nuovo dato da inserire" >> fileDiOuput.txt