GNU/Linux >> Tutoriels Linux >  >> Linux

Apprenez à compresser et à décompresser des fichiers sous Linux et à devenir un maître Zip

Vous êtes-vous déjà demandé comment décompresser des fichiers sous Linux ? Ou comment créer et extraire une archive zip ? Alors ce tutoriel est tout ce dont vous avez besoin pour gérer efficacement vos fichiers zip.

La compression est l'une des techniques les meilleures et les plus populaires pour compresser des fichiers en réduisant leur taille sans perte de qualité. Et dans ce didacticiel, vous apprendrez à compresser et décompresser des fichiers zip sous Linux, ainsi que d'autres trucs et astuces. Prêt ?

Plongez-vous et vous deviendrez un "maître zip" à la fin de ce tutoriel !

Prérequis

Si vous êtes un professionnel de l'informatique aux prises avec un trop grand nombre de demandes de réinitialisation de mot de passe dans Active Directory, consultez Specops uReset, une solution SSPR sécurisée.

Les démonstrations tout au long de ce tutoriel ont été réalisées sous Kali Linux 2021.2. Néanmoins, vous pouvez également travailler avec d'autres distributions Linux, telles que celles basées sur Debian (comme Unbuntu ou Kali Linux), CentOS ou Fedora.

Installation des packages Zip et Unzip

Pour compresser et décompresser en fichiers ZIP avec Linux, vous aurez besoin de deux packages appelés zip et unzip. Voyons maintenant comment installer ces packages avec le gestionnaire de packages apt.

Pour installer les packages zip et unzip, lancez d'abord le terminal sur votre bureau et exécutez les commandes ci-dessous en fonction des distributions Linux sur lesquelles vous travaillez.

Chacune des commandes ci-dessous commence par le sudo commande pour gérer les autorisations élevées.

Pour Debian

Les commandes ci-dessous utilisent le apt gestionnaire de paquets à install le zip et unzip colis.

sudo apt install zip   # Installs the zip package
sudo apt install unzip # Installs the unzip package

Pour Fedora et CentOS

Les commandes ci-dessous utilisent le yum outil de gestion de paquets à install le zip et unzip colis.

sudo yum install zip   # Installs the zip package
sudo yum install unzip # Installs the unzip package

Compresser des fichiers avec le package Zip

Maintenant que vous avez installé tous les packages nécessaires, il est temps d'apprendre à compresser des fichiers. Pour ce faire, vous allez exécuter le zip commande, qui vous permet de compresser des fichiers dans des packages ZIP, à la fois via la ligne de commande et via l'interface graphique. Passons en revue chaque méthode !

Compression de fichiers via la ligne de commande

Sous Linux, vous allez généralement utiliser un peu la ligne de commande. Voyons d'abord comment compresser des fichiers via la ligne de commande.

Notez la syntaxe de commande ci-dessous. Vous verrez qu'après le zip commande, outpufile représente le nom du fichier zip. Puis suivi du nom des fichiers et du dossier (file1 file2 folder ) à inclure dans le fichier zip.

zip [option] outputfile file1 file2 folder

Pour illustrer la compression de fichiers sur la ligne de commande, ouvrez d'abord un terminal et créez un répertoire appelé ~/mydir . Créez ensuite deux fichiers et un dossier nommé test1, test2 et myfolder dans ~/mydir .

1. Exécutez le mkdir commande ci-dessous pour créer le mydir annuaire.

mkdir mydir

2. Les commandes ci-dessous créent (touch ) le test1.txt et test2.txt des dossiers. Créez ensuite (mkdir ) le myfolder annuaire.

touch ~/mydir/test1.txt
touch ~/mydir/test2.txt
mkdir myfolder

3. Exécutez la commande ci-dessous pour répertorier (ls ) le contenu du répertoire de travail (~/mydir ), comme indiqué ci-dessous.

Maintenant que vous avez créé les fichiers et les dossiers, compressez le ~/mydir dossier en exécutant la commande ci-dessous.

Le zip la commande ci-dessous est récursive (-r ) en cherchant dans le mydir répertoire pour tous les fichiers et sous-répertoires. Une fois terminé, il compresse ensuite tous ces fichiers dans un fichier ZIP appelé newdir.zip .

zip -r newdir.zip mydir

Peut-être prévoyez-vous seulement de compresser ~/mydir/test1.txt, ~/mydir/test2.txt et ~/mydir/myfolder répertoires. Pour ce faire, exécutez la commande ci-dessous.

Le zip la commande ci-dessous est récursive (-r ) recherche de tous les fichiers et dossiers du répertoire de travail (mydir ) appelé test1.txt , test2.txt , et myfolder et créer un fichier ZIP nommé newfiles.zip .

cd mydir
zip -r newfiles test1.txt test2.txt myfolder

L'ajout de l'extension .zip pour le fichier zip est facultatif car il est automatiquement ajouté une fois la compression terminée. Dans l'exemple ci-dessus, la commande zip créera un fichier ZIP appelé newfiles.zip au lieu de simplement newfiles.

Supprimer le fichier d'origine après l'archivage

Dans la section précédente, vous avez appris à compresser des fichiers dans un fichier ZIP, mais vous avez remarqué que les fichiers d'origine n'ont pas été supprimés après cela. Ajoutez le -m dans la commande zip pour supprimer les fichiers d'origine, comme indiqué ci-dessous.

Après avoir créé le fichier ZIP, lancez un terminal, puis exécutez la commande suivante pour supprimer automatiquement les fichiers d'origine. Le zip la commande ci-dessous zippe les fichiers et le dossier appelé test1.txt , test2.txt , et myfolder au newsfiles.zip Fichier ZIP, puis supprime (-m ) les fichiers d'origine.

Après avoir exécuté la commande, vous remarquerez que la commande zip supprime les fichiers d'origine.

zip -m -r newfiles.zip test1.txt test2.txt myfolder

Ajout de nouveaux fichiers à un fichier zip existant

Peut-être avez-vous oublié d'inclure un fichier lors de la compression de fichiers dans un fichier ZIP. Comment ajouteriez-vous un nouveau fichier à un fichier zip existant ? Vous pouvez supprimer le fichier zip et en créer un autre, mais il existe un meilleur moyen.

Pour ajouter un nouveau fichier au fichier ZIP existant (newfiles.zip ), exécutez la commande suivante. La commande ci-dessous met à jour (-u ) le package de fichiers ZIP existant (newfiles.zip ) par récursivement (-r ) en parcourant tous les fichiers dans ~/mydir répertoire, puis en les ajoutant au package ZIP.

zip -u -r newfiles.zip test3

Supprimer des fichiers d'un fichier Zip

Vous avez précédemment appris comment ajouter des fichiers à des fichiers compressés existants. Mais que se passe-t-il si vous avez ajouté un fichier involontairement à un fichier zip ? Vous voudriez évidemment supprimer ce fichier du fichier zip et ajouter le -d option au zip commande ferait l'affaire.

Pour supprimer un fichier du fichier ZIP, exécutez le zip commande de suppression (-d ) le test3 fichier du (newfiles.zip ) Fichier ZIP.

zip -d newfiles.zip test3

Compresser des fichiers via l'interface graphique

À présent, vous avez appris à compresser des fichiers à l'aide de la ligne de commande. Mais si vous êtes plus à l'aise avec une interface graphique, vous avez de la chance. L'environnement GNU Network Object Model Environment (GNOME) vous permet de créer une archive zip en quelques clics. GNOME est une interface graphique de bureau au-dessus de votre système d'exploitation. Alors, commençons !

1. Basculez vers l'environnement GNOME, puis ouvrez le gestionnaire de fichiers.

2. Recherchez les fichiers à compresser en naviguant dans ~/mydir répertoire.

3. Pour créer le package ZIP, sélectionnez tous les fichiers à compresser, puis cliquez avec le bouton droit sur l'un des fichiers et choisissez Compresser depuis le menu contextuel.

Choisissez maintenant le format du fichier compressé dans la fenêtre contextuelle ci-dessous. Notez qu'il existe trois options de format, .zip, .tar.xz et .7z. Ces formats sont tous des formats de compression.

Puisque vous créez un fichier zip, sélectionnez le .zip option. Créez ensuite le fichier zip en lui donnant un nom (nouveauxfichiers ), et cliquez sur Créer .

Le fichier zip est automatiquement créé dans le dossier ~/mydir, où se trouvent les fichiers que vous compressez.

Vous remarquerez ci-dessous que Linux crée un fichier appelé newfiles.zip parmi celles que vous avez sélectionnées.

Décompression de fichiers avec le package Unzip

Dans les exemples précédents, vous avez appris à compresser des fichiers. Mais peut-être avez-vous besoin d'extraire ou de décompresser le contenu du fichier zip. Comment feriez-vous cela ?

Semblable à la compression de fichiers, vous disposez de deux méthodes pour décompresser les fichiers, via la ligne de commande et l'interface graphique. Les deux méthodes exploitent le package de décompression que vous avez précédemment installé pour décompresser les fichiers ZIP.

Décompresser des fichiers via la ligne de commande

Étant donné que vous exécuterez toujours des commandes dans un environnement de ligne de commande tout au long de ce didacticiel, commençons à décompresser les fichiers via la méthode de ligne de commande.

Pour décompresser un fichier ZIP, lancez votre terminal et exécutez la commande suivante. Notez que la commande ci-dessous va unzip le contenu du (newdir.zip ) Fichier zip. Par défaut, le contenu est extrait dans le même répertoire (~/mydir ) du (newdir.zip ) Fichier ZIP.

Si vous souhaitez décompresser le contenu d'un fichier ZIP dans un répertoire autre que le répertoire de travail, spécifiez le -d suivi du répertoire dans lequel extraire le contenu du fichier ZIP comme :unzip nouveaurépertoire.zip -d un autre répertoire.

unzip newdir.zip

Décompresser des fichiers via l'interface graphique

Si la décompression des fichiers via la ligne de commande semble demander beaucoup de travail, essayez de décompresser les fichiers en quelques clics avec la méthode GUI. Et similaire à la méthode de ligne de commande, vous pourrez également choisir où extraire les fichiers.

Pour décompresser les fichiers, ouvrez le gestionnaire de fichiers, comme expliqué dans la section Compresser des fichiers via l'interface graphique section. Cliquez avec le bouton droit sur le package ZIP que vous souhaitez extraire, puis sélectionnez Extraire ici , comme indiqué ci-dessous.

Une fois que vous avez cliqué sur Extraire ici , Linux extraira tous les fichiers du package ZIP dans le répertoire de travail.

Si vous préférez extraire tous les fichiers d'un autre répertoire, choisissez l'option Extraire vers option du menu contextuel.

Vérification de l'intégrité du fichier Zip

Dans certains cas, les fichiers ZIP peuvent être corrompus, comme le téléchargement du fichier ZIP à partir d'Internet. Ou lorsque le fichier ZIP a été transféré sur un périphérique de stockage corrompu. Vous ne savez peut-être pas qu'ils sont corrompus en surface, il est donc important de vérifier leur intégrité.

Pour vérifier l'intégrité du fichier zip, exécutez la commande suivante. Le zip commande ci-dessous récursivement (-r ) recherche dans le répertoire de travail le (newfiles.zip ) fichier zip, puis vérifie (-T ) s'il est en bon état.

La commande ci-dessous vérifie uniquement l'intégrité du fichier ZIP, mais pas les fichiers et les sous-répertoires qu'il contient.

zip -r -T newfiles

Comme indiqué ci-dessous, vous verrez une indication que le test a réussi.

Tester les fichiers compressés avant l'extraction

L'extraction d'un fichier ZIP avec des fichiers corrompus ne ferait que perdre du temps et entraînerait des erreurs, en particulier lorsqu'il s'agit d'un gros fichier zip avec plusieurs fichiers. C'est donc une bonne idée de tester les fichiers compressés dans le fichier ZIP avant de les extraire.

Le test des fichiers compressés est similaire à la vérification de l'intégrité du fichier ZIP, mais cette fois, vous testez chaque fichier à l'intérieur du fichier ZIP et pas seulement le fichier ZIP lui-même.

Maintenant, exécutez le unzip commande à tester (-t ) le statut de chaque fichier dans le (newdir.zip ) fichier zip.

unzip -t newdir.zip

Comme vous le voyez dans l'image ci-dessous, le package de décompression n'a trouvé aucune erreur.

Affichage du contenu du fichier Zip sans extraction

Peut-être préférez-vous simplement voir ce qu'il y a à l'intérieur du fichier ZIP plutôt que d'extraire réellement les fichiers. Heureusement pour vous, le unzip la commande a le -l option qui affiche le contenu d'un fichier zip sans les extraire.

Pour afficher le contenu d'un fichier ZIP, exécutez le unzip commande pour lister (-l ) le fichier zip (newdir.zip ) contenu sans les extraire.

unzip -l newdir.zip

Remarquez la capture d'écran ci-dessous qui affiche une liste de tableau du contenu à l'intérieur du (newdir.zip ) Fichier ZIP.

Compression de fichiers avec la même extension de fichier

Pour montrer comment créer des scripts pour certains cas d'utilisation courants avec l'utilitaire zip, vous disposez peut-être d'un répertoire contenant de nombreux fichiers différents, mais vous n'avez besoin de compresser que ceux qui correspondent à une extension spécifique. Pour ce faire, vous avez besoin d'un script qui recherchera à plusieurs reprises tous les fichiers avec la même extension. Une fois trouvés, les ajoute à un fichier zip.

Passons en revue ce que fait le script ci-dessous et comment l'exécuter.

Le script ci-dessous déclare une variable (files ) pour contenir la valeur de l'extension de fichier (*.txt ), puis une autre variable (targetDir ) pour le répertoire cible (anotherDir ).

Le script exécute alors un for fonction de boucle pour rechercher tous les fichiers avec le .txt (files ) extension dans le répertoire cible (anotherDir ). Lorsqu'un .txt fichier est trouvé, le zip la commande ajoute (-u ) ce fichier au (mynewfiles.zip ) Fichier zip. Prêt à automatiser la compression de fichiers ?

1. Ouvrez un éditeur de texte et enregistrez le script avec le .sh extension (ex :script.sh ), qui est l'extension des fichiers écrits avec le langage de programmation shell.

files=*.txt # Declare variable to hold the .txt extension
 targetDir=anotherDir # Declare variable to hold the target directory
 for file in $files; do # Searches all files with .txt extension
     zip -u $targetDir/mynewfiles $file # Adds found .txt files to mynewfiles.zip file
 done

2. Assurez-vous que vous pouvez exécuter le script en modifiant son autorisation. Pour ce faire, exécutez le chmod commande pour modifier (+x ) le script (script.sh ) exécuter l'autorisation.

chmod +x script.sh

3. Exécutez maintenant le script en exécutant la commande ci-dessous. La commande ci-dessous exécute le script (script.sh ) tant que le script se trouve dans le répertoire de travail actuel.

./script.sh

Comme vous le remarquez, un message d'avertissement vous indique que le fichier ~/mynewfiles.zip n'existe pas. Mais ne vous inquiétez pas, car le script créera automatiquement le fichier zip.

Conclusion

Si vous êtes un professionnel de l'informatique aux prises avec un trop grand nombre de demandes de réinitialisation de mot de passe dans Active Directory, consultez Specops uReset, une solution SSPR sécurisée.

Tout au long de ce didacticiel, vous avez appris à gérer les fichiers zip (compresser et décompresser) et un exemple pratique d'automatisation du processus de compression des fichiers. Comme promis, vous êtes désormais un "zip master" !

Allez-vous maintenant vous tourner vers des processus manuels ou automatisés la prochaine fois que vous ferez une compression ?


Linux
  1. Comment utiliser Décompresser sous Linux

  2. Comment compresser des fichiers et des répertoires sous Linux (avec exemples)

  3. Comment décompresser des fichiers sous Linux (avec exemples)

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

  5. Comment archiver et compresser des fichiers sous Linux

Comment décompresser des fichiers zip sous Linux

Comment compresser des fichiers et des dossiers sous Linux [Astuce pour débutant]

Comment installer Zip et Unzip sous Linux

Comment compresser et décompresser des fichiers sur Ubuntu Linux :un guide ultime

Comment compresser des fichiers et des dossiers sous Linux

Comment compresser un fichier sous Linux