Si vous avez un fichier compressé zip, vous pouvez le décompresser dans la ligne de commande Linux. La commande unzip sous Linux est assez polyvalente et vous pouvez l'utiliser pour faire bien plus que simplement extraire un fichier zip.
J'ai expliqué comment compresser un dossier sous Linux dans le passé. Il est temps de voir les différentes utilisations de la commande unzip. Avant de faire cela, assurez-vous que décompressez a été installé sur votre système. Vous pouvez utiliser le gestionnaire de packages de votre distribution pour installer la commande.
Sur Ubuntu et Debian, vous pouvez utiliser cette commande :
sudo apt install unzip
Une fois que vous avez vérifié cela, voyons comment utiliser unzip dans le terminal Linux.
Commande de décompression sous Linux
La commande unzip a une syntaxe très simple :
unzip [option] zip_file
Si vous l'utilisez pour extraire un fichier zip sans aucune option, il extraira tous les fichiers du répertoire courant :
unzip webdesign.zip
Archive: webdesign.zip
inflating: 339252-PAJF05-394.ai
inflating: 339252-PAJF07-322.eps
inflating: 339252-PALBTI-224.ai
inflating: 339252-PALBTL-394.eps
inflating: 339252-PALBTM-53.jpg
inflating: License free.txt
inflating: License premium.txt
Et ce n'est pas ce que vous voudriez la plupart du temps. Cela ne fera qu'inonder votre répertoire actuel avec tous les fichiers extraits.
ls
339252-PAJF05-394.ai 339252-PALBTI-224.ai 339252-PALBTM-53.jpg 'License premium.txt'
339252-PAJF07-322.eps 339252-PALBTL-394.eps 'License free.txt' webdesign.zip
1. Décompressez dans un répertoire
Le comportement attendu est que les fichiers doivent être extraits dans un certain répertoire, normalement avec le même nom que le fichier zip.
Vous pouvez spécifier le répertoire cible où vous souhaitez extraire les fichiers.
unzip -d target_directory zip_file
Si le répertoire cible n'existe pas, il sera créé. Vous ne pouvez cependant pas créer de répertoires imbriqués de cette manière.
Notez que vous pouvez également mettre le répertoire cible à la fin, mais toutes les options ne peuvent pas être ajoutées à la fin.
unzip zip_file -d target_directory
2. Voir le contenu du fichier zip sans extraire
Si vous voulez voir ce que contient le fichier zip, vous n'avez pas toujours besoin de l'extraire en premier. Vous pouvez utiliser le -l
option et il affichera le contenu du fichier zip.
unzip -l zip_file
Comme vous pouvez le voir, il affiche également l'horodatage des fichiers et la taille réelle des fichiers individuels en octets.
[email protected]:$ unzip -l webdesign.zip
Archive: webdesign.zip
Length Date Time Name
--------- ---------- ----- ----
205358 2018-06-18 23:14 339252-PAJF05-394.ai
996906 2018-06-18 23:14 339252-PAJF07-322.eps
213968 2018-06-20 00:00 339252-PALBTI-224.ai
1005362 2018-06-20 00:00 339252-PALBTL-394.eps
305531 2018-06-20 00:00 339252-PALBTM-53.jpg
1462 2018-06-20 09:45 License free.txt
1116 2018-06-20 09:45 License premium.txt
--------- -------
2729703 7 files
Si vous le souhaitez, vous pouvez obtenir plus d'informations comme la taille compressée, le taux de compression en utilisant le mode verbeux avec -v
option. Le CRC-32 dans la sortie est le contrôle de redondance cyclique.
[email protected]:$ unzip -v webdesign.zip
Archive: webdesign.zip
Length Method Size Cmpr Date Time CRC-32 Name
-------- ------ ------- ---- ---------- ----- -------- ----
205358 Defl:N 142097 31% 2018-06-18 23:14 792f2380 339252-PAJF05-394.ai
996906 Defl:N 221228 78% 2018-06-18 23:14 440390d3 339252-PAJF07-322.eps
213968 Defl:N 147568 31% 2018-06-20 00:00 cdb64dfc 339252-PALBTI-224.ai
1005362 Defl:N 226727 77% 2018-06-20 00:00 aed3d97a 339252-PALBTL-394.eps
305531 Defl:N 183363 40% 2018-06-20 00:00 e4ced90f 339252-PALBTM-53.jpg
1462 Defl:N 728 50% 2018-06-20 09:45 0eb9e17b License free.txt
1116 Defl:N 558 50% 2018-06-20 09:45 165dd84e License premium.txt
-------- ------- --- -------
2729703 922269 66% 7 files
3. Écraser tous les fichiers sans demander
S'il existe déjà des fichiers portant le même nom dans le répertoire où vous extrayez les fichiers, vous serez promu pour chacun de ces fichiers. Vous pouvez forcer l'écrasement de tous les fichiers avec l'option -o
.
unzip -o -d target_directory zip_file
4. N'écraser aucun fichier -n
Si vous ne voulez pas qu'un fichier existant soit écrasé par des fichiers nouvellement extraits, utilisez l'option -n (signifie ne jamais écraser).
unzip -n -d target_directory zip_file
5. Mettre à jour les fichiers et créer si nécessaire
Ceci est légèrement différent de l'écrasement de tous les fichiers. Dans ce cas, seuls les fichiers dont l'horodatage est plus récent que les fichiers existants seront écrasés. Si un fichier n'existe pas, il sera créé.
Vous pouvez y parvenir avec l'option -u :
unzip -u -d target_directory zip_file
6. Rafraîchir les fichiers existants mais n'en créer aucun
Léger changement par rapport à l'exemple précédent ici. Dans celui-ci, il mettra à jour les fichiers existants s'ils ont un horodatage plus ancien, mais il ne créera pas de nouveaux fichiers même s'ils n'existent pas.
L'option -f vous permet de faire cela :
unzip -f -d target_directory zip_file
7. Extraire en mode silencieux
Lorsque vous décompressez un fichier, il affiche tous les fichiers qui ont été extraits à l'écran. Imaginez maintenant un fichier zip contenant des centaines de fichiers. Si vous l'extrayez, votre écran sera encombré par la sortie.
Vous pouvez utiliser le mode silencieux avec l'option -q
et vous ne verrez rien à l'écran :
unzip -q -d target_directory zip_file
8. Exclure les fichiers de l'extraction
Vous pouvez également exclure certains fichiers ou certains types de fichiers de l'extraction.
unzip zip_file -x file_to_exclude
Dans mon exemple, disons que je ne veux extraire aucun fichier .eps.
[email protected]:$ unzip webdesign.zip -x *.eps
Archive: webdesign.zip
inflating: 339252-PAJF05-394.ai
inflating: 339252-PALBTI-224.ai
inflating: 339252-PALBTM-53.jpg
inflating: License free.txt
inflating: License premium.txt
Ce sont quelques-uns des exemples les plus courants de la commande unzip sous Linux. Vous pouvez toujours consulter sa page de manuel pour en savoir plus sur les options.
Utilisez-vous fréquemment une autre option avec décompresser ? Pourquoi ne pas le partager avec nous dans les commentaires ?