ZIP est le format de fichier d'archive le plus largement utilisé qui prend en charge la compression de données sans perte. Un fichier ZIP est un conteneur de données contenant un ou plusieurs fichiers ou répertoires compressés.
Dans ce tutoriel, nous expliquerons comment décompresser des fichiers dans les systèmes Linux via la ligne de commande en utilisant le unzip
commande.
Installation de unzip
#
unzip
n'est pas installé par défaut dans la plupart des distributions Linux, mais vous pouvez facilement l'installer à l'aide du gestionnaire de packages de votre distribution.
Installer unzip
sur Ubuntu et Debian #
sudo apt install unzip
Installer unzip
sur CentOS et Fedora #
sudo yum install unzip
Comment décompresser un fichier ZIP #
Dans sa forme la plus simple, lorsqu'il est utilisé sans aucune option, le unzip
La commande extrait tous les fichiers de l'archive ZIP spécifiée dans le répertoire courant.
Par exemple, supposons que vous ayez téléchargé le fichier ZIP d'installation de Wordpress. Pour décompresser ce fichier dans le répertoire actuel, il vous suffit d'exécuter la commande suivante :
unzip latest.zip
Les fichiers ZIP ne prennent pas en charge les informations de propriété de style Linux. Les fichiers extraits appartiennent à l'utilisateur qui exécute la commande.
Vous devez disposer d'autorisations en écriture sur le répertoire dans lequel vous extrayez l'archive ZIP.
Supprimer la sortie du unzip
Commande #
Par défaut, unzip
imprime les noms de tous les fichiers extraits et un résumé lorsque l'extraction est terminée.
Utilisez le -q
commutateur pour supprimer l'impression de ces messages.
unzip -q filename.zip
Décompresser un fichier ZIP dans un autre répertoire #
Pour décompresser un fichier ZIP dans un répertoire différent de celui en cours, utilisez le -d
commutateur :
unzip filename.zip -d /path/to/directory
Par exemple, pour décompresser l'archive WordPress latest.zip
au /var/www/
répertoire, vous utiliseriez la commande suivante :
sudo unzip latest.zip -d /var/www
Dans la commande ci-dessus, nous utilisons sudo
car généralement l'utilisateur sous lequel nous sommes connectés n'a pas les droits d'écriture sur /var/www
annuaire. Lorsque les fichiers ZIP sont décompressés à l'aide de sudo
, les fichiers et répertoires extraits appartiennent à l'utilisateur root.
Décompressez un fichier ZIP protégé par mot de passe #
Pour décompresser un fichier protégé par mot de passe, appelez le unzip
commande avec le -P
option suivie du mot de passe :
unzip -P PasswOrd filename.zip
La saisie d'un mot de passe sur la ligne de commande n'est pas sécurisée et doit être évitée. Une option plus sécurisée consiste à extraire le fichier normalement sans fournir le mot de passe. Si le fichier ZIP est crypté, unzip
vous demandera d'entrer le mot de passe :
unzip filename.zip
archive: filename.zip
[filename.zip] file.txt password:
unzip
utilisera le même mot de passe pour tous les fichiers cryptés tant qu'il est correct.
Exclure les fichiers lors de la décompression d'un fichier ZIP #
Pour exclure des fichiers ou des répertoires spécifiques de l'extraction, utilisez le -x
option suivie d'une liste de fichiers d'archive séparés par des espaces que vous souhaitez exclure de l'extraction :
unzip filename.zip -x file1-to-exclude file2-to-exclude
Dans l'exemple suivant, nous extrayons tous les fichiers et répertoires de l'archive ZIP à l'exception de .git
répertoire :
unzip filename.zip -x "*.git/*"
Ecraser les fichiers existants #
Supposons que vous avez déjà décompressé un fichier ZIP et que vous exécutez à nouveau la même commande :
unzip latest.zip
Par défaut, unzip
vous demandera si vous souhaitez écraser uniquement le fichier actuel, écraser tous les fichiers, ignorer l'extraction du fichier actuel, ignorer l'extraction de tous les fichiers ou renommer le fichier actuel.
Archive: latest.zip
replace wordpress/xmlrpc.php? [y]es, [n]o, [A]ll, [N]one, [r]ename:
Si vous souhaitez écraser les fichiers existants sans y être invité, utilisez le -o
choix :
unzip -o filename.zip
Utilise cette option avec prudence. Si vous avez apporté des modifications aux fichiers, les modifications sont perdues.
Décompresser un fichier ZIP sans écraser les fichiers existants #
Disons que vous avez déjà décompressé un fichier ZIP et que vous avez apporté des modifications à certains fichiers, mais que vous avez accidentellement supprimé quelques fichiers. Vous souhaitez conserver les modifications et restaurer les fichiers supprimés à partir de l'archive ZIP.
Dans ce cas, utilisez le -n
option qui force unzip
pour ignorer l'extraction d'un fichier déjà existant :
unzip -n filename.zip
Décompressez plusieurs fichiers ZIP #
Vous pouvez utiliser des expressions régulières pour faire correspondre plusieurs archives.
Par exemple, si vous avez plusieurs fichiers ZIP dans votre répertoire de travail actuel, vous pouvez décompresser tous les fichiers en utilisant une seule commande :
unzip '*.zip'
Notez les guillemets simples autour du *.zip
. Si vous avez oublié de citer l'argument, le shell développera le caractère générique et vous obtiendrez une erreur.
Liste du contenu d'un fichier Zip #
Pour lister le contenu d'un fichier ZIP, utilisez le -l
choix :
unzip -l filename.zip
Dans l'exemple ci-dessous, nous listons tous les fichiers d'installation de WordPress :
unzip -l latest.zip
La sortie ressemblera à ceci :
Archive: latest.zip
Length Date Time Name
--------- ---------- ----- ----
0 2018-08-02 22:39 wordpress/
3065 2016-08-31 18:31 wordpress/xmlrpc.php
364 2015-12-19 12:20 wordpress/wp-blog-header.php
7415 2018-03-18 17:13 wordpress/readme.html
...
...
21323 2018-03-09 01:15 wordpress/wp-admin/themes.php
8353 2017-09-10 18:20 wordpress/wp-admin/options-reading.php
4620 2017-10-24 00:12 wordpress/wp-trackback.php
1889 2018-05-03 00:11 wordpress/wp-comments-post.php
--------- -------
27271400 1648 files
Conclusion #
unzip
est un utilitaire qui vous aide à répertorier, tester et extraire les archives ZIP compressées.
Pour créer une archive ZIP sur un système Linux, vous devez utiliser la commande zip.
N'hésitez pas à laisser un commentaire si vous avez des questions.