Quando gerenciamos ambientes Linux, é muito importante saber o funcionamento e a função de muitos dos comandos que nos permitem realizar certas tarefas no Linux. Hoje vamos falar sobre três em particular que nos permitem gerenciar tudo relacionado à compressão ou expansão de arquivos.
1. GZIP
Este comando lida com a redução do tamanho do arquivo usando a codificação LZ77 (Lempel-Ziv). GZIP converte arquivos com as seguintes extensões, sem perder sua qualidade ou propriedades, dependendo do ambiente utilizado:
Extensões GZIP
- .gz: máquinas virtuais
- .z: MSDOS, Windows FAT ou OS / 2
GZIP é uma abreviatura de GNU ZIP, que substitui o programa de compactação. Quando um nome de arquivo é muito longo, o GZIP o trunca para uma administração adequada. Por padrão, GZIP preserva o nome original do arquivo e todas as suas propriedades sem afetar nenhuma, o que facilita seu gerenciamento e correta execução. Quando compactamos um arquivo com GZIP, podemos descompactá-lo usando qualquer uma das seguintes opções:
Descompacte GZIP
- gzip -d
- zcat
- gunzip
Caso o novo nome do arquivo a ser descompactado não esteja na linha do sistema de arquivos atual, será criado um novo. O GUNZIP substitui cada arquivo que compactamos cujo final é .gz, -gz, .z, -z ou _z e da mesma forma reconhece as extensões .tgz e .taz. Com este comando, temos a possibilidade de descompactar arquivos que foram criados por qualquer uma das seguintes ferramentas:
gzip, zip, compress, compress -H ou pack.GZIP detecta automaticamente essas extensões e executa seu processo. Podemos extrair vários arquivos Zip usando o descompactação.
GZIP
gzip [-acdfhlLnNrtvV19] [-S sufixo] [nome…]
2. ZCAT
Seu uso é idêntico ao gunzip -c e sua função principal é descompactar uma lista de arquivos por meio da linha de comando.
O ZCAT descompactará o arquivo se ele tiver o número mágico independente de ser ou não .gz. Além disso, com ZCAT temos a possibilidade de ver o conteúdo de um arquivo compactado sem a necessidade de descompactá-lo como se estivéssemos usando o comando cat.
ZCAT
zcat [-fhLV] [nome …]
3. GUNZIP
Com o GUNZIP temos a possibilidade de comprimir arquivos utilizando a tecnologia Lempel-Ziv e permite que certos arquivos tenham uma redução de até 60% no tamanho, o que ajuda com o nível de espaço do computador. GUNZIP preserva todas as propriedades do arquivo a ser compactado ou descompactado.
GUNZIP
gunzip [-acfhlLnNrtvV] [-S sufixo] [nome…]
4. ALCATRÃO
Um dos comandos para descompactar ou compactar arquivos através do terminal no Linux é o comando tar, se você quiser informações sobre este tipo em um manual de terminal e verá todas as suas opções. Ele pode compactar um diretório completo ou um arquivo simples, mas também pode funcionar recursivamente (por exemplo, compactar tudo o que está dentro de um diretório que você especificar).
Compactar arquivos usando tar
Temos que executar a seguinte instrução:
tar -czvf file.tar.gz filenameAcompressSignificado dos parâmetros
- -c: Crie um arquivo
- -z: Compacte o arquivo com gzip.
- -v: Para ativar o modo “detalhado”. É opcional, mas pode ajudá-lo.
- -F: Permite que você especifique o nome do arquivo.
Vejamos um exemplo, se quisermos compactar uma pasta chamada Solvetic com um nome compactedSolvetic:
tar-czvf comprimido Solvetic.tar.gz Solvetic
Descompacte arquivos usando tar
Devemos executar a seguinte instrução:
tar -xzvf compressfile.tar.gzOs parâmetros são os mesmos, exceto que -c foi alterado para -x, isso serve para indicar que queremos extrair o conteúdo.
Se você deseja extrair o conteúdo em um diretório diferente onde você está localizado, adicionamos no final -C diretório (o C aqui é maiúsculo, não como aquele a ser criado, que é minúsculo).
tar -xzvf compressfile.tar.gz -C ExtractDirectoryVamos fazer um exemplo, queremos descompactar o arquivo que compactamos anteriormente compressedSolvetic.tar.gz e queremos salvá-lo no diretório pai (…):
tar -xzvf comprimido Solvetic.tar.gz -C ./…
Imagine que você deseja apenas extrair um determinado conteúdo do pacote, para isso seria interessante listar o conteúdo do tar, você pode fazer da seguinte forma:
tar -tf arquivo.tar.gz tar -tzf arquivo.tar.gz
E uma vez que vimos o conteúdo, imagine que você está interessado nos arquivos .txt, então o que faríamos é o seguinte (você pode não precisar colocar --wildcards):
tar -xvf arquivo.tar.gz --wildcards "* .txt"A seguir mostro a saída no terminal do uso da última instrução, primeiro você vê o conteúdo de todo o .tar.gz e na segunda parte apreciamos o conteúdo que é extraído (todos os arquivos .txt).
5. Parâmetros de comando
Cada parâmetro indicado significa o seguinte
- -a, --ascii: É o modo de texto ASCII, ou seja, converte terminações de linha nas convenções normais.
- -c, --stdout, --to-stdout: Mantenha os arquivos originais inalterados.
- -d, --decompress, --uncompress: Descompacte um arquivo
- -f, --force: Força a compressão ou descompressão de um ou mais arquivos
- -h, --help: Mostra a ajuda do comando em questão
- -l, --list: Temos as seguintes opções:
- tamanho comprimido: Tamanho do arquivo compactado
Raio de compressão
- tamanho não compactado: Tamanho do arquivo descompactado
- nome_descompactado: Nome do arquivo descompactado
- -L, --license: Licença de comando
- -n, --no-name: No momento da compressão não salva o nome do arquivo original
- -q, --quiet: Remova todos os avisos
- -r, --recursive: Permite que você percorra a estrutura do diretório recursivamente
- -t, --test: Teste a integridade do arquivo compactado
- -v, --verbose: Exibe o nome e a porcentagem reduzida de cada arquivo processado
- -V, --version: Mostra a versão atual do comando
- ast, --best: Esta opção permite regular a velocidade de compressão dos arquivos onde um (1) é rápido e nove (9) é melhor.
A maneira de usar cada comando é a seguinte:
arquivo gzip para compactar arquivo gunzip para descompactar arquivo zcat.gz para display.gz
Cada um desses comandos nos oferece opções práticas para o gerenciamento de vários arquivos no Linux.