Outra maneira é utilizar o argumento de linha de comando -C
, como a seguir:
tar czvf filename.tar.gz -C foldername .
Observe o .
final, que informa tar
para incluir "este diretório" depois de ter cd
-ed em foldername
em virtude do argumento -C foldername
.
Você acaba com nomes no arquivo tar começando com ./
em vez de foldername/
e, assim, descompactam no diretório de trabalho atual.
Se, por outro lado, você tiver um arquivo tar com nomes como foldername/X
e quiser descompactá-lo sem o primeiro componente de diretório, o argumento --strip-components=1
será seu amigo. Assim, o comando untar pode ser:
tar xzf filename.tar.gz --strip-components=1
Por esse argumento, o primeiro componente de diretório de todos os nomes de caminho é "eliminado" durante o desarquivamento. Confira man tar
para todos os detalhes.