Cosa sono le pipe nel terminale Linux

Come collegare l'output di un comando con l'input di un altro senza file intermedi.

Intermedio 1 min di lettura Pubblicato il 2026 Di Equipo SolucionaPC

Una pipe (|) collega l'output di un comando direttamente con l'input di un altro — senza salvare nulla in un file intermedio.

Esempio semplice

ls -l | grep ".txt"

ls -l elenca i file; invece di mostrarli tutti a schermo, quell'elenco viene "incanalato" verso grep, che filtra solo le righe contenenti ".txt". Il risultato finale è solo ciò che ti interessa, non tutto il passaggio intermedio.

Concatenare più pipe

cat file.log | grep "errore" | wc -l

Mostra il contenuto di un file, filtra solo le righe con "errore", e conta quante ce ne sono in totale — tre passaggi concatenati in una sola riga, senza file temporanei.

Consiglio: pensa a ogni pipe come a un nastro trasportatore tra due macchine — ciò che esce dall'una entra direttamente nella successiva, senza dover passare per un vassoio intermedio (un file salvato).

Differenza con la redirezione (>)

La pipe (|) collega un comando con UN ALTRO comando. La redirezione (>) salva l'output di un comando in un FILE. Sono concetti collegati ma distinti — facile confonderli all'inizio.

Domande frequenti

Posso concatenare più di due comandi con le pipe?

Sì, non c'è un limite pratico — puoi concatenare tutti i comandi che ti servono, ognuno che elabora l'output del precedente.

Una pipe è lo stesso che salvare l'output in un file?

No, sono concetti distinti. La pipe (|) collega un comando con un altro direttamente; la redirezione (>) salva l'output in un file sul disco.

Condividi: