In UNIX, i dati prodotti da un comando sono detti standard output e quelli forniti al comando sono detti standard input. Questi flussi di dati in generale sono associati così:
standard input | tastiera |
---|---|
standard output | video |
Si possono associare input e output a file normali con la seguente sintassi
comando > file | esegui comando e dirigi output su file |
comando < file | esegui comando prendendo input da file |
comando1 | comando2 | l'output di comando1 diventa input di comando2 |
comando » file | aggiungi output di comando in coda a file |
Esempio:
date | stampa la data e l'ora |
date > a.000 | mette il risultato nel file a.000 |
wc -w < a.000 | conta le parole nel file a.000 |
Gli ultimi due comandi possono essere combinati in una pipeline, senza passare attraverso il file a.000:
date | wc -w | conta le parole nell'output di date |
Nota: una pipeline può essere costituita da più di due comandi in fila:
comando1 | comando2 | ... | comando99e si può ridirigere l'input del primo comando e l'output dell'ultimo:
comando1 < file1 | comando2 | ... | comando99 > file99