tar
tem um comportamento diferente, dependendo de você executá-lo de uma pasta que não esteja no caminho atual (por exemplo, tar
algo em /usr/local/src/foo
, estando no seu diretório home /home/alice
), ele armazenará o caminho absoluto no arquivo tar. Se você estiver em alguma pasta no caminho (por exemplo, você deseja tar /usr/local/src/foo
enquanto estiver em /use/local/src
), ele usará caminhos relativos a partir do diretório src
.
Se você não deseja realmente alterar o diretório para o diretório raiz relativo desejado, use o -C
flag, que praticamente o faz dentro de tar
. Estes dois são equivalentes:
cd /path/to/the/folder; tar -cz *; cd $OLDPWD
tar -C /path/to/the/folder -cz /path/to/the/folder/
Caso você queira saber: $OLDPWD
contém a última pasta antes cd
ing.