Comment décompresser un fichier zip depuis le terminal?

1123

Vous venez de télécharger un fichier .zip sur Internet. Je veux utiliser le terminal pour décompresser le fichier. Quelle est la bonne façon de faire cela?

    
posée ubuntu-nerd 11.12.2011 - 05:37
la source

10 réponses

1546

Si la commande unzip n’est pas déjà installée sur votre système, exécutez:

sudo apt-get install unzip

Après avoir installé l’utilitaire de décompression, si vous souhaitez extraire vers un dossier de destination particulier, vous pouvez utiliser:

unzip file.zip -d destination_folder
    
réponse donnée Kelley 11.12.2011 - 05:44
la source
189

Vous pouvez simplement utiliser unzip .

Installez-le: apt-get install unzip

Et l'utiliser: unzip file.zip

    
réponse donnée Panther 11.12.2011 - 05:41
la source
94

Un outil plus utile est 7z , qui zippe et décompresse une gamme de formats de compression, notamment lzma , généralement le protocole offrant les taux de compression les plus élevés.

Cette commande installe 7z :

sudo apt-get install p7zip-full

Cette commande répertorie le contenu du fichier zip:

7z l zipfile.zip

Cette commande extrait le contenu du fichier zip:

7z x zipfile.zip
    
réponse donnée Chris 14.09.2013 - 10:01
la source
37

Vous pouvez utiliser:

unzip file.zip -d somedir

extraire vers yourpath/somedir

Si vous souhaitez extraire vers un chemin absolu, utilisez

sudo unzip file.zip -d /somedir
    
réponse donnée cristobalhdez 28.05.2013 - 18:45
la source
21

Utilisation d’outils de script: Perl et Python

De nombreuses réponses mentionnent des outils nécessitant une installation, mais personne n’a mentionné que deux des langages de script d’Ubuntu, Perl et Python, contiennent déjà tous les modules nécessaires pour décompresser une archive zip, ce qui signifie que vous n’avez pas besoin de pour installer autre chose. Utilisez simplement l'un des deux scripts présentés ci-dessous pour faire le travail. Ils sont assez courts et peuvent même être condensés en une commande simple si nous le voulions.

Python

#!/usr/bin/env python3
import sys
from zipfile import PyZipFile
for zip_file in sys.argv[1:]:
    pzf = PyZipFile(zip_file)
    pzf.extractall()

Utilisation:

./pyunzip master.zip

Perl

#!/usr/bin/env perl
use Archive::Extract;
foreach my $filepath (@ARGV){
    my $archive = Archive::Extract->new( archive => $filepath );
    $archive->extract;
}

Utilisation:

./perlunzip master.zip
    
réponse donnée Sergiy Kolodyazhnyy 02.06.2017 - 20:43
la source
19

Si votre destination est identique au fichier zip source, vous pouvez simplement faire:

unzip filename.zip
    
réponse donnée Nadeem Khan 20.03.2014 - 07:28
la source
13

Je préfère bsdtar à unzip / zip . Pour l'extraction, ils sont assez similaires:

bsdtar -x -f /one/two/three/four.zip -C /five
unzip /one/two/three/four.zip -d /five

Cependant, pour la compression, bsdtar gagne. Disons que vous avez cette entrée:

/one/two/three/alfa/four.txt
/one/two/three/bravo/four.txt

et voulez cela dans le fichier zip:

alfa/four.txt
bravo/four.txt

C'est facile avec bsdtar :

bsdtar -a -c -f four.zip -C /one/two/three alfa bravo

zip n’a pas l’option -d comme unzip, donc vous n’avez aucun moyen d’obtenir ce qui précède à moins que vous cd en premier.

    
réponse donnée Steven Penny 02.12.2016 - 02:50
la source
13

Voici la description détaillée des options que je trouve utiles:

Command: unzip -[option] zip-path.  
               -l List archive files.  
               -t Test archive files with cyclic redundancy check.  
               -u update the existing files.  
               -z archive comment.  
    
réponse donnée kashminder 14.10.2014 - 12:58
la source
1

Voici la commande au cas où vous voudriez extraire dans le répertoire actuel

unzip <source_file_path>.zip 

si vous souhaitez extraire vers un dossier de destination particulier, vous pouvez utiliser

unzip <sorce_file_path>.zip -d <destination_path>

s'il y a un mot de passe, vous pouvez également utiliser -P

unzip -P <password> <sorce_file_path>.zip 

Si le package unzip n’est pas déjà installé sur votre système, exécutez:

sudo apt-get install unzip
    
réponse donnée Soumik Debnath 01.11.2017 - 18:54
la source
0

Tout d’abord, vous devez installer unzip s’il n’est pas installé.

sudo apt-get install unzip

1 - Si le fichier se trouve dans le même répertoire que le terminal et que vous souhaitez l’extraire au même emplacement.

sudo unzip file.zip

si le fichier est protégé par un mot de passe:

sudo unzip -P file.zip

ans, assurez-vous que l'option -P n'est pas -p

2 - Si le fichier ne se trouve pas dans le même répertoire et que vous souhaitez l'extraire dans un répertoire différent, le terminal est. utiliser:

sudo unzip path/filename.zip -d anotherOrSamePath

si vous n'avez pas utilisé -d , le fichier sera extrait à l'emplacement où se trouve ce terminal.

Et s'il existe un mot de passe, vous pouvez également utiliser -P .

    
réponse donnée Mahmoud S. Marwad 28.08.2017 - 08:55
la source

Lire d'autres questions sur les étiquettes