Cat (Unix)
# Cat (Unix)

cat è un comando dei sistemi operativi Unix e Unix-like, e più in generale dei sistemi POSIX e GNU, che legge i file che gli sono specificati come parametri (o lo standard input) e produce sullo standard output la concatenazione del loro contenuto. Il termine "cat" può facilmente essere ricordato attraverso la parola "concatenazione", ma anche in maniera più semplice dal verbo «to cater», che in inglese significa «fornire».

Può anche essere usato per visualizzare il contenuto di brevi file di testo, anche se allo scopo sono più adeguati programmi come more e less.

cat è anche usato come primo comando in una pipeline software per fornire i dati all'intera pipeline a partire da uno o più file, ad esempio con "cat lista.txt | sort | uniq"; tuttavia, se vi è un unico file di dati di partenza, cat è tecnicamente ridondante visto che lo stesso effetto si può ottenere usando la redirezione (ad es. "sort < lista.txt | uniq"). In questo caso si parla di useless use of cat (utilizzo inutile di cat) per il quale è stato scherzosamente istituito un apposito premio.

## Sintassi

La sintassi generale di cat è la seguente:

I parametri file specificano la sequenza dei nomi dei file da concatenare. Se non è specificato alcun file, cat legge i dati dallo standard input.

Il doppio trattino -- (facoltativo) indica che i parametri successivi non sono da considerarsi opzioni.

L'unica opzione di rilievo è -u, che istruisce cat a scrivere immediatamente i dati letti senza attese.

## Esempi

Visualizza sullo standard output il contenuto di file.txt:

Concatena file1.txt e file2.txt e mostra il risultato sullo standard output:

Concatena file1.txt e file2.txt e scrive il risultato nel file risultato.txt usando la redirezione:

