2>&1 >output.log significa primeiro iniciar enviando todo o arquivo manipular 2 coisas (erro padrão) para o identificador de arquivo 1 (saída padrão) então envia para o arquivo output.log . Em outras palavras, envie um erro padrão e uma saída padrão para o arquivo de log.
2>&1 | tee output.log é o mesmo com o 2>&1 bit, combina saída padrão e erro padrão no fluxo de saída padrão. Em seguida, ele canaliza isso por meio do programa tee , que enviará sua entrada padrão para sua saída padrão (como cat ) e também para o arquivo. Por isso, combina os dois fluxos (erro e saída) e, em seguida, envia isso para o terminal e o arquivo.
A linha inferior é que o primeiro envia stderr / stdout para o arquivo, enquanto o segundo envia para ambos o arquivo e saída padrão (que é provavelmente o terminal, a menos que você esteja dentro de outra construção que redirecionou a saída padrão).
Eu menciono essa última possibilidade porque você pode ter coisas como:
(echo hello | tee xyzzy.txt) >plugh.txt
onde nada acaba no terminal.