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 ?