CodeGym /Cursos /Docker SELF /Arquivamento e compactação de arquivos: comandos `tar`, `...

Arquivamento e compactação de arquivos: comandos `tar`, `gzip`, `zip`

Docker SELF
Nível 6 , Lição 4
Disponível

Arquivamento e compactação de arquivos: comandos tar, gzip, zip

1. Conceito de arquivamento e compressão

O que é arquivamento e por que precisamos disso?

Imagina um armário cheio de livros. Pra guardar todos de forma compacta, você poderia colocá-los em uma caixa (arquivamento) e amarrá-la com corda pra ocupar menos espaço (compressão). No mundo dos computadores, arquivamento é o processo de juntar vários arquivos em um único contêiner (arquivo), e compressão é a redução do tamanho dele.

Mas pra que isso serve? Aqui vão alguns exemplos:

  • Armazenamento de dados: Ao empacotar arquivos em um arquivo, você pode movê-los ou copiá-los facilmente como um único arquivo.
  • Transmissão de dados: Com a compressão, os dados ocupam menos espaço, o que acelera a transmissão pela rede.
  • Backup: Arquivamento ajuda a proteger os dados e facilita a recuperação deles.

E aí, você já tentou enviar 1000 arquivos por e-mail? Sem arquivamento, isso seria uma tortura!


2. Comando tar: criando e manipulando arquivos

O que é tar?

tar é uma ferramenta para arquivar arquivos no Linux. Por si só, o tar não comprime arquivos, ele apenas une eles em um só. Se você quiser comprimir o arquivo, pode usá-lo em combinação com compressão (gzip, bzip2, etc.).

Sintaxe geral

tar [opções] <arquivo> <arquivos/pastas>

Opções principais

  • -c: cria um novo arquivo.
  • -v: mostra as operações em detalhes (te informa sobre todos os arquivos adicionados).
  • -f: define o nome do arquivo.
  • -x: extrai arquivos do arquivo.
  • -t: mostra o conteúdo do arquivo.

Exemplos de uso

1. Criando um arquivo

tar -cvf archive.tar file1.txt file2.txt
  • Cria o arquivo archive.tar de dois arquivos file1.txt e file2.txt.
  • -c: cria um novo arquivo.
  • -v: exibe no terminal todo o processo de adição dos arquivos.
  • -f: especifica que o nome do arquivo é archive.tar.

2. Arquivando uma pasta

tar -cvf project.tar /home/user/project
  • Cria o arquivo project.tar, incluindo toda a pasta /home/user/project.

3. Extraindo o arquivo

tar -xvf archive.tar
  • Descompacta o arquivo archive.tar no diretório atual.

4. Visualizando o conteúdo do arquivo

tar -tvf archive.tar
  • Mostra a lista de arquivos e pastas no arquivo.

3. Compressão com gzip

O que faz o gzip?

Se o tar é a caixa, então o gzip é o saco a vácuo que reduz o tamanho dela. O gzip reduz os dados usando algoritmos de compressão, o que o torna uma ferramenta ideal para economizar espaço.

Sintaxe geral

gzip [opções] <arquivo>

Exemplos de uso

1. Comprimir um arquivo

gzip file1.txt
  • Após execução, o comando substitui o arquivo file1.txt por file1.txt.gz.

2. Descomprimir um arquivo

gunzip file1.txt.gz
  • Restaura o arquivo original file1.txt.

3. Arquivar e comprimir com tar e gzip

tar -czvf archive.tar.gz file1.txt file2.txt
  • Cria o arquivo archive.tar.gz, que combina e comprime os arquivos file1.txt e file2.txt.

4. Extrair um arquivo compactado

tar -xzvf archive.tar.gz
  • Descomprime e extrai o conteúdo do arquivo archive.tar.gz.

4. A ferramenta zip para criar arquivos compactados

Qual é a diferença em relação ao tar?

Ao contrário do tar, o zip já cria um arquivo compactado, que por padrão pode ser usado no Windows e em outros sistemas.

Sintaxe geral

zip [opções] <arquivo> <arquivos/pastas>

Exemplos de uso

1. Criando um arquivo zip

zip archive.zip file1.txt file2.txt
  • Cria o arquivo archive.zip, que incluirá os arquivos file1.txt e file2.txt.

2. Arquivando uma pasta

zip -r project.zip /home/user/project
  • Cria o arquivo project.zip, incluindo toda a pasta /home/user/project.
  • -r: adiciona arquivos e pastas de forma recursiva.

3. Extraindo um arquivo zip

unzip archive.zip
  • Extrai o conteúdo do arquivo archive.zip.

5. Diferenças entre tar, gzip e zip

Utilitário Arquivamento Compactação Abordagem Uso principal
tar Pacote de arquivos Unir arquivos em um arquivo sem compactação
gzip Compactação Reduzir o tamanho de arquivos individuais ou de arquivos arquivados
zip Tudo em um Criar arquivos portáveis compactados

6. Tarefa prática

  1. Crie um arquivo backup.tar com o conteúdo da pasta /home/user/documents.
  2. Comprime o arquivo usando gzip para obter backup.tar.gz.
  3. Extraia o arquivo para outro diretório, por exemplo, /tmp/backup.
  4. Crie um arquivo zip docs.zip com os arquivos doc1.txt e doc2.txt.
  5. Tente extrair o conteúdo de docs.zip usando o comando unzip.

7. Erros comuns e peculiaridades

1. Erro "Permission denied" Se você tentar arquivar arquivos com acesso restrito, vai receber essa mensagem de erro. Execute o comando com permissões de administrador: sudo.

2. Confuso com as opções? As opções do tar podem ser meio confusas às vezes. Não esquece que a ordem importa: por exemplo, primeiro você deve especificar a ação -c ou -x, e depois as outras opções.

3. Arquivo compactado não abre Se você acidentalmente tentou compactar um arquivo já compactado (tipo um gzip archive.tar.gz), não entra em pânico. É só descompactar ele duas vezes.

4. Arquivo muito grande Quando usar o comando zip, exclua arquivos temporários ou cache para reduzir o tamanho do arquivo: zip -r archive.zip folder -x "*.tmp".

5. Problemas de compatibilidade Se você precisar compartilhar o arquivo com um usuário de Windows, prefira usar o zip, já que ele é mais bem suportado nesse sistema.

Prontinho, agora dominamos arquivamento e compactação de dados no Linux. Essas ferramentas vão ser super úteis pra facilitar o trabalho com grandes volumes de dados, transferência e proteção contra perdas. Bora pra próxima aula — o conhecimento só vai aumentar daqui pra frente! 🎉

Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION