Existem muitas variações na sintaxe do comando tar
. O padrão GNU tar é ler o arquivo na entrada padrão e gravar o arquivo na saída padrão, mas muitas outras versões são padronizadas para um dispositivo de fita. Passe o sinalizador f
(com ou sem um traço - acho que as versões BSD também suportam) com o argumento -
para indicar stdin ou stdout.
Se você quiser usar um programa diferente de (de) compressão, não diga tar
para comprimir, e insira o (de) programa de compressão explicitamente.
Para renomear o arquivo, use a opção -s
, se a sua versão de tar
oferecer suporte a ele (é semelhante à opção -s
de pax
e à opção --transform
do GNU tar).
ssh root@remote 'cd /my/path && bsdtar cf - -s '/big_file\.txt$/hello.txt/' big_file.txt | pbzip2' | pbzip2 -d | tar xf -
Se você estiver copiando apenas um único arquivo, não há sentido em usar o tar, a menos que você deseje preservar metadados e queira usar um programa de compactação personalizado.
scp -C -p root@remote:/my/path/hello.txt big_file.txt