Compactando uma pasta (tar) sem seu diretório contendo no nome da pasta

14

Estou tentando compactar uma pasta com o comando tar .

Quando estou tentando compactá-lo, tudo funciona bem. O problema está no nome do arquivo.

Caminho de origem:

/data/file/

Caminho de destino:

/data/repo/temp/file.tar.gz

tar zcvf $srcpath $destinationpath

Estou executando o comando de uma pasta diferente e, ao extrair a pasta, estou obtendo todos os subdiretórios em vez da pasta de arquivos.

    
por Seetha Raman 24.11.2014 / 11:34

1 resposta

38

A maneira mais fácil de fazer isso é acessar primeiro o diretório:

cd /path/to/containing/folder && tar -zcvf tarfile.tar.gz foldername_tocompress

Para que o diretório da pasta (que contém) se torne o diretório raiz do arquivo compactado.

Um pouco mais avançado está usando a opção -C:

tar -zcvf tarfile.tar.gz -C /path/to/foldername_tocompress .

Isso cria um arquivo tar.gz no diretório atual (em funcionamento), contendo todos os arquivos / pastas dentro de foldername_tocompress (lembre-se do ponto, dizendo que todos os arquivos / pastas devem ser incluídos).

    
por Jacob Vlijm 24.11.2014 / 13:56