Qual comando eu preciso descompactar / extrair um arquivo .tar.gz?

650

Recebi um enorme arquivo .tar.gz de um cliente que contém cerca de 800 mb de arquivos de imagem (quando descompactado). O ftp da nossa empresa de hospedagem está seriamente lento, então extrair todos os arquivos localmente e enviá-los via ftp isn ' t prático. Consegui fazer o ftp do arquivo .tar.gz para o nosso site de hospedagem, mas quando eu ssh no meu diretório e tentei usar o unzip, isso me deu este 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?

    
por EmmyS 08.02.2011 / 22:50

7 respostas

1094

Digite man tar para mais informações, mas esse comando deve funcionar:

tar -xvzf community_images.tar.gz

Para explicar um pouco mais, o tar coletou todos os arquivos em um pacote, community_images.tar . O programa gzip aplicou compressão, daí a extensão gz. Então o comando faz algumas coisas:

  • f : este deve ser o último sinalizador do comando, e o tar f deve ser imediatamente depois. Diz ao tar o nome e o caminho do arquivo compactado.
  • z : diz ao tar para descompactar o arquivo usando g z ip
  • x : tar pode coletar arquivos ou e x incluí-los. x faz o último.
  • v : torna o tar muito falado. A saída V erbose mostra todos os arquivos que estão sendo extraídos.
por djeikyb 08.02.2011 / 22:57
138

Se você quiser que os arquivos sejam extraídos para um destino específico, adicione -C /destination/path/ ao Certifique-se de criar o diretório primeiro, neste caso: ~ / Pictures / Community

Exemplo:

mkdir ~/Pictures/Community
tar xf community_images.tar.gz -C /home/emmys/Pictures/Community/

Você pode memorizá-lo facilmente se considerar dizer tar ao trecho X a F ile

Observação: lembre-se de que você pode pesquisar em man pages com ? + termo para procurar e, em seguida, n e N para ir para a instância seguinte ou anterior do termo estão procurando.

    
por JorgeArtware 20.08.2014 / 11:02
91

Em algum momento tar foi atualizado para auto-descomprimir. Tudo que você precisa agora é:

tar xf community_images.tar.gz

A mesma explicação se aplica:

  • f : este deve ser o último sinalizador do comando, e o tar f deve ser imediatamente depois. Diz ao tar o nome e o caminho do arquivo compactado.
  • x : e x traria os arquivos.

Observe a falta de hífen para os flags de comando. Isso ocorre porque a maioria das versões do tar permite opções de estilo gnu e bsd (simplificadamente, o gnu requer um hífen, o bsd não).

    
por djeikyb 31.12.2013 / 23:54
4

Caso você não consiga extrair o arquivo .tar.gz usando

tar -xvzf fileName.tar.gz

Tente extrair usando

tar xf fileName.tar.gz
    
por Shravan40 05.01.2017 / 06:29
1

Lembrar todos os sinalizadores para tar pode ser entediante. XKCD Obrigatório:

Porisso,fizmeupróprioscriptemPythonparafazerisso.Rápido,sujo,cp,comoemuso:

#!/usr/bin/env python3 import tarfile,sys,os tf = tarfile.open(name=sys.argv[1],mode='r:gz') where = '.' if len(sys.argv) == 3: where = sys.argv[2] tf.extractall(path=where) tf.close()

Use da seguinte forma:

myuntar.py archive.tar

Veja também o script semelhante para descompactar arquivos zip .

    
por Sergiy Kolodyazhnyy 20.09.2018 / 07:25
1

Resposta rápida:

tar -xvf  <.tar file> or <.tar.xz file>
tar -xzvf <.tar.gz file>
tar -xjvf <.tar.bz2 file>

[ OBSERVAÇÃO ]:

  • -v Verbosamente arquivos de lista processados.
  • -z Filtre o arquivo por meio do gzip.
  • -f Use o arquivo archive ou o ARQUIVO do dispositivo.
  • -x Extrai arquivos de um arquivo.
  • -j bzip2.
  • tar -xf archive.tar # Extrai todos os arquivos de archive.tar .
por Benyamin Jafari 10.10.2018 / 07:45
0

Você também pode fazer isso na primeira etapa:

% bl0ck_qu0te%

Então você tem o arquivo: community_images.tar

O segundo passo seria:

% bl0ck_qu0te%

E o arquivo * .tar seria extraído.

    
por dschinn1001 02.10.2018 / 01:34