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 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

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

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/
verygood the website. gostei muito do site parabéns