Qual é o uso da saída binária no stdout?

3

Alguns programas imprimem sua saída binária diretamente em stdout . Aqui estão alguns exemplos:

tar -c file.png
dd  if=file.png

Bem, vejo que a saída pode ser redirecionada para um arquivo. Mas esses programas já aceitam nomes de arquivos de saída como argumentos. Portanto, os comandos a seguir fornecerão os mesmos resultados:

tar -c file.png  > file.tar
tar -c file.png -f file.tar

dd if=file.png  > copy.png
dd if=file.png of=copy.png

Para qual outra finalidade a saída binária de stdout pode ser usada?

    
por musa 13.09.2011 / 08:45

2 respostas

7

Para a criação de oleodutos , obviamente. A maior vantagem é que você pode evitar ter que criar arquivos temporários:

(para este exemplo, assuma uma versão antiga de tar , que não possui as opções de compactação -J ou -I .)

tar -c foo/*.png | xz -9 | uuencode "foo.tar.xz" | mail -s "Sending foo" musa
  • Agora imagine se você tivesse que usar -f e outras coisas ... você teria o VMS.

    tar -cf foo.tar foo/*.png
    xz -9 -o foo.tar.xz foo.tar
    uuencode -o foo.uue foo.tar.xz 
    mail -a foo.uue -s "Sending foo" musa
    rm foo.tar foo.tar.xz foo.uue
    

Você pode fazer pipelines na rede:

ssh storageserver "cd ~/foo && tar -c bar" | pv | tar -x

curl https://example.com/secret.gpg | ssh mylaptop "gpg --decrypt" > secret.zip

Mais exemplos:

curl http://i.imgur.com/L1aOt.jpg | display

E às vezes você nem precisa para canalizar em qualquer lugar, mesmo que a saída seja "binária". Tente isso em um Xterm:

curl http://www.dim13.org/tek/teapot.tek         # Utah teapot
    
por 13.09.2011 / 09:22
-2

As finalidades podem variar conforme o usuário. Um desenvolvedor pode usar essas informações para registro ou acompanhamento de progresso ou até mesmo tratamento de erros.

    
por 13.09.2011 / 08:49