tar: exclui o arquivo gzip e não tente aplicá-lo

3

Eu gostaria de pular um arquivo gzip grande quando eu extrai um arquivo tar, mas toda vez que o tar começa a gunzip para olhar dentro parece.

Mesmo quando eu apenas tento dar uma olhada no tar, parece começar a gunzip, por exemplo:

tar -tvf my.tar.gz --exclude="huge_mysql_file.gz"

Alguma dica de como pular totalmente esse arquivo? Eu vejo o gzip rodando quando o tar atinge aquele arquivo gz.

    
por giorgio79 30.09.2012 / 08:24

1 resposta

7

my.tar.gz é um arquivo gzipped tar . tar é a abreviação de 'tape archive'. Portanto, o arquivo my.tar.gz deve ser descompactado por gzip -d antes que o arquivo tar possa ser lido. Não há acesso aleatório ao conteúdo de um arquivo gzip. Eu realmente não sei o formato do arquivo gzip, mas pelo menos não há nenhuma opção para gzip fazer isso. O 'gzip -d' iniciado por tar para descompactar o arquivo my.tar.gz é o gzip que você pode ver. tar não descompacta o arquivo huge_mysql_file.gz , mas tem que ler (e ignorar) o arquivo huge_mysql_file.gz , porque isso é fornecido pelo pipe para gunzip.

se o arquivo tar não for gzipado e você listar seu conteúdo como

tar -tvf my.tar --exclude="huge_mysql_file.gz"

apenas o cabeçalho de huge_mysql_file.gz no arquivo morto deve ser lido para saber seu tamanho. Então o tar pode pular o arquivo sem lê-lo e continuar no seguinte arquivo.

    
por 30.09.2012 / 14:22

Tags