O que são os pipes no terminal Linux

Como ligar a saída de um comando à entrada de outro sem ficheiros intermédios.

Intermédio 1 min de leitura Publicado em 2026 Por Equipo SolucionaPC

Um pipe (|) liga a saída de um comando diretamente à entrada de outro — sem guardar nada num ficheiro intermédio.

Exemplo simples

ls -l | grep ".txt"

ls -l lista os ficheiros; em vez de os mostrar todos no ecrã, essa lista é "canalizada" para o grep, que filtra só as linhas que contenham ".txt". O resultado final é só o que lhe interessa, não tudo o intermédio.

Encadear vários pipes

cat ficheiro.log | grep "erro" | wc -l

Mostra o conteúdo de um ficheiro, filtra só as linhas com "erro", e conta quantas há no total — três passos encadeados numa única linha, sem ficheiros temporários.

Dica: pense em cada pipe como uma correia transportadora entre duas máquinas — o que sai de uma entra diretamente na seguinte, sem ter de passar por um tabuleiro intermédio (um ficheiro guardado).

Diferença em relação ao redirecionamento (>)

O pipe (|) liga um comando com OUTRO comando. O redirecionamento (>) guarda a saída de um comando num FICHEIRO. São conceitos relacionados mas distintos — fácil de confundir ao início.

Perguntas frequentes

Posso encadear mais de dois comandos com pipes?

Sim, não há um limite prático — pode encadear tantos comandos quantos precisar, cada um a processar a saída do anterior.

Um pipe é o mesmo que guardar a saída num ficheiro?

Não, são conceitos distintos. O pipe (|) liga um comando com outro diretamente; o redirecionamento (>) guarda a saída num ficheiro no disco.

Partilhar: