Pipelines, redirecionamento e anexação a um arquivo


Quando você combina o redirecionamento a um pipeline, o shell configura todo o pipeline primeiro e depois redireciona a entrada/saída. Se você usar o redirecionamento de saída no meio de um pipeline, a saída irá para o arquivo e não para o próximo comando no pipeline.

No próximo exemplo, a saída do comando ls irá para o arquivo /tmp/saved-output e o comando less não exibirá nada no terminal.

[user@host ~]$ ls > /tmp/saved-output | less

O comando tee supera essa limitação. Em um pipeline, tee copia sua entrada padrão para a saída padrão e também redireciona a saída padrão para os arquivos fornecidos como argumentos do comando.

Se você imaginar os dados como água fluindo através de uma tubulação, o tee pode ser visualizado como uma junção “T” no tubo, que direciona a saída em duas direções.

Referências