Symlink temp2 em temp1 e, em seguida, diga ao tar para excluir a referência (siga) o symlink com a opção -h
ou --dereference
.
por exemplo,
cd temp1
ln -s ../temp2/ .
cd ..
tar cvz -h -f example.tar.gz ./temp1
rm -f temp1/temp2
Isso criará um arquivo tar com ./temp2
abaixo do diretório ./temp1
(por exemplo, ./temp1/temp2
)
Não me lembro se essa opção -h
é uma extensão do GNU ou não. Se você não estiver usando o GNU tar
, teste cuidadosamente antes de usar.
Se você se preocupa com o registro de data e hora da modificação de temp1, use touch -r
:
touch -r temp1 temp1-modtime
cd temp1
ln -s ../temp2/ .
cd ..
touch -r temp1-modtime temp1
tar cvz -h -f example.tar.gz ./temp1
rm -f temp1/temp2
touch -r temp1-modtime temp1
rm -f temp1-modtime