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

577

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 / 23:50

4 respostas

978

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 / 23:57
117

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 / 13:02
84

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 01.01.2014 / 00:54
2

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 / 07:29

Tags