Zip et tar sont des utilitaires de ligne de commande populaires pour compresser et archiver plusieurs répertoires et fichiers dans un seul fichier d'archive dans un système Linux. Par défaut, la commande tar ne compresse pas les fichiers mais ne collecte que les fichiers et leurs métadonnées pour générer un seul fichier tar, mais nous pouvons archiver les fichiers à l'aide de gzip/bzip2. Tandis que zip fournit une compression de données sans perte qui est une classe d'algorithme de compression de données qui permet aux données compressées d'être reconstruites dans leur forme d'origine. Le gzip et le zip utilisent l'algorithme DEFLATE pour compresser les fichiers tandis que le bzip2 utilise l'algorithme de Burrows-Wheeler qui produit un fichier hautement compressé mais consomme plus de temps que le gzip et le zip.
Installation
Par défaut, la commande tar est intégrée au système Linux. Commençons donc par installer zip et unzip. La commande unzip ne sera pas installée lors de l'installation de la commande zip, nous devons donc l'installer séparément.
Avant de poursuivre l'installation, n'oubliez pas de mettre à jour les informations du package.
$ sudo apt-get update
Installation de Zip.
$ sudo apt-get install zip
Installation de décompresser
$ sudo apt-get install unzip
Pour montrer l'exemple suivant, j'ai utilisé Ubuntu 20.4 et j'ai les fichiers suivants dans le répertoire personnel.
Quelques exemples de commandes Tar
Avant de continuer avec l'exemple, vous devez connaître la syntaxe du tar, donc la syntaxe est la suivante :
$ tar -c [option] [archive name] [file] | [directory] |
Les options suivantes sont les options principales et obligatoires qui conduisent la commande à la tâche à effectuer. Les options suivantes peuvent être utilisées une fois dans la commande sans elles, la commande ne sera pas exécutée.
-c :Pour générer un fichier d'archive.
-r :Pour ajouter d'autres fichiers au fichier d'archive existant.
-t :Afficher tous les fichiers à l'intérieur de l'archive.
-x : Pour extraire les fichiers d'archive.
Compresser des fichiers avec gzip et bzip2
La commande tar produit un fichier compressé à l'aide de gzip et bzip2 auquel on peut accéder en fournissant respectivement les options -z et -j à la commande. Pour archiver et compresser les fichiers tar, nous devons exécuter la commande suivante.
$ tar -cvzf compress_sample.tar.gz *.txt
Compresser le fichier à l'aide de gzip.
$ tar -cvjf compress_sample.tar.bz2 *.txt
Compression de fichier à l'aide de bz2.
Dans l'exemple ci-dessus, l'option -c fait référence à la création de l'archive, l'option -v affiche le détail des fichiers archivés et -f indique le nom de l'archive.
Remarque :l'option -f doit toujours être placée avant le nom de fichier.
Extraction de fichiers à partir d'un fichier compressé
Pour extraire le fichier compressé, vous devez exécuter :
$ tar -xvf compress_sample.tar.gz
La commande ci-dessus extraira le fichier dans le répertoire de travail actuel, mais si vous souhaitez extraire des fichiers dans un répertoire différent, vous pouvez le faire en utilisant -C pour la commande.
$ tar -xvf compress_sample.tar.gz -C Documents/
Extraction de fichiers dans différents répertoires à l'aide de tar.
Extraction de fichiers spécifiques à partir d'un fichier compressé
Nous pouvons extraire des fichiers spécifiques du fichier compressé pour cela nous devons spécifier le nom du fichier avec le nom du répertoire s'il se trouve dans le répertoire.
$ tar -xvf compress_sample.tar sample.txt student.txt
Extraction de fichiers spécifiques à l'aide de tar.
Quelques exemples de commandes Zip et Unzip.
La syntaxe pour zip et unzip est la suivante :
$ zip [option] [archive_name] [Files]
$ unzip [option] [archive_name]
Compresser des fichiers avec Zip
Zip est le compresseur d'archives, nous n'avons donc pas besoin de fournir de paramètre supplémentaire pour compresser les fichiers. Pour la compression, nous devons exécuter la commande comme ceci :
$ zip zip_demo.zip *.txt
Compressez plusieurs fichiers
Décompresser le fichier dans un autre répertoire
Nous pouvons décompresser les fichiers zip dans les différents répertoires en utilisant l'option -d et en spécifiant le répertoire dans la commande.
$ unzip zip_demo.zip -d Documents/
Décompressez le fichier dans un autre répertoire.
Décompresser des fichiers spécifiques à partir d'un fichier compressé
Pour décompresser un fichier spécifique de l'archive, la commande doit être exécutée de la manière suivante.
$ unzip zip_demo.zip student.txt sample.txt
Décompressez des fichiers spécifiques à partir du fichier zip.
Conclusion
Dans cet article, nous apprenons à archiver et compresser des fichiers à l'aide des commandes tar et zip. J'ai inclus l'exemple le plus courant dans l'article en espérant que cela vous aidera à compresser des fichiers.