Redirezione dell'output
Keywords: guide

Next: Redirezione dell'input Up: Standard Input e Standard Previous: Concetti di Unix

##
Redirezione dell'output

Una caratteristica importante di UNIX è la capacità di redirigere l'output. Questo vi permette, invece di vedere i risultati di un comando, di registrarli in un file o di mandarli direttamente alla stampante. Per esempio, per redirigere l'output del comando `ls /usr/bin`, metteremo un segno `>` alla fine della linea e diremo in quale file vogliamo che sia messo l'output:
78#78
Come potete vedere, invece di scrivere i nomi di tutti i file, il comando crea un nuovo file nella home directory; proviamo a vederlo con il comando `cat`. Se tornate indietro, ricorderete che `cat` era un comando apparentemente inutile che copiava quello che scrivevate (lo standard input) sul terminale (standard output). `cat` può anche stampare un file sullo standard output se gli date il file come parametro:
79#79
L'output esatto del comando `ls /usr/bin` appare nel contenuto di `lista`. Tutto bene, anche se questo non ha risolto il problema originale.6.3 Comunque, `cat` fa qualcosa di interessante quando il suo output viene rediretto. Cosa fa il comando `cat lista > nuovofile`? Normalmente, `> nuovofile` dice ``prendere tutto l'output del comando e metterlo in `nuovofile`''. L'output del comando `cat lista` è il file `lista`. In questo modo abbiamo inventato un metodo nuovo (e non molto efficiente) per copiare i file. E che dire del comando `cat > pippo`? `cat` da solo legge ogni linea inserita dal terminale (standard input) e stampa tutto nello standard output finché non legge 38#38. In questo caso, lo standard output è stato rediretto nel file `pippo`. Adesso `cat` è servito come un rudimentale editor (programma per scrittura testi):

> `/home/larry$ cat > pippo
> Oggi è una bella giornata.
> premete Ctrl-d`

Abbiamo creato quindi il file `pippo` che contiene la frase ``Oggi è una bella giornata''. Un altro uso del versatile comando `cat` è con catenare più file insieme: `cat` stampa tutti i file che gli vengono passati come parametro, un file dopo l'altro. Così il comando `cat lista pippo` stampa il listato della directory `/usr/bin`, e poi la nostra frase. In questo modo, il comando `cat lista pippo > listaepippo` creerà un nuovo file contenente sia `lista` sia `pippo`.

Next: Redirezione dell'input Up: Standard Input e Standard Previous: Concetti di Unix