Como compactar e extrair arquivos no Linux

Com frequência precisamos compactar arquivos ou diretórios no Linux usando a linha de comando, o vulgo “zipar um arquivo”. No caso de hoje não trataremos de arquivos “.zip” especificamente, mas sim de arquivos “.tar” ou “.tar.gz”.

Para criar os arquivos compactados (.tar/.tar.gz), seja de diretório ou um arquivo em específico, utilizamos o comando: tar

É necessário informar algumas opções e parâmetros no momento da execução do comando/comparação do arquivo. Tipo de compactação, bem como o path para o diretório ou arquivo que deseja compactar.

Exemplo para a compactar o arquivo ou diretório:

Comando:
tar -czvf filename.tar.gz /path/to/dir-or-file

Onde:
tar: comando/ferramenta para a compactação;
-c: Criar um arquivo;
-z: Compactação do arquivo com gzip;
-v: Exibir o progresso da criação do arquivo compactado no terminal, enquanto o processo é executado;
-f: Opção para especificar um nome para o arquivo a ser criado.

Compactar arquivos no Linux
Comando para compactar arquivos no Linux

Compactar múltiplos arquivos com um único comando

Em alguns momentos temos a necessidade de compactar mais de um diretório ou arquivo no mesmo arquivo a ser gerado na compactação. Para isto, basta que adicionemos os diretórios/arquivos ao final do comando, separando-os por espaços.

Exemplo:
tar -czvf filename.tar.gz /path/to/dir1 /path/to/dir2 /path/to/file.txt

Compactar múltiplos arquivos no Linux
Compactar múltiplos arquivos no Linux com único comando

Excluindo ou ignorando arquivos ou diretórios para compactação

Em outros casos precisamos compactar um diretório com outros diretórios ou muitos arquivos, sendo que alguns destes diretórios/arquivos deveriam ser ignorados. Um exemplo dessa situação é: imagine que tenha um diretório chamado “images”, sendo que deste diretório você precisa compactar todos os arquivos “.jpg”, ignorando os arquivos “png”.
Também temos como ignorar arquivos de forma genérica. Seguem dois exemplos:

tar -czvf filename.tar.gz /path/to/images –exclude=*.png
tar -czvf filename.tar.gz /path/to/dir –exclude=/path/to/Downloads –exclude=/path/to/file.txt

Excluindo arquivos ou diretórios na compactação
Excluindo ou ignorando arquivos ou diretórios na compactação

Extraindo informações de um arquivo compactado

Após a compactação precisamos saber como descompactar/extrair as informações para que possamos utilizá-lo. Isso é muito simples, o comando para extrair o arquivo é bem semelhante ao comando para compactar.

Segue o exemplo:
tar -xzvf file.tar.gz

Onde o -x (que é o que diferencia do comando para compactação), representa extract.

Caso você precise extrair o conteúdo do arquivo em um outro path/diretório, basta informar o parâmetro “-C”, além do local onde deseja descompactar o arquivo.

Exemplo:
tar -xzvf file.tar.gz -C /tmp

Neste exemplo o arquivo “file.tar.gz” será descompactado no diretório temporário “/tmp”.

Estes são os principais comandos que utilizo para a compactar e extrair arquivos ou diretórios no Linux. Espero ter lhe ajudado. Um forte abraço!

Maurício Arthur
CEO at Sites4u – Software Design
https://sites4u.com.br/ | https://mauriciodosite.com.br/


Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *