GNU/Linux >> Tutoriels Linux >  >> Linux

Méthodes de compression et d'archivage sous Linux

Cet article explique comment créer et extraire des archives de fichiers sous Linux® en utilisant diverses méthodes.

À l'ère numérique, nous envoyons couramment des données sur Internet, en particulier pour la distribution de données. Lorsque nous devons envoyer de grandes quantités de données, nous devons souvent les envoyer toutes en même temps.

Ainsi, nous avons besoin d'un moyen d'envoyer plusieurs fichiers, documents ou images dans un seul fichier. Non seulement cela, mais nous avons besoin d'un moyen de fournir les données efficacement et sans enliser la bande passante dans le processus. Par conséquent, des méthodes de compression des données avant de les envoyer ont vu le jour. Parce que les fichiers compressés sont plus petits, ces méthodes nous permettent d'envoyer des fichiers plus rapidement. La petite taille permet également d'économiser de l'espace sur les disques durs.

La compression de données et Linux ne sont certainement pas étrangers. Si vous avez déjà remarqué le .xyz à la fin d'un package que vous avez installé à partir d'un référentiel Linux, vous avez vu un exemple de compression de données Linux.

Bien qu'il existe plusieurs méthodes de compression de données disponibles, les plus courantes sous Linux sont :

  • Fichiers .zip
  • Fichiers .tar
  • Fichiers .tar.gz
  • Fichiers .tar.bz2

zip

Cette méthode particulière est probablement la plus connue et la plus couramment utilisée lorsqu'il s'agit d'archiver ou de compresser des fichiers aujourd'hui. Le fait qu'il soit accessible sur plusieurs plates-formes donne à cette méthode un avantage sur les autres. Vous pouvez accéder à un fichier zip et l'ouvrir quel que soit le système d'exploitation, car Linux, Windows® et MacOS® prennent tous en charge les fichiers zip par défaut.

L'exemple suivant montre la syntaxe de base pour compresser un fichier avec zip :

$ zip -r <name of the zip file>.zip <directory or file(s) you want to compress>

Vous pouvez également compresser des répertoires. Les exemples suivants vous montrent comment créer une archive zip avec le fichier example.txt et une autre archive zip avec le répertoire, Images :

$ zip examples.zip example.txt
$ zip -r pictures.zip /home/user/Pictures/

Les deux commandes créent un .zip compressé dossier. Le -r L'option vous permet d'inclure de manière récursive tous les fichiers et sous-répertoires dans les Images répertoire dans le fichier compressé. Bien que vous n'ayez pas besoin du commutateur récursif pour les fichiers uniques, vous en avez besoin pour un répertoire. Le -r s'assure d'inclure tout ce qui se trouve dans ce répertoire dans le fichier .zip résultant fichier.

Vous pouvez exclure certains des fichiers du répertoire que vous prévoyez d'archiver. Supposons que vous souhaitiez compresser les images répertoire, mais vous ne souhaitez inclure que des fichiers .jpg.

Après avoir changé de répertoire pour Images , saisissez la commande suivante :

$ zip -r pictures.zip ‘*.jpg’

Cette commande recherche les Images , exclut tous les fichiers non jpg et compresse uniquement le fichier .jpg fichiers dans pictures.zip .Ce concept fonctionne avec n'importe quel format de fichier (.txt, .doc, etc.).

Si vous recevez un fichier compressé (.zip ), utilisez la commande suivante pour décompresser ce fichier sous Linux :

$ unzip pictures.zip

Que faire si vous souhaitez décompresser le fichier dans votre répertoire Images et que vous vous trouvez actuellement dans un autre répertoire ? Utilisez la commande suivante :

$ unzip pictures.zip -d /home/user/Pictures

Tous les fichiers contenus dans le fichier zip sont extraits dans le répertoire de votre choix lorsque vous ajoutez l'option -d. Sinon, unzip extrait les fichiers dans votre répertoire courant par défaut.

tar

Remarque : Contrairement aux autres options d'archivage, le tar la commande ne compresse pas .tar des dossiers. tar regroupe simplement les fichiers dans un seul fichier archivé. Par conséquent, si jamais vous voyez un fichier se terminant par ".tar", vous savez déjà que le processus d'archivage n'a appliqué aucune compression sur les fichiers contenus dans cette archive.

Le tar La commande a quelques options de plus que la commande zip. Les options les plus couramment utilisées pour la commande tar sont les suivantes :

  • -c :crée un nouveau .tar fichier d'archive
  • -v  :affiche de manière détaillée le processus tar afin que vous puissiez voir toutes les étapes du processus
  • -f :spécifie le type de nom de fichier du fichier d'archive
  • -x :extrait les fichiers d'un .tar existant fichier

L'exemple suivant montre la syntaxe de base du tar commande pour créer une archive :

$ tar -cvf <name of archive file>.tar <directory to archive or files to archive>

Utilisez la commande suivante pour archiver les Images répertoire :

$ tar -cvf pictures.tar /home/user/Pictures

Pour extraire un fichier d'archive .tar préexistant, remplacez le -c avec un -x , comme le montre l'exemple suivant :

$ tar -xvf <name of archive file>.tar

Comme dans le cas du unzip commande, tar extrait le .tar contenu à votre emplacement actuel, par défaut. Pour extraire .tar contenu du fichier ailleurs, utilisez la commande suivante :

$ tar -xvf (name of archive file).tar -C /path/to/desired/directory/location/

tar.gz

Tar.gz les fichiers ajoutent une compression à la fonction d'archivage de la commande tar en utilisant le gzip fonction.

Vous devez ajouter uniquement le -z option au tar de base commande pour ajouter de la compression, comme illustré dans l'exemple suivant :

$ tar -zcvf <archive name>.tar.gz /directory/you/want/to/compress
OR
$ tar -zcvf <archive name>.tar.gz ‘*.jpg’

Comme avec tar , utilisez "-c" pour créer une archive et "-x" pour l'extraire, comme illustré dans l'exemple suivant :

$ tar -zxvf <archive name>.tar.gz
OR
$ tar -zxvf <archive name>.tar.gz -C /path/to/desired/directory/

tar.bz2

Supposons que vous ayez un très grand répertoire que vous souhaitez compresser autant que possible. Si tar.gz donne un fichier surdimensionné, essayez d'utiliser tar.bz2 à la place. Notez que cette option prend un peu plus de temps.

Cette méthode d'archivage ajoute une seule nouvelle option :-j , comme illustré dans l'exemple suivant :

$ tar -jcvf <archive name>.tar.bz2 /directory/to/compress
OR
$ tar -jcvf <archive name>.tar.bz2 ‘*.jpg’

Encore une fois, pour extraire un .tar.bz2 fichier, changez le -c pour -x , comme illustré dans les exemples suivants :

$ tar -jxvf <archive name>.tar.bz2
OR
$ tar -jxvf <archive name>.tar.bz2 -C /directory/to/extract/to/

Conclusion

Vous savez maintenant comment utiliser les outils de compression de données les plus courants disponibles. Chaque option a sa place.

  • Avez-vous besoin d'envoyer un fichier compressé à quelqu'un qui utilise un système d'exploitation différent du vôtre ? Essayez zip.
  • Souhaitez-vous archiver certains fichiers, mais vous n'avez pas besoin de les compresser ? Utilisez du goudron.
  • Peut-être avez-vous besoin de compresser les fichiers après tout. Utilisez tar.gz.
  • Enfin, si vous voulez que ce répertoire soit réduit autant que possible, vous avez .tar.bz2 à votre disposition.

Avec l'expérience, vous saurez quel outil répondra le mieux à vos besoins à un moment donné.


Linux
  1. Comment créer un fichier ZIP protégé par mot de passe sous Linux

  2. Comment archiver des fichiers et des répertoires sous Linux [Partie 2]

  3. Comment rediriger la sortie vers un fichier et Stdout sous Linux

  4. Comment archiver et compresser des fichiers sous Linux

  5. Trucs et astuces Linux .htaccess

Compression de fichiers Linux :tout ce que vous devez savoir

Fichier hôte Linux :comment le modifier et l'utiliser ?

Une introduction au hachage et aux sommes de contrôle sous Linux

Comment décompresser un fichier Zip sous Linux [Tutoriel du débutant]

Réduire la taille du fichier des images sous Linux - méthodes CLI et GUI

Comment compresser un fichier sous Linux