2
respostas

[Dúvida] Compactação de arquivos *[extensão]: cenários quando a compactação já foi feita.

Ao enviar o comando de compactação de arquivos para o terminal, como tar -cf notas.zip .xml, ocorre a criação do arquivo notas.zip. Se forem adicionados outros arquivos com a extensão .xml no diretório desktop e o comando for executado novamente, não ocorre um "erro" do tipo "notas.zip já existe", mas o novo arquivo .xml é incorporado aos demais no arquivo notas.zip já existente.

Por que isso ocorre?

2 respostas

Isso ocorre porque o comando "tar -cf notas.zip .xml" não cria um novo arquivo ZIP toda vez que é executado, mas sim adiciona novos arquivos com a extensão .xml ao arquivo ZIP existente. O parâmetro "-c" do comando "tar" significa "create", que é usado para criar um novo arquivo se ele não existir. Se o arquivo já existe, o parâmetro "-f" é usado para especificar o nome do arquivo que será criado ou atualizado. O parâmetro "-f" indica que o nome do arquivo a ser criado ou atualizado vem em seguida no comando, no caso "notas.zip".

O comportamento padrão do comando "tar" é adicionar novos arquivos ao arquivo existente, a menos que você especifique o parâmetro "-u" para atualizar o arquivo ou o parâmetro "-r" para anexar novos arquivos no final do arquivo existente.

Portanto, se você deseja criar um novo arquivo ZIP com os arquivos .xml no diretório desktop, você deve usar um nome de arquivo diferente para cada arquivo ZIP que deseja criar. Por exemplo, "tar -cf notas-20220401.zip .xml" criará um novo arquivo ZIP chamado "notas-20220401.zip" no diretório atual com todos os arquivos .xml presentes no diretório atual.

Obrigado pela informação!