Primeiro, quando você usa a opção -f para tar , você precisa dar um argumento dizendo o nome do arquivo. Como você está alimentando a partir de um pipe de gunzip , usamos - para indicar a entrada padrão:
gunzip -c files_20100623.0110.tar.gz | tar -xvf - home/bsisplas/public_html/staging/template/*.*
Meu próximo ponto seria que você só precisa fornecer o nome do diretório. (Também: *.* é normalmente um DOS-ismo. Se você quer dizer "todos os arquivos" no Unix, escreva * . Se você escreve *.* você está dizendo "todos os arquivos com um ponto em algum lugar no nome" que poderia excluir arquivos importantes sem um ponto, como Makefile ou README ):
gunzip -c files_20100623.0110.tar.gz | tar -xvf - home/bsisplas/public_html/staging/template
Isso deve funcionar. Mas você pode tornar as coisas um pouco mais fáceis usando a opção tar , que diz para fazer o -z em si. Usamos isso e substituímos o nome do arquivo gunzip input pelo nome do arquivo:
tar -xvzf files_20100623.0110.tar.gz home/bsisplas/public_html/staging/template
Como isso funciona?