Compression

Comment compresser des fichiers avec zstd à partir de la ligne de commande ou du script bash

Comment compresser des fichiers avec zstd à partir de la ligne de commande ou du script bash
Dans le monde moderne, nous interagissons et travaillons avec des données partout et tous les jours. Selon les besoins et les données nécessitant un traitement, un stockage et une puissance de calcul peuvent rapidement devenir des ressources limitées.

Pour résoudre ce problème, les développeurs ont développé des algorithmes et des outils de compression capables de compresser les données en temps réel, réduisant ainsi la taille et la puissance de traitement requises. L'un de ces outils est Zstandard, communément appelé Zstd.

Zstd est un algorithme de compression en temps réel gratuit et open source développé par Yann Collect, un employé de Facebook. Zstd est très rapide et offre des taux de compression exceptionnels. Il s'agit d'un algorithme de compression sans perte écrit en C mais qui a des implémentations d'API dans d'autres langages de programmation populaires tels que Python, Java, C#, JavaScript et bien d'autres. Il fournit également des fonctions de compression et de décompression en mémoire.

Pour vérifier si Zstd prend en charge la langue de votre choix, consultez la ressource fournie ci-dessous :

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

Si vous souhaitez consulter des informations d'analyse comparative sur Zstd, utilisez le lien ci-dessous :

https://github.com/facebook/zstd

Ce tutoriel vous montrera comment compiler et installer l'outil Zstd sous Linux, puis l'utiliser pour effectuer la compression et la décompression des données.

Comment installer Zstd

Pour utiliser Zstd, nous devons l'installer en compilant à partir des sources. Selon le système que vous exécutez et la configuration, vous devrez peut-être installer des dépendances et des outils pour effectuer la compilation avec succès.

Commencez par mettre à jour votre système et installez GNU make à l'aide de la commande :

sudo apt-get mise à jour
sudo apt-get mise à niveau
sudo apt-get -y install build-essential wget tar

Une fois tous les outils installés, nous pouvons télécharger les fichiers sources et les compiler. Commencez par naviguer là où vous avez des autorisations de lecture, d'écriture et d'exécution. ~/Bureau

cd ~/Bureau

Ensuite, utilisez wget pour télécharger les fichiers dans le répertoire.

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

Désarchivez maintenant le fichier de téléchargement et accédez au répertoire à l'aide des commandes suivantes :

goudron xvf zstd-1.4.9.le goudron.gz
cd zstd-1.4.9

Les dernières étapes consistent à installer Zstd en utilisant make et make install dans le répertoire Zstd.

faire sudo
sudo faire installer

Une fois la compilation et l'installation terminées avec succès, vous pouvez commencer à utiliser Zstd sur votre système pour compresser et décompresser les fichiers.

Comment utiliser Zstd

Zstd ne diffère pas du tout des méthodes de compression et de décompression populaires. Bien que la technologie et l'implémentation sous-jacentes soient différentes des autres outils, la compression d'un fichier avec Zstd est similaire à la syntaxe tar et gzip.

Comment compresser un fichier

Pour compresser un fichier, appelez la commande zstd suivie de l'indicateur -z, qui indique à zstd de faire la compression, et enfin, le nom du fichier à compresser.

Par exemple, la commande ci-dessous compresse le fichier de sauvegarde du système dans un .fichier zst.

$ sudo zstd -z sauvegarde système

La sortie de la commande comme indiqué ci-dessous :

sauvegarde système : 100.00% (1821109 => 1821164 octets, sauvegarde système.zst)
$ ls sauvegarde du système

Vous devriez voir un fichier avec .zst extension comme :

sauvegarde du système.zst

Une fois la commande exécutée, le fichier est compressé et crée un nom de fichier .zst que vous pouvez décompresser.

Compresser et supprimer le fichier source

Comme vous pouvez le voir dans la commande ci-dessus, le fichier source n'est pas supprimé par défaut lors de la compression. Vous pouvez spécifier de supprimer les fichiers source en utilisant l'indicateur -rm :

$ sudo zstd -z --rm sauvegarde système
sauvegarde système : 100.00% (1821109 => 1821164 octets, sauvegarde système.zst)
$ ls
sauvegarde du système.zst

La spécification de l'indicateur -rm supprime automatiquement le fichier source.

Obtenir des informations sur le fichier

Pour afficher des informations connexes sur le fichier compressé Zstd, vous pouvez utiliser l'indicateur -l suivi du nom du fichier. Les informations affichées incluent la taille du fichier, le taux de compression et la somme de contrôle du fichier

$ zstd -lv sauvegarde système.zst
*** interface de ligne de commande zstd 64 bits v1.4.9, par Yann Collet ***
sauvegarde du système.zst # Zcadres standard : 1
Taille de la fenêtre : 1.74 Mo (1821109 B)
Taille compressée : 1.74 Mo (1821164B)
Taille décompressée : 1.74 Mo (1821109 B)
Rapport : 1.0000
Chèque : XXH64

Spécifiez le niveau de compression

Pour spécifier explicitement le niveau de compression, utilisez le - où le niveau est une valeur comprise entre 1 et 19. Le niveau de compression par défaut est 3. Vous pouvez également débloquer des niveaux de compression plus élevés, je.e., niveau 20 - 22.

REMARQUE: Plus le niveau de compression est élevé, plus l'utilisation de la mémoire est élevée.

Par exemple, pour compresser un fichier avec un niveau de compression de 10, utilisez la commande :

zstd -z -10 --rm sauvegarde système

Spécifier la vitesse de compression.

Zstd vous permet également de définir la vitesse de compression allant de 1 - à. La vitesse de compression est inversement proportionnelle au taux de compression. La vitesse de compression par défaut est 1, et plus la valeur est élevée, plus la vitesse de compression est rapide.

Par exemple, pour utiliser la vitesse de compression maximale, utilisez la commande :

sudo zstd -z --fast=10 sauvegarde système

Spécifier le format de compression

Vous pouvez également spécifier le format de compression à utiliser si vous n'aimez pas la compression zst par défaut. Les formats incluent zstd, gzip, xz, lzma et lz4.

Utilisez l'indicateur -format et spécifiez le format comme suit :

zstd -z --format=gzip sauvegarde système

Compresser la liste des fichiers

Supposons que vous ayez une liste de fichiers que vous souhaitez compresser en une seule fois. Zstd permet de passer un fichier contenant une liste de fichiers et de les compresser récursivement.

Par exemple, une liste de fichiers.txt contenant les fichiers

/home/user/mysql-backup
/sauvegardes/config
/accueil/Bureau/médias
/sync/2021/utilisateurs

Une fois que vous avez enregistré le fichier, vous pouvez transmettre la liste à Zstd avec toutes les autres options à exécuter sur les fichiers.

sudo zstd -z -v --rm --filelist liste.SMS

Cette commande compressera tous les fichiers spécifiés dans le fichier texte et les supprimera à la fin.

Décompresser un fichier

Pour décompresser un fichier, vous pouvez utiliser l'indicateur -d avec la commande zstd ou simplement utiliser la commande unzstd pour décompresser.

Par example:

sauvegarde système sudo unzstd.zst
sudo zstd -d sauvegarde système.zst

Vérifier l'intégrité du fichier

Pour tester l'intégrité d'un fichier compressé zst, utilisez l'indicateur -t comme indiqué dans la commande ci-dessous :

sudo zstd -t sauvegarde système.zst

Conclusion

Comme nous pouvons le voir dans les exemples, Zstd est un algorithme de compression puissant avec de nombreux cas d'utilisation. Pour en savoir plus sur son fonctionnement et sa mise en œuvre, consultez la page de manuel et expérimentez.

Merci d'avoir lu.

Moteurs de jeux gratuits et open source pour le développement de jeux Linux
Cet article couvrira une liste de moteurs de jeux gratuits et open source qui peuvent être utilisés pour développer des jeux 2D et 3D sur Linux. Il ex...
Tutoriel Shadow of the Tomb Raider pour Linux
Shadow of the Tomb Raider est le douzième ajout à la série Tomb Raider - une franchise de jeux d'action-aventure créée par Eidos Montréal. Le jeu a ét...
Comment booster les FPS sous Linux?
FPS signifie Images par seconde. La tâche du FPS est de mesurer la fréquence d'images dans les lectures vidéo ou les performances de jeu. En termes si...