Recebi um arquivo .tar.gz enorme de um cliente que contém cerca de 800 mb de arquivos de imagem (quando não compactado.) O ftp da empresa de hospedagem é muito lento, portanto, extrair todos os arquivos localmente e enviá-los via ftp não é prático. Consegui enviar o arquivo .tar.gz ao nosso site de hospedagem, mas quando ssh no meu diretório e tento usar o descompactação, ocorre o seguinte erro:
[esthers@clients locations]$ unzip community_images.tar.gz
Archive: community_images.tar.gz
End-of-central-directory signature not found. Either this file is not a zipfile, or it constitutes one disk of a multi-part archive. In the latter case the central directory and zipfile comment will be found on the last disk(s) of this archive.
note: community_images.tar.gz may be a plain executable, not an archive
unzip: cannot find zipfile directory in one of community_images.tar.gz or community_images.tar.gz.zip, and cannot find community_images.tar.gz.ZIP, period.
Qual comando eu preciso usar para extrair todos os arquivos em um arquivo .tar.gz?
tar -xf
sugestão seria fazer uma grande resposta adicional.man tar
; procure a-C
opção. Ou talvez confira a outra resposta 😉Se você deseja que os arquivos sejam extraídos para um destino específico, você pode adicionar Certifique-se de criar o diretório primeiro, neste caso: ~ / Pictures / Community
-C /destination/path/
Exemplo:
Você pode facilmente memorizar se você considerar dizendo tar a e X trato um F ile
Nota: Lembre - se de que você pode procurar dentro das páginas do manual com
?
+ termo para procurar e, em seguida,n
eN
ir para a instância seguinte ou anterior do termo que você está procurando.fonte
ps
).--directory="/home/emmys/Pictures/Community/"
(o que eu acho mais fácil lembrar do que-C
).Em algum momento
tar
foi atualizado para descompactar automaticamente. Tudo que você precisa agora é:A mesma explicação se aplica:
f
: Esta deve ser a última bandeira do comando, eo tar f ile deve ser imediatamente depois. Diz ao tar o nome e o caminho do arquivo compactado.x
: x remova os arquivos.Observe a falta de hífen para os sinalizadores de comando. Isso ocorre porque a maioria das versões do tar permite opções de estilo gnu e bsd (simplisticamente, o gnu requer um hífen, o bsd não).
fonte
Lembrar todas as bandeiras de
tar
pode ser entediante. XKCD obrigatório:Portanto, eu criei meu próprio pequeno script em Python para fazer isso. Rápido, sujo,
cp
como no uso:Use-o assim:
Consulte também script semelhante para descompactar arquivos zip .
fonte
-caf
para criar com base no nome do arquivo e-xf
para extrair (o AFAIK funciona em todos os tipos de tar).tar xf <file>
?Resposta rápida:
[ NOTA ]:
-v
Listar verbalmente os arquivos processados.-z
Filtre o arquivo morto pelo gzip.-f
Use o arquivo ou dispositivo de arquivo ARQUIVO.-x
Extrair arquivos de um arquivo.-j
bzip2.-xf
archive.tar # Extrai todos os arquivos dearchive.tar
.fonte
Caso você não consiga extrair o
.tar.gz
arquivo usandoTente extrair usando
fonte
Você também pode fazer isso na primeira etapa:
Então você tem o arquivo: community_images.tar
O segundo passo seria:
E o arquivo * .tar seria extraído.
fonte
tar xvf file.tar.gz
Qualquer versão remotamente moderna do tar deve detectar automaticamente que o arquivo compactado foi compactado com gzip e adicionar "z" para você.
fonte