Comment compresser des fichiers à l'aide de la ligne de commande Linux

click fraud protection

Il existe plusieurs manières de compresser des fichiers à l'aide de la ligne de commande Linux. Cet article comprend des exemples pratiques qui montrent comment utiliser le commande zip pour compacter et organiser les fichiers au sein de votre système de fichiers.

Les fichiers compressés sont utilisés lorsque vous avez besoin d'économiser de l'espace et copier des fichiers volumineux d'un endroit à un autre.

Si vous avez 10 fichiers d'une taille de 100 mégaoctets et que vous devez les transférer vers un site ftp, le transfert peut prendre un temps considérable en fonction de la vitesse de votre processeur. Si vous compressez les 10 fichiers en un seul zip archiver et le compression réduit la taille du fichier à 50 Mo par fichier, vous n'avez alors qu'à transférer la moitié des données.

La commande Zip de Linux

Comment créer une archive de tous les fichiers d'un dossier

Imaginez que vous ayez un dossier de chansons contenant les fichiers MP3 suivants:

L'autoroute AC/DC vers l'enfer

Rôdeur de nuit.mp3.

Aime l'homme affamé.mp3.

Obtenez-le chaud.mp3.

Marchez sur vous.mp3.

Autoroute vers l'enfer.mp3.

Si vous voulez du sang, vous l'avez.mp3.

Show down in flames.mp3.

Touchez trop.mp3.

Tourner autour du pot.mp3.

Les filles ont du rythme.mp3.

Cette simple commande Linux qui illustre comment créer une archive de tous les fichiers du dossier actuel appelé ACDC_Highway_to_Hell.zip:

zip ACDC_Highway_to_Hell *

Le texte fait défiler l'écran vers le haut et affiche les fichiers au fur et à mesure qu'ils sont ajoutés.

Comment inclure des fichiers cachés dans une archive

La commande précédente convient pour archiver tous les fichiers d'un dossier, mais elle n'inclut que les fichiers qui ne sont pas masqués. Ce n'est pas toujours aussi simple. Imaginez que vous vouliez compresser votre dossier personnel pour pouvoir le sauvegarder sur un clé USB ou disque dur externe. Votre dossier personnel contient des fichiers cachés.

Pour compresser tous les fichiers, y compris le fichiers cachés dans un dossier, exécutez la commande suivante:

zip d'accueil * .*

Cela crée un fichier appelé home.zip avec tous les fichiers du dossier de départ. (Vous devez être dans le dossier personnel pour que cela fonctionne). Le problème avec cette commande est qu'elle n'inclut que les fichiers du dossier de départ et non les dossiers, ce qui nous amène à l'exemple suivant.

Comment archiver tous les fichiers et sous-dossiers dans un fichier zip

Pour inclure tous les fichiers et sous-dossiers dans une archive, exécutez la commande suivante:

zip -r home. 

Comment ajouter de nouveaux fichiers à une archive zippée existante

Si vous souhaitez ajouter de nouveaux fichiers à une archive existante ou mettre à jour les fichiers d'une archive, utilisez le même nom pour le fichier d'archive lors de l'exécution de la commande zip.

Par exemple, imaginez que vous ayez un dossier de musique contenant quatre albums et que vous créiez une archive appelée music.zip à conserver en tant que sauvegarde. Imaginez maintenant qu'une semaine plus tard vous télécharger deux nouveaux albums. Pour ajouter les nouveaux albums au fichier zip, exécutez simplement la même commande zip que la semaine précédente.

Pour créer l'archive musicale originale, exécutez le code suivant:

zip -r musique /home/votrenom/musique/

Pour ajouter de nouveaux fichiers à l'archive, exécutez à nouveau la même commande.

Si le fichier zip contient une liste de fichiers et que l'un des fichiers sur le disque a changé, le fichier modifié est mis à jour dans le fichier zip.

Comment mettre à jour les fichiers existants dans une archive zippée

Si vous avez un fichier zip qui est censé contenir les mêmes noms de fichier à chaque fois et que vous souhaitez mettre à jour ce fichier avec toutes les modifications qui ont été apportées à ces fichiers, le -F switch vous aide à le faire.

Par exemple, imaginez que vous ayez un fichier compressé avec les fichiers suivants:

/home/yourname/documents/file1.

/home/yourname/documents/file2.

/home/yourname/documents/file3.

/home/yourname/documents/file4.

/home/yourname/documents/file5.

/home/yourname/documents/file6.

Imaginez maintenant qu'au cours de la semaine, vous ayez ajouté deux nouveaux fichiers et modifié deux fichiers pour que le dossier /home/votrenom/documents ressemble maintenant à ceci:

/home/yourname/documents/file1.

/home/yourname/documents/file2.

/home/yourname/documents/file3.

/home/votrenom/documents/file4 (mis à jour)

/home/votrenom/documents/file5 (mis à jour)

/home/yourname/documents/file6.

/home/yourname/documents/file7.

/home/yourname/documents/file8.

Lorsque vous exécutez la commande suivante, le fichier zip contiendra les fichiers mis à jour (file4 et file5) mais file7 et file8 ne seront pas ajoutés.

zip zipfilename -f -r /home/votrenom/documents. 

Comment supprimer des fichiers d'une archive zippée

Vous avez donc créé un énorme fichier zip avec des centaines de fichiers et réalisez maintenant qu'il y a quatre ou cinq fichiers dans le fichier zip dont vous n'avez pas besoin. Sans avoir à compresser à nouveau tous ces fichiers, vous pouvez simplement exécuter la commande zip avec le -ré basculer comme suit:

zip zipfilename -d [nom du fichier dans l'archive]

Par exemple, si vous avez un fichier dans l'archive avec le nom home/documents/test.txt, vous le supprimez avec cette commande:

zip zipfilename -d home/documents/test.txt. 

Comment copier des fichiers d'un fichier zip à un autre

Si vous avez des fichiers dans un fichier zip et que vous souhaitez les copier dans un autre fichier zip sans les extraire au préalable et les redimensionner, utilisez le -u changer.

Supposons que vous ayez un fichier zip appelé "diversmusic.zip" avec de la musique de divers artistes, dont AC/DC. Vous pouvez copier les morceaux AC/DC du fichier diversmusic.zip dans votre fichier ACDC.zip à l'aide de la commande suivante:

zip diversmusic.zip -U --out ACDC.zip "Back_In_Black.mp3"

La commande ci-dessus copie le fichier "Back_In_Black.mp3" de diversmusic.zip vers ACDC.zip. Si le fichier zip dans lequel vous copiez n'existe pas, il est créé.

Comment utiliser la correspondance de motifs et la tuyauterie pour créer une archive

Le prochain commutateur est vraiment utile car il vous permet d'utiliser la sortie d'autres commandes pour insérer des fichiers dans votre fichier zip. Supposons que vous souhaitiez créer un fichier appelé lovesongs.zip, qui contient chaque chanson dont le titre contient le mot love.

Pour trouver les fichiers avec amour dans le titre vous pouvez utiliser la commande suivante:

trouver /home/yourname/Music -name *love*

La commande ci-dessus n'est pas parfaite à 100% car elle capte également des mots comme "trèfle", mais vous voyez l'idée. Pour ajouter tous les résultats renvoyés par la commande ci-dessus à un fichier zip appelé lovesongs.zip, exécutez cette commande:

find /home/yourname/Music -name *love* | zip chansons d'amour.zip -@

Comment créer une archive fractionnée

Si vous sauvegardez votre ordinateur mais que le seul support disponible pour la sauvegarde est un ensemble de DVD vierges, alors vous avez le choix. Vous pouvez continuer à compresser les fichiers jusqu'à ce que le fichier zip fasse 4,8 gigaoctets et graver le DVD, ou vous pouvez créer quelque chose appelé un archiver fractionné qui continue de créer de nouvelles archives dans un ensemble après avoir atteint la limite que vous spécifiez.

Par exemple:

zip mymusic.zip -r /home/myfolder/Music -s 670m. 

Comment personnaliser le rapport de progression du processus de compression

Il existe différentes manières de personnaliser la sortie qui s'affiche lorsque la compression est en cours.

Les commutateurs disponibles sont les suivants:

  • -db = affiche combien d'octets ont été compressés et combien il en reste
  • -dc = affiche le nombre de fichiers compressés et combien il en reste
  • -dd = affiche des points pour chaque 10 Mo de fichier compressé
  • -ds = définit la fréquence d'apparition des points
  • -du = affiche la taille non compressée de chaque fichier

Par exemple:

zip monnomfichier zip.zip -dc -r /home/music. 

Comment réparer un fichier zip

Si vous avez une archive zip qui est cassée, vous pouvez essayer de la réparer en utilisant le -F commande et si cela échoue, le FF commander.

Ceci est utile si vous avez créé une archive fractionnée à l'aide de la -s basculer et vous avez perdu l'un des fichiers d'archive.

Par exemple, essayez d'abord celui-ci:

zip -F monnomfichier.zip --out monnomfichierfixe.zip. 

puis.

zip -FF monnomfichier.zip --out monnomfichierfixe.zip. 

Comment chiffrer une archive

Si vous avez des informations sensibles que vous souhaitez stocker dans un fichier zip, utilisez le -e commande à Crypter ce. Vous êtes invité à saisir un le mot de passe et de répéter le mot de passe.

Par exemple:

zip monnomfichier.zip -r /home/wikileaks -e. 

Comment montrer ce qui sera zippé

Si vous savez que vous allez créer une grande archive, assurez-vous que les bons fichiers seront ajoutés au fichier zip. Vous pouvez voir les résultats attendus d'une commande zip en spécifiant le -sf changer.

Par exemple:

zip monnomfichier.zip -r /home/music/ -sf. 

Comment tester une archive

Après avoir sauvegardé des fichiers dans un fichier zip, il est tentant d'économiser de l'espace disque en supprimant les fichiers d'origine. Avant de faire cela, c'est une bonne idée de tester le bon fonctionnement du fichier zip.

Vous pouvez utiliser le -T commutateur pour tester que le fichier zip est valide.

Par exemple:

zip monnomfichier.zip -T. 

Le résultat de cette commande lorsqu'une archive n'est pas valide peut ressembler à ceci:

  • avertissement zip: signature de fin manquante--probablement pas un fichier zip 

N'oubliez pas que vous pouvez essayer la commande -F pour réparer les fichiers zip cassés.

Il convient de noter que le -T peut produire des faux positifs en ce sens qu'il indique qu'un fichier zip est corrompu même si lorsque vous l'ouvrez, vous pouvez extraire tous les fichiers.

Comment exclure des fichiers

Parfois, vous souhaitez exclure certains fichiers d'un fichier zip. Par exemple, si vous copiez les fichiers de votre téléphone ou de votre appareil photo numérique, vous obtenez un mélange de vidéos et d'images. Vous souhaiterez peut-être compresser les photos sur photos.zip et les vidéos sur videos.zip.

Voici une façon d'exclure les vidéos lors de la création de photos.zip.

zip photos.zip -r /home/photos/ -x *.mp4. 

Comment spécifier le niveau de compression

Lorsque vous compresser des fichiers dans un fichier zip, le système décide s'il faut compresser le fichier ou simplement le stocker. fichiers MP3, par exemple, sont déjà compressés, il est donc inutile de les compresser davantage; ils sont généralement stockés tels quels dans un fichier zip.

Vous pouvez cependant spécifier un niveau de compression compris entre 0 et 9 pour compresser davantage un fichier. Cela prend plus de temps à faire, mais cela peut faire gagner beaucoup de place.

zip mesfichiers.zip -r /home -5.