Compressione

Come comprimere i file con zstd dalla riga di comando o dallo script bash

Come comprimere i file con zstd dalla riga di comando o dallo script bash
Nel mondo moderno, interagiamo e lavoriamo con i dati ovunque e ogni giorno. A seconda delle esigenze e dei dati che richiedono elaborazione, archiviazione e potenza di calcolo possono diventare rapidamente risorse limitate.

Per risolvere questo problema, gli sviluppatori hanno sviluppato algoritmi e strumenti di compressione in grado di comprimere i dati in tempo reale, riducendo le dimensioni e la potenza di elaborazione richiesta. Uno di questi strumenti è Zstandard, comunemente noto come Zstd.

Zstd è un algoritmo di compressione gratuito, open source e in tempo reale sviluppato da Yann Collect, un dipendente di Facebook. Zstd è molto veloce e offre rapporti di compressione eccezionali. È un algoritmo di compressione senza perdita di dati scritto in C ma ha implementazioni API in altri linguaggi di programmazione popolari come Python, Java, C#, JavaScript e molti altri. Fornisce anche funzioni di compressione e decompressione in memoria.

Per verificare se Zstd supporta la lingua desiderata, controlla la risorsa fornita di seguito:

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

Se desideri esaminare le informazioni di benchmarking su Zstd, utilizza il collegamento seguente:

https://github.com/facebook/zstd

Questo tutorial ti mostrerà come compilare e installare lo strumento Zstd in Linux, quindi usarlo per eseguire la compressione e la decompressione dei dati.

Come installare Zstd

Per usare Zstd, dobbiamo installarlo compilando dai sorgenti. A seconda del sistema in esecuzione e della configurazione, potrebbe essere necessario installare dipendenze e strumenti per eseguire correttamente la compilazione.

Inizia aggiornando il tuo sistema e installando GNU make usando il comando:

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

Una volta installati tutti gli strumenti, possiamo scaricare i file sorgente e compilarli. Inizia navigando dove hai letto, scritto ed eseguito le autorizzazioni. ~/Desktop

cd ~/Desktop

Quindi, usa wget per scaricare i file nella directory.

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

Ora annulla l'archiviazione del file di download e naviga nella directory usando i comandi come:

tar xvf zstd-1.4.9.catrame.gz
cd zstd-1.4.9

I passaggi finali sono installare Zstd utilizzando make e make install all'interno della directory Zstd.

sudo make
sudo make install

Una volta che la compilazione e l'installazione sono state completate con successo, puoi iniziare a utilizzare Zstd sul tuo sistema per comprimere e decomprimere i file.

Come usare Zstd

Zstd non differisce affatto dai metodi di compressione e decompressione popolari. Sebbene la tecnologia e l'implementazione sottostanti siano diverse da altri strumenti, la compressione di un file con Zstd è simile alla sintassi tar e gzip.

Come comprimere un file

Per comprimere un file, chiama il comando zstd seguito dal flag -z, che dice a zstd di eseguire la compressione e, infine, il nome del file da comprimere.

Ad esempio, il comando seguente comprime il file di backup del sistema in a .file zst.

$ sudo zstd -z system-backup

L'output del comando come mostrato di seguito:

backup del sistema: 100.00% (1821109 => 1821164 byte, backup del sistema.zst)
$ ls backup di sistema

Dovresti vedere un file con .zst estensione come:

backup del sistema.zst

Una volta eseguito il comando, il file viene compresso e crea un nome file .zst che puoi decomprimere.

Comprimi e rimuovi il file sorgente

Come puoi vedere dal comando sopra, il file sorgente non viene rimosso per impostazione predefinita al momento della compressione. È possibile specificare di rimuovere i file di origine utilizzando il flag -rm:

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

Specificando il flag -rm si rimuove automaticamente il file sorgente.

Ottieni informazioni sul file

Per visualizzare le informazioni correlate sul file compresso Zstd, puoi usare il flag -l seguito dal nome del file. Le informazioni visualizzate includono la dimensione del file, il rapporto di compressione e il checksum del file

$ zstd -lv system-backup.zst
*** interfaccia a riga di comando zstd 64 bit v1.4.9, di Yann Collet ***
backup del sistema.zst # Zstandard Cornici: 1
Dimensione della finestra: 1.74 MB (1821109 B)
Dimensione compressa: 1.74 MB (1821164 B)
Dimensione decompressa: 1.74 MB (1821109 B)
Rapporto: 1.0000
Controllare: XXH64

Specificare il livello di compressione

Per specificare esplicitamente il livello di compressione, utilizzare il - dove il livello è un valore compreso tra 1 e 19. Il livello di compressione predefinito è 3. Puoi anche sbloccare livelli di compressione più elevati, i.e., livello 20 - 22.

NOTA: Maggiore è il livello di compressione, maggiore è l'utilizzo della memoria.

Ad esempio, per comprimere un file con un livello di compressione di 10, utilizzare il comando:

zstd -z -10 --rm backup del sistema

Specifica la velocità di compressione.

Zstd permette anche di impostare la velocità di compressione che va da 1 - a. La velocità di compressione è inversamente proporzionale al rapporto di compressione. La velocità di compressione predefinita è 1 e maggiore è il valore, maggiore è la velocità di compressione.

Ad esempio, per utilizzare la velocità di compressione massima, utilizzare il comando:

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

Specifica il formato di compressione

Puoi anche specificare il formato di compressione da utilizzare se non ti piace la compressione zst predefinita. I formati includono zstd, gzip, xz, lzma e lz4.

Usa il flag -format e specifica il formato come:

zstd -z --format=gzip backup di sistema

Comprimi l'elenco dei file

Supponiamo di avere un elenco di file che desideri comprimere tutti in una volta. Zstd ti consente di passare un file contenente un elenco di file e di comprimerli in modo ricorsivo.

Ad esempio, un elenco di file.txt contenente i file

/home/utente/mysql-backup
/backup/config
/home/Desktop/media
/sync/2021/utenti

Una volta salvato il file, puoi passare l'elenco a Zstd con tutte le altre opzioni da eseguire sui file.

sudo zstd -z -v --rm --elenco file.TXT

Questo comando comprimerà tutti i file specificati nel file di testo e li rimuoverà al completamento.

Decomprimere un file

Per decomprimere un file, puoi usare il flag -d con il comando zstd o semplicemente usare il comando unzstd per decomprimere.

Per esempio:

sudo unzstd system-backup.zst
sudo zstd -d system-backup.zst

Verifica l'integrità del file

Per testare l'integrità di un file compresso zst, usa il flag -t come mostrato nel comando seguente:

sudo zstd -t system-backup.zst

Conclusione

Come possiamo vedere dagli esempi, Zstd è un potente algoritmo di compressione con numerosi casi d'uso. Per saperne di più su come funziona e sulla sua implementazione, controlla la pagina man e sperimenta.

Grazie per aver letto.

Il pulsante centrale del mouse non funziona in Windows 10
Il tasto centrale del mouse ti aiuta a scorrere lunghe pagine web e schermate con molti dati. Se si ferma, finirai per usare la tastiera per lo scorri...
Come cambiare i pulsanti sinistro e destro del mouse su PC Windows 10
È abbastanza normale che tutti i mouse dei computer siano progettati ergonomicamente per gli utenti destrimani. Ma sono disponibili dispositivi mouse ...
Emula i clic del mouse passando il mouse utilizzando il mouse senza clic in Windows 10
L'uso di un mouse o di una tastiera nella postura sbagliata di un uso eccessivo può causare molti problemi di salute, tra cui tensione, sindrome del t...