GNU/Linux >> Tutoriels Linux >  >> Linux

Exemples pratiques de la commande Unzip sous Linux

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 ?


Linux
  1. 25 exemples pratiques de commande de recherche utiles sous Linux

  2. Commande cp sous Linux :7 exemples pratiques

  3. Commande d'arrêt de Linux :5 exemples pratiques

  4. Exemples pratiques de la commande rsync sous Linux

  5. 5 exemples pratiques de la commande dd sous Linux

Les 50 exemples pratiques de la commande SED sous Linux

15 exemples pratiques de commande Rsync sous Linux

5 exemples pratiques de la commande Tail sous Linux

commande echo sous Linux :7 exemples pratiques

5 exemples pratiques de la commande Read sous Linux

Exemples essentiels de la commande ps sous Linux