1
resposta

[Bug] Dúvida na questão de compactação com Tar

Olá, pessoal.

Estou com uma dúvida nesta questão sobre o tar. O gabarito indicou a alternativa C como correta:

C - Você deve usar o comando tar -crf logs-compactados.tar.gz logs-processados/ , criando um arquivo chamado logs-compactados.tar.gz .

No entanto, notei que este comando também parece ter um erro:

  1. Ele usa a flag -r (anexar) junto com a -c (criar), o que é redundante.

  2. Mais importante, ele não usa a flag -z. Isso significa que o arquivo logs-compactados.tar.gz seria criado, mas não seria de fato compactado (comprimido) com gzip, apesar do nome.

Acredito que a resposta seja C por eliminação, pois todas as outras alternativas têm erros técnicos ainda mais graves:

• A (tar -cf ... .tar): Está errada porque não compacta (falta o -z) e o nome do arquivo final (.tar) não corresponde ao que é pedido (.tar.gz).

• B (tar -czf ... logs-processados/ .): Está errada porque tem um . (ponto) a mais no final. O comando tentaria compactar o diretório logs-processados/ E o diretório atual (.), o que não foi pedido.

• D (tar -cjf ... .tar.gz): Está errada porque a flag -j (para bzip2) não corresponde à extensão .tar.gz (que usa -z).

• E (gzip logs-compactados/): Está errada porque o comando gzip não serve para compactar diretórios.

A minha conclusão é que a alternativa C é a "correta" apesar de ter um erro de digitação (o r deveria ser um z). As outras alternativas estão incorretas por motivos funcionais ou sintáticos mais sérios.

Alguém mais concorda com essa análise?

1 resposta

Ola amigo.
Tudo bem?
Para mim não tem tar -crf na alternativa C e sim tar -czf... pode ser que tenham corrigido.
A alternativa correta é esta aqui :
Você deve usar o comando:

    tar -czf logs-compactados.tar.gz logs-processados/

para compactar todos os arquivos no diretório logs-processados/, criando um arquivo chamado logs-compactados.tar.gz.

Explicação :
Comando:

tar -czf logs-compactados.tar.gz logs-processados/

Significado das opções:

  • -ccreate: cria um novo arquivo tar
  • -zgzip: comprime o arquivo usando o algoritmo gzip
  • -ffile: especifica o nome do arquivo de saída
    Resultado:
  • O diretório logs-processados/ será compactado em um arquivo chamado logs-compactados.tar.gz.

Por que as outras estão erradas:

  1. tar -cf logs-compactados.tar logs-processados/
    → Cria o tar, mas não comprime (falta o -z).

  2. tar -cz logs-compactados.tar.gz logs-processados/
    → Falta o -f, que indica o nome do arquivo. Sem isso, o tar entende logs-compactados.tar.gz como o diretório a compactar, e não o nome do arquivo.

  3. tar -xzf logs-compactados.tar.gz logs-processados/
    -x é usado para extrair, não para compactar.

  4. gzip logs-compactados/
    → O gzip não compacta diretórios, apenas arquivos individuais.

Conclusão final:
A alternativa correta e tecnicamente precisa é:
Você deve usar o comando tar -czf logs-compactados.tar.gz logs-processados/.

Qualquer duvida comente ai.
Obrigado.