Compressão

Como compactar arquivos com zstd a partir da linha de comando ou script bash

Como compactar arquivos com zstd a partir da linha de comando ou script bash
No mundo moderno, interagimos e trabalhamos com dados em todos os lugares e todos os dias. Dependendo das necessidades em mãos e dos dados que exigem processamento, armazenamento e capacidade de computação podem rapidamente se tornar recursos limitados.

Para resolver este problema, os desenvolvedores desenvolveram algoritmos de compressão e ferramentas capazes de comprimir dados em tempo real, reduzindo o tamanho e a capacidade de processamento necessária. Uma dessas ferramentas é o Zstandard, comumente conhecido como Zstd.

Zstd é um algoritmo de compressão em tempo real gratuito, de código aberto, desenvolvido por Yann Collect, um funcionário do Facebook. Zstd é muito rápido e oferece excelentes taxas de compressão. É um algoritmo de compressão sem perdas escrito em C, mas tem implementações de API em outras linguagens de programação populares, como Python, Java, C #, JavaScript e muitos mais. Ele também fornece funções de compressão e descompressão na memória.

Para verificar se Zstd é compatível com o idioma desejado, verifique o recurso fornecido abaixo:

https: // facebook.github.io / zstd /

Se você deseja consultar as informações de benchmarking sobre Zstd, use o link abaixo:

https: // github.com / facebook / zstd

Este tutorial mostrará como compilar e instalar a ferramenta Zstd no Linux e, em seguida, usá-la para realizar a compactação e descompactação de dados.

Como instalar o Zstd

Para usar o Zstd, precisamos instalá-lo compilando a partir dos fontes. Dependendo do sistema que você está executando e da configuração, você pode precisar instalar dependências e ferramentas para realizar a compilação com sucesso.

Comece atualizando seu sistema e instalando o GNU make usando o comando:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get -y install build-essential wget tar

Assim que tivermos todas as ferramentas instaladas, podemos baixar os arquivos de origem e compilá-los. Comece navegando onde você leu, escreveu e executou as permissões. ~ / Desktop

cd ~ / Desktop

Em seguida, use o wget para baixar os arquivos para o diretório.

wget https: // github.com / facebook / zstd / releases / download / v1.4.9 / zstd-1.4.9.alcatrão.gz

Agora desarquive o arquivo de download e navegue até o diretório usando os comandos como:

tar xvf zstd-1.4.9.alcatrão.gz
cd zstd-1.4.9

As etapas finais são instalar o Zstd usando make e make install dentro do diretório Zstd.

sudo make
sudo make install

Assim que a compilação e instalação forem concluídas com sucesso, você pode começar a usar o Zstd em seu sistema para compactar e descompactar arquivos.

Como usar o Zstd

O Zstd não adia de forma alguma os métodos populares de compressão e descompressão. Embora a tecnologia e implementação subjacentes sejam diferentes de outras ferramentas, compactar um arquivo com Zstd é semelhante à sintaxe tar e gzip.

Como comprimir um arquivo

Para compactar um arquivo, chame o comando zstd seguido pelo sinalizador -z, que diz ao zstd para fazer a compactação e, finalmente, o nome do arquivo a compactar.

Por exemplo, o comando abaixo compacta o arquivo de backup do sistema em um .arquivo zst.

$ sudo zstd -z system-backup

A saída do comando conforme mostrado abaixo:

backup do sistema: 100.00% (1821109 => 1821164 bytes, backup do sistema.zst)
backup do sistema $ ls

Você deve ver um arquivo com .extensão zst como:

backup do sistema.zst

Depois que o comando é executado, o arquivo é compactado e cria um nome de arquivo .arquivo zst que você pode descompactar.

Comprimir e remover o arquivo fonte

Como você pode ver no comando acima, o arquivo de origem não é removido por padrão na compressão. Você pode especificar a remoção dos arquivos de origem usando a sinalização -rm:

$ sudo zstd -z --rm system-backup
backup do sistema: 100.00% (1821109 => 1821164 bytes, backup do sistema.zst)
$ ls
backup do sistema.zst

Especificar o sinalizador -rm remove automaticamente o arquivo de origem.

Obter informações do arquivo

Para exibir informações relacionadas sobre o arquivo compactado Zstd, você pode usar o sinalizador -l seguido do nome do arquivo. As informações exibidas incluem o tamanho do arquivo, a taxa de compressão e a soma de verificação do arquivo

$ zstd -lv sistema de backup.zst
*** interface de linha de comando zstd 64 bits v1.4.9, por Yann Collet ***
backup do sistema.zst # Z Frames padrão: 1
Tamanho da janela: 1.74 MB (1821109 B)
Tamanho comprimido: 1.74 MB (1821164 B)
Tamanho descomprimido: 1.74 MB (1821109 B)
Proporção: 1.0000
Verifique: XXH64

Especifique o nível de compressão

Para especificar explicitamente o nível de compressão, use o - onde o nível é um valor que varia de 1 a 19. O nível de compressão padrão é 3. Você também pode desbloquear níveis de compressão mais altos, i.e., nível 20 - 22.

NOTA: Quanto maior o nível de compactação, maior será o uso de memória.

Por exemplo, para compactar um arquivo com um nível de compactação de 10, use o comando:

zstd -z -10 --rm system-backup

Especifique a velocidade de compressão.

Zstd também permite que você defina a velocidade de compressão variando de 1 a. A velocidade de compressão é inversamente proporcional à taxa de compressão. A velocidade de compressão padrão é 1, e quanto maior o valor, mais rápida é a velocidade de compressão.

Por exemplo, para usar a velocidade máxima de compressão, use o comando:

sudo zstd -z --fast = 10 backup do sistema

Especifique o formato de compressão

Você também pode especificar o formato de compressão a usar se não gostar da compressão zst padrão. Os formatos incluem zstd, gzip, xz, lzma e lz4.

Use o sinalizador -format e especifique o formato como:

zstd -z --format = gzip system-backup

Comprimir lista de arquivos

Suponha que você tenha uma lista de arquivos que gostaria de compactar de uma vez. Zstd permite que você passe um arquivo contendo uma lista de arquivos e os comprima recursivamente.

Por exemplo, uma lista de arquivos.txt contendo os arquivos

/ home / user / mysql-backup
/ backups / config
/ home / Desktop / media
/ sync / 2021 / users

Depois de salvar o arquivo, você pode passar a lista para o Zstd com todas as outras opções para executar nos arquivos.

sudo zstd -z -v --rm --filelist list.TXT

Este comando comprimirá todos os arquivos especificados no arquivo de texto e os removerá após a conclusão.

Descompacte um arquivo

Para descompactar um arquivo, você pode usar o sinalizador -d com o comando zstd ou simplesmente usar o comando unzstd para descompactar.

Por exemplo:

sudo unzstd sistema de backup.zst
sudo zstd -d backup do sistema.zst

Verifique a integridade do arquivo

Para testar a integridade de um arquivo compactado zst, use o sinalizador -t conforme mostrado no comando abaixo:

sudo zstd -t backup do sistema.zst

Conclusão

Como podemos ver nos exemplos, Zstd é um algoritmo de compressão poderoso com vários casos de uso. Para saber mais sobre como funciona e sua implementação, verifique a página de manual e experimente.

Obrigado pela leitura.

O botão esquerdo do mouse não funciona no Windows 10
Se você estiver usando um mouse dedicado com seu laptop ou computador desktop, mas o o botão esquerdo do mouse não funciona no Windows 10/8/7 por algu...
O cursor pula ou se move aleatoriamente enquanto digita no Windows 10
Se você descobrir que o cursor do mouse pula ou se move por conta própria, de forma automática e aleatória ao digitar em um laptop ou computador com W...
Como reverter a direção de rolagem do Mouse e Touchpads no Windows 10
Mouse e Touchpads não apenas torna a computação mais fácil, mas mais eficiente e menos demorada. Não podemos imaginar uma vida sem esses dispositivos,...