Extrair uma determinada pasta de um tarball - como posso dizer onde colocar o arquivo depois de extraído?

0

Eu olhei em torno de várias fontes para essa pergunta e sei como extrair o arquivo, mas nenhuma das fontes me disse como declarar onde colocar a pasta depois de extraído.

Eu tentei isso:

tar -xvf tarball.tar.gz my/folder/im/extracting

Quando fiz isso, pareci extraí-lo da forma como foi listado, mas também seguido do erro:

gzip: stdin: unexpected end of file tar: Unexpected EOF in archive tar: Error is not recoverable: exiting now

Eu verifiquei o diretório atual, mas não vi a pasta.

Como isso pode ser feito ou o erro impede a criação dele no diretório atual?

    
por Brett 02.04.2016 / 16:05

2 respostas

3
tar -xvf tarball.tar.gz my/folder/im/extracting

Isso extrai o membro do arquivo my/folder/im/extracting no local my/folder/im/extracting . Se o membro do arquivo for um diretório, seu conteúdo será extraído (incluindo subdiretórios, recursivamente).

Se você quiser extrair para um diretório diferente, com GNU ou FreeBSD tar (assim como no Linux não integrado, Cygwin, FreeBSD e OSX), você pode usar

tar -xvf tarball.tar.gz --transform '!my/folder/im/extracting!somewhere/else!' my/folder/im/extracting

Se você quiser colocar my em um diretório diferente (existente), você pode usar

tar -xvf tarball.tar.gz -C different/directory my/folder/im/extracting

O erro "gzip: stdin: fim inesperado do arquivo" não tem nada a ver com o modo como você está usando o tar. “Fim inesperado do arquivo” significa que o gzip chegou ao final do arquivo, mas o formato do arquivo indica que deveria haver mais dados. Em outras palavras, o arquivo foi truncado, por exemplo, porque seu download foi interrompido.

    
por 03.04.2016 / 01:15
1

Você pode usar a opção -C de tar para especificar um diretório de destino para os arquivos extraídos. Mas esse diretório de destino deve ser criado antecipadamente. tar não irá criá-lo para você.

Portanto, seus comandos devem ser parecidos com ...

mkdir -p my/folder/im/extracting
tar -xvf tarball.tar.gz -C my/folder/im/extracting
    
por 02.04.2016 / 16:10