Zip est une commande multiplateforme populaire utilisée pour la compression et l'archivage des données. La compression économise de l'espace en rétrécissant la taille des données tandis que l'archivage facilite le transfert de données en combinant plusieurs fichiers ou répertoires en un seul fichier. Considérez, si nous devons transférer 5 fichiers sur Internet, chacun avec une taille de 50 mégaoctets; Le transfert de tous les fichiers un par un pourrait prendre beaucoup de temps. La compression des fichiers pour réduire la taille jusqu'à 25 Mo, puis les archiver tous dans un seul fichier rendra beaucoup plus rapidement le transfert des fichiers que lorsqu'ils ne sont pas compressés. Zip est l'utilitaire le plus utilisé pour archiver et comprimer des fichiers, tandis que l'UNPIP est utilisé pour extraire et décompresser les fichiers zippés.
Dans cet article, nous examinerons les commandes zip et dézip dans Linux, ainsi que leurs options et exemples de ligne de commande.
Conditions préalables
Note: Les commandes mentionnées dans cet article ont été testées sur Ubuntu 20.04 LTS (Focal Fossa). Les mêmes commandes sont également applicables à Debian Distribution.
Installation de zip et dézip
Par défaut, les packages ZIP et UNZIP sont installés dans les systèmes Ubuntu. Dans le cas où ils manquent de votre système, vous pouvez les installer facilement. Lancez le terminal à l'aide du clavier Ctrl + Alt + T. Ensuite, pour installer Zip, émettez ce qui suit dans le terminal:
$ sudo apt installer zip
Pour installer unzip, émettez la commande ci-dessous dans le terminal:
$ sudo apt installer unzip
Il existe des scénarios où vous pourriez être tenu de zipter des fichiers:
Commande zip dans Linux
Pour créer un fichier zip, vous devrez fournir le nom de l'archive zippé et les fichiers qui doivent être inclus dans le zip.
$ Options zip zip_file file1 file2…
Zip unique
Pour zip un seul fichier nommé fichier de test.SMS; à un fichier zip nommé test.zipper, La commande serait:
$ Test Zip.Zip TestFile.SMS
La commande ci-dessus compressera le fichier spécifié dans le répertoire actuel tout en laissant le fichier d'origine derrière.
Pour confirmer si le fichier zip a été créé, émettez la commande dans le terminal ci-dessous:
$ ls -l
Zip plusieurs fichiers
Vous pouvez également zip plusieurs fichiers avec la commande zip. Créons des fichiers nommés TestFile1.SMS, TestFile2.SMS, TestFile3.SMS, et TestFile4.SMS Utilisation de la commande suivante dans le terminal:
$ sudo touch testfile1.TXT TESTFILE2.TXT TESTFILE3.TXT TESTFILE4.SMS
Maintenant pour zipter ces fichiers dans un seul fichier, nommé des dossiers.zipper, Émettez la commande suivante dans le terminal:
$ Fichiers zip.zip testfile1.TXT TESTFILE2.TXT TESTFILE3.TXT TESTFILE4.SMS
Vous pouvez également utiliser le joker pour spécifier plusieurs fichiers ayant la même extension. Par exemple, pour zipter tous les fichiers se terminant avec .Extension txt dans un fichier zip, nommé fichiers1.zip, émettez la commande suivante dans le terminal:
$ zip files1.zipper *.SMS
Zip un fichier à un autre répertoire
Si vous devez zipper un fichier dans un répertoire autre que le répertoire actuel, utilisez la syntaxe suivante:
$ zip / path / to / répertoire.nom de fichier zip_file
Par exemple, pour zip fichier de test.SMS fichier sur documents / docs / répertoire nommé comme test.zipper, La commande serait:
$ documents zip / docs / test.Zip TestFile.SMS
Ajouter un fichier à un zip existant
Vous pouvez également ajouter un fichier à un fichier zip préexistant. Utilisez la syntaxe suivante pour le faire:
$ zip -u zip_file nom de fichier
Disons que vous avez un fichier zip (fichiers1.zipper), et vous souhaitez inclure un autre fichier (TestFile4.SMS) En elle, la commande, dans ce cas, serait:
$ zip -u fichiers1.zip testfile4.SMS
Supprimer un fichier d'un fichier zip
De même, vous pouvez également supprimer un fichier d'un fichier zip déjà existant. Utilisez la syntaxe suivante pour le faire:
$ zip -d nom de fichier zip_file
Disons que vous avez un fichier zip (fichiers1.zipper), et vous souhaitez supprimer un fichier (TestFile1.SMS) À partir de celui-ci, la commande, dans ce cas, serait:
$ zip -d fichiers1.zip testfile1.SMS
Fichiers zip
Si vous ne souhaitez pas afficher la sortie de la commande zip, utilisez l'option -q (silenciez) avec la commande zip comme suit:
$ zip -q zip_file nom de fichier
Par exemple, tout en zélant.txt, vous pouvez supprimer la sortie avec la commande suivante:
$ zip -q test.Zip TestFile.SMS
Dans la capture d'écran suivante, vous pouvez voir la sortie de commande zip qui n'a pas été affichée sur le terminal.
Suppression de fichiers originaux après zipping
Par défaut, Zip conserve le fichier d'origine avec le fichier compressé. Cependant, en utilisant le -m Option avec la commande zip, vous pouvez supprimer les fichiers d'origine après avoir créé leur fichier zippé.
$ zip -m nom de fichier zip_file
Par exemple, la commande suivante supprimera le fichier de test.SMS Après avoir créé son fichier zippé, test.zipper.
$ Test de zip -m.Zip TestFile.SMS
Répertoires zippés
Pour zipter les répertoires de votre système Linux, utilisez le -r (récursive) Option avec la commande zip. Le -r L'option fera ziper les répertoires récursivement, je.e., y compris le contenu des sous-répertoires.
$ zip -r zip_file DirectoryName
Par exemple, pour zipter le Documents répertoire récursivement vers le test.zipper fichier, la commande serait:
$ zip -r test.documents zip /
Cette commande zippera le répertoire des documents, ainsi que toutes les sous-répertoires et les fichiers inclus à l'intérieur.
Définition du niveau de compression
Vous pouvez également définir le niveau de compression pour s'appliquer aux fichiers en cours d'échec. Le niveau de compression varie de 0 à 9, où 6 est la valeur par défaut, 0 est la valeur la plus basse et 9 est la valeur la plus élevée de compression.
Par exemple, pour zipter tous les fichiers texte à fichiers1.zipper En utilisant la valeur de compression la plus élevée, la commande serait:
$ zip -9 fichiers1.zipper *.SMS
De même, pour zipper tous les fichiers texte pour fichiers2.zipper en utilisant la valeur de compression la plus basse -0, La commande serait:
$ zip -0 fichiers2.zipper *.SMS
Ce qui suit est la sortie du LS Commande après avoir créé les fichiers zip. Si nous comparons les tailles des deux fichiers zip, vous pouvez voir des fichiers1.Zip, qui a été compressé à l'aide de la compression du niveau 9, a moins de taille par rapport aux fichiers2.zip, qui a été comprimé en utilisant le niveau de compression 0.
Créer un fichier zip protégé par mot de passe
Vous pouvez également créer des fichiers zip protégés par mot de passe à l'aide du -e Option avec la commande zip comme suit:
$ zip -e zip_file nom de fichier
Par exemple, la commande suivante zippera tous les fichiers texte dans Fichiers3.zipper, puis demandez un mot de passe. Définissez n'importe quel mot de passe et appuyez sur Entrée. Vérifiez ensuite ce mot de passe en le redéfinissant et en appuyant sur Entrée.
$ zip -e fichiers3.zipper *.SMS
Ajout de mots de passe aux fichiers zip avec le zipcloak
Dans l'exemple précédent, nous avons créé un fichier postal protégé par mot de passe. Mais que se passe-t-il si vous avez créé un fichier zip et oublié de définir le mot de passe. Avec la commande zipcloak, vous pouvez définir un mot de passe sur un fichier zip à tout moment.
$ zipcloak zip_file
Par exemple, pour définir un mot de passe sur un fichier zip déjà créé nommé des dossiers.zipper, La commande serait:
$ fichiers zipcloak.zipper
On vous demandera un mot de passe. Tapez n'importe quel mot de passe et appuyez sur Entrer. Vérifiez ensuite ce mot de passe en le redéfinissant et en appuyant sur Entrer.
Afficher les détails du fichier avec la commande zipdetails
La commande zipdetails affiche des informations détaillées sur le fichier zippé. Les informations qu'il affiche concernent la structure des enregistrements plutôt que les données compressées. Pour trouver des informations détaillées sur le fichier zippé, tapez ZipDetails suivi du nom du fichier zippé, comme indiqué ci-dessous:
$ zipdetails zip_file
Par exemple, pour trouver des informations détaillées sur un fichier zippé, test.zipper, La commande serait:
$ Test de zipdetails.zipper
Dans la sortie, vous verrez beaucoup d'informations sur votre fichier zippé.
Recherchez dans le fichier avec la commande zipgrep
La commande zipgrep nous permet de rechercher un texte donné dans des fichiers à l'intérieur du fichier zippé sans l'extraire. Si un fichier zip est protégé par mot de passe, vous devrez d'abord entrer le mot de passe pour celui-ci. Pour rechercher du texte dans le fichier zip, utilisez la syntaxe suivante:
$ expression zipgrep zip_file
Par exemple, pour rechercher quels fichiers dans le fichier zip test.zipper contient le mot passerelle, La commande serait:
$ Test de passerelle Zipgrep.zipper
La sortie est la suivante. Vous pouvez voir deux fichiers iplist.texte et iplist à l'intérieur de test.zipper Contient le mot passerelle.
Pour rechercher un texte à partir d'un fichier spécifique à l'intérieur du fichier zip, vous pouvez également l'ajouter:
$ Zipgrep Expression Zip_file Nom de fichier
Par exemple, la commande suivante recherchera le mot passerelle à partir d'un seul fichier spécifique iplist à l'intérieur du fichier zip test.zipper:
$ Test de passerelle Zipgrep.document zip / docs / iplist
Afficher les informations avec la commande zipinfo
La commande zipinfo dans Linux répertorie les fichiers contenus dans un fichier zip avec leurs autorisations, type de compression, taille d'origine, date et horodatage. Pour afficher des informations sur un fichier zip spécifique, tapez Zipinfo suivi du nom du fichier, comme indiqué ci-dessous:
$ nom de fichier zipinfo
La commande suivante affichera des informations sur le fichier zip fichiers1.zipper:
$ fichiers zipinfo1.zipper
Divisez le fichier avec la commande zipsplit
Parfois, la taille du fichier zip est trop grande pour que vous ne puissiez pas le télécharger ou l'envoyer en pièce jointe en raison de restrictions de taille. Avec la commande zipsplit, vous pouvez diviser les fichiers zip en fichiers plus petits qui sont plus faciles à transférer. Pour diviser un fichier zip en fichiers plus petits, avec une taille de plus que la syntaxe serait:
$ zipsplit -nfichier zip
Le est la taille maximale pour les fichiers fendus.
Par exemple, la commande ci-dessous se séparera test.zipper en fichiers plus petits avec une taille pas plus de 104857600 octets (104 Mo).
$ zipsplit -N 104857600 Test.zipper
Voici la sortie de la commande ci-dessus. Le test.zipper Le fichier est divisé en trois fichiers, qui sont séquentiellement nommés comme test1.zipper, test2.zipper, et test3.zipper, respectivement.
Si vous exécutez le LS commande, vous verrez les trois fichiers zip divisés, ainsi que le fichier zip d'origine.
Ajouter ou afficher les commentaires dans un fichier zip avec zipnote
Avec la commande zipnote, vous pouvez ajouter, afficher et modifier les commentaires dans votre fichier zip. Pour afficher les commentaires, utilisez la commande suivante:
$ zipnote zip_file
Remplace le zipper déposer avec votre nom de fichier zip réel.
S'il n'y a pas de commentaires, vous verrez la vue par défaut suivante:
Pour ajouter des commentaires, d'abord, vous devrez rediriger la sortie de zipnote au fichier de commentaires. Utilisez la commande suivante pour le faire:
$ zipnote zip_file> Commentaires
Par exemple, pour ajouter des commentaires à fichiers1.zipper, La commande serait:
$ fichiers zipnote1.zip> commentaires
Maintenant, modifiez le commentaires Fichier à l'aide de la commande suivante:
$ sudo nano commentaires
Pour chaque fichier, ajoutez vos commentaires au-dessus des lignes qui disent @ (commentaire au-dessus de cette ligne),puis enregistrer et quitter le fichier. Nous avons ajouté deux commentaires dans le fichier de commentaires, comme on l'a souligné dans la capture d'écran ci-dessous.
Maintenant, écrivez les commentaires sur votre fichier zip avec la commande suivante:
$ zipnote -w zip_file < comments
Dans notre cas, la commande serait;
$ zipnote -w fichiers1.zipper < comments
Maintenant, vous pouvez vérifier si les commentaires ont été ajoutés en émettant la commande suivante dans le terminal:
$ zipnote zip_file
Voir aide
Pour afficher l'aide concernant la commande zip, utilisez la commande suivante:
$ zip - help
Vous pouvez également visiter la page Zip Utility Man en utilisant la commande suivante:
$ man zip
Commande UNZIP dans Linux
Avec la commande unzip, vous pouvez facilement extraire du contenu à partir d'un fichier zip. Pour décompresser un fichier, utilisez la syntaxe suivante:
$ Options dezip zip_file
Dézip les fichiers zip simples
Pour décompresser un seul fichier zip, disons tester.zip, la commande serait:
$ Test Unzip.zipper
Il décompressera le fichier dans le répertoire actuel.
Décompressez un fichier à un autre répertoire
Vous pouvez également décompresser un fichier à un autre répertoire plutôt que dans le répertoire actuel à l'aide de l'option -D comme suit:
$ unzip zip_file -d / path / to / répertoire
Pour décompresser un fichier zip, test.zipper pour Documents, Répertoire, la commande serait:
$ Test Unzip.documents zip -d /
Dézip plusieurs fichiers
Considérez qu'il existe plusieurs fichiers zip dans un répertoire actuel que vous souhaitez décompresser. Vous pouvez les décompresser tous en utilisant une seule commande comme suit:
$ unzip '*.zipper'
Cette commande décompressera tous les fichiers zip résidant dans votre répertoire actuel.
Supprimer la sortie lorsque vous utilisez unzip
Semblable à la commande zip, vous pouvez également masquer la sortie de la commande unzip à l'aide du -q Option comme suit:
$ unzip -q zip_file
Exclure des fichiers à l'aide de UNZIP
Si vous souhaitez décompresser un fichier zip mais ne souhaitez pas extraire un fichier spécifique, utilisez le -X Option ci-dessous:
$ unzip zip_file -x nom de fichier
Par exemple, nous avons un zip le plus fileux.zipper contenant trois fichiers à l'intérieur. La commande suivante décompressera tous les fichiers à l'exception du fichier unique rapport.SMS:
$ Test Unzip.Rapport zip -x.SMS
UNZIP Fichiers zip protégés par mot de passe
Pour décompresser un fichier zip protégé par mot de passe sans inciter, utilisez -P Option, suivie du mot de passe du fichier:
$ unzip -pfichier zip
Par exemple, nous avons un fichier zip, test.zipper, qui est protégé par le mot de passe "étain". Pour extraire ce fichier, la commande serait:
$ unzip -p Test d'étain.zipper
Écraser les fichiers zip
Si vous décompressez un fichier à un emplacement où les fichiers extraits existaient déjà, vous serez invité à: écraser le fichier actuel, sauter la dézipation du fichier actuel, écraser tous les fichiers, sauter la décompression de tous les fichiers ou renommer le fichier.
Pour écraser tous les fichiers existants sans inciter, utilisez le -o Option comme suit:
$ unzip -o zip_file
Énumérez le contenu d'un zip
En utilisant le -l Option avec la commande unzip, vous pouvez répertorier le contenu d'un fichier zip sans l'extraire.
$ unzip -l zip_file
Exemple:
$ unzip -l test.zipper
Voici la sortie de la commande ci-dessus qui répertorie les fichiers contenus dans le fichier zip test.zipper, ainsi que leurs noms, la taille du fichier d'origine, la date et les horodatages.
Afficher les informations verbeuses
Afin d'afficher les informations verbales sans extraire le fichier zip, utilisez l'option -v comme suit:
$ unzip -v zip_file
Exemple:
$ unzip -v test.zipper
Voici la sortie de la commande ci-dessus qui répertorie les fichiers contenus dans le test.zipper, Avec leurs noms, la taille du fichier d'origine, la taille compressée, la méthode de compression, le rapport de compression, la date et les horodatages.
Vérifier les erreurs dans une archive
Avec l'option -t dans la commande unzip, vous pouvez vérifier si un fichier zip est valide et ne contient aucune erreur.
$ unzip -T test1.zipper
Exemple:
$ unzip -T test1.zipper
La commande ci-dessus vérifie les erreurs dans le test1.zipper Fichier et affiche les résultats. La sortie suivante montre qu'il n'y a pas d'erreur dans le fichier compressé.
Voir aide
Pour voir l'aide concernant la commande unzip, utilisez la commande suivante:
$ unzip - help
Vous pouvez également visiter la page Unzip Utility Man en utilisant la commande suivante:
$ man unzip
Conclusion
C'est tout ce que vous devez savoir pour maîtriser les commandes zip et dézip dans Linux. Dans cet article, nous avons discuté en détail de l'utilisation des commandes zip et dézip dans Linux avec diverses options et exemples de ligne de commande.