Como compactar arquivos com ZSTD da linha de comando ou script de bash

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

Para resolver esse problema, os desenvolvedores desenvolveram algoritmos e ferramentas de compactação capazes de comprimir dados em tempo real, reduzindo o tamanho e o poder de processamento necessário. Uma dessas ferramentas é Zstandard, comumente conhecida como ZSTD.

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

Para verificar se o ZSTD suporta o idioma desejado, verifique o recurso fornecido abaixo:

https: // facebook.Github.io/zstd/

Se você deseja analisar informações de benchmarking sobre o ZSTD, use o link abaixo:

https: // github.com/facebook/zstd

Este tutorial mostrará como compilar e instalar a ferramenta ZSTD no Linux e depois usá -lo para executar a compactação e descompressão de dados.

Como instalar o ZSTD

Para usar o ZSTD, precisamos instalá -lo compilando a partir das fontes. Dependendo do sistema que você está executando e da configuração, pode ser necessário instalar dependências e ferramentas para executar a compilação com sucesso.

Comece atualizando seu sistema e instalando o GNU fabricando o comando:

Atualização de sudo apt-get
Atualização de sudo apt-get
sudo apt-get -y instalar o alcatrão wget-essencial de construção

Depois de instalar todas as ferramentas, podemos baixar os arquivos de origem e compilá -los. Comece navegando onde você leu, escreve e executa permissões. ~/Desktop

CD ~/Desktop

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

wget https: // github.com/facebook/zstd/liberações/download/v1.4.9/ZSTD-1.4.9.alcatrão.gz

Agora desarquivo o arquivo de download e navegue no 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 o Make and Make Instale dentro do diretório ZSTD.

sudo make
sudo make install

Depois que a compilação e a instalação concluírem com êxito, você poderá começar a usar o ZSTD no seu sistema para compactar e descomprimir arquivos.

Como usar o ZSTD

O ZSTD não adia dos métodos populares de compressão e descompressão. Embora a tecnologia e a implementação subjacentes sejam diferentes de outras ferramentas, a compactação de um arquivo com ZSTD é semelhante à sintaxe TAR e GZIP.

Como comprimir um arquivo

Para comprimir um arquivo, ligue para o comando ZSTD seguido pela bandeira -z, que diz ao ZSTD para fazer a compactação e, finalmente, o nome do arquivo para compactar.

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

$ sudo zstd -z system -backup

A saída de comando como mostrado abaixo:

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

Você deve ver um arquivo com .Extensão ZST como:

Sistema-backup.zst

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

Comprimir e remover o arquivo de origem

Como você pode ver no comando acima, o arquivo de origem não é removido por padrão após a compactação. Você pode especificar para remover os arquivos de origem usando o sinalizador -rm:

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

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

Obtenha informações do arquivo

Para exibir informações relacionadas sobre o arquivo compactado ZSTD, você pode usar o sinalizador -l seguido pelo 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 -backup.zst
*** Interface da linha de comando ZSTD 64 bits v1.4.9, por Yann Collet ***
Sistema-backup.ZST # Zstandard Frames: 1
Tamanho da janela: 1.74 MB (1821109 b)
Tamanho compactado: 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 - 19. O nível de compressão padrão é 3. Você também pode desbloquear níveis mais altos de compressão, eu.e., Nível 20 - 22.

OBSERVAÇÃO: Quanto maior o nível de compressão, maior uso da memória.

Por exemplo, para comprimir um arquivo com um nível de compressão de 10, use o comando:

ZSTD -Z -10 -RM Sistema -backup

Especifique a velocidade de compressão.

O ZSTD também permite que você defina a velocidade de compressão que varia de 1 - para. 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ápido 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 de sistema

Especifique o formato de compressão

Você também pode especificar o formato de compressão a ser usado se não gostar da compactaçã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

Lista de arquivos de compactação

Suponha que você tenha uma lista de arquivos que você gostaria de comprimir de uma só vez. O ZSTD permite que você passe um arquivo contendo uma lista de arquivos e os comprime recursivamente.

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

/Home/User/Mysql-Backup
/backups/configuração
/home/desktop/mídia
/Sync/2021/Usuários

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 -lista de filelistas.TXT

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

Descomprimir um arquivo

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

Por exemplo:

SUDO UNZSTD Sistema-backup.zst
SUDO ZSTD -D Sistema -backup.zst

Verifique a integridade do arquivo

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

SUDO ZSTD -T Sistema -backup.zst

Conclusão

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

Obrigado pela leitura.