1927 votes

Comment décompresser un fichier zip à partir du terminal?

Vient de télécharger un fichier .zip depuis internet. Je veux utiliser le terminal pour décompresser le fichier. Quelle est la méthode correcte pour le faire ?

4 votes

Extraire tous les fichiers du dossier actuel, vous pouvez utiliser: unzip \*.zip

3 votes

@burtsevyg le backslash n'est pas nécessaire là-bas. Cela fera en sorte que le shell traite \* comme un symbole d'étoile littérale. Il suffit d'utiliser dézipper *.zip pour que le shell développe * à tous les fichiers se terminant par .zip

2 votes

Utiliser * seul n'a pas fonctionné pour moi. Cela a provoqué des erreurs de nom de fichier non trouvé. \* a fait l'affaire.

34voto

Nadeem Khan Points 449

Si les répertoires source et destination sont les mêmes, vous pouvez simplement exécuter :

unzip filename.zip

0 votes

Sur Ubuntu 17.04, -d nécessité pour une raison inconnue.

27voto

Zombo Points 1663

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 le zippage, bsdtar l'emporte. Supposons que vous avez cette entrée :

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

et que vous voulez ceci 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'atteindre ce qui précède à moins de vous cd d'abord.

0 votes

Autant que j'aimerais donner la victoire à un outil foss, apparemment bsdtar ne fonctionne pas bien avec les caractères spéciaux comme au moins un dans le mot Blóðstokkinn lors du décompression. Je n'ai même pas vérifié lors de la compression. Quel dommage. :/ unzip l'a géré sans problème.

25voto

kashminder Points 1330

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

Commande : unzip -\[option\] chemin-du-zip.
               -d un répertoire facultatif où extraire les fichiers  
               -l Liste les fichiers d'archive.
               -P _mot-de-passe_ Utilisez _mot-de-passe_ pour décrypter les entrées de fichier zip chiffrées (si disponibles).
               -t Vérifie l'intégrité des fichiers d'archive avec une somme de contrôle cyclique.  
               -u Met à jour les fichiers existants.  
               -z commentaire de l'archive

1 votes

Aussi décompressez -o pour écraser

12voto

M.A.K. Ripon Points 2699

Suivez ces instructions : http://www.codebind.com/linux-tutorials/unzip-zip-file-using-terminal-linux-ubuntu-linux-mint-debian/

Installer unzip

Tout d'abord, nous devons installer unzip sur notre système s'il n'est pas déjà installé. La commande unzip est utilisée pour extraire des fichiers d'une archive ZIP.

Exécutez la commande suivante pour installer unzip

sudo apt-get install unzip

Syntaxe de unzip

$ unzip [-aCcfjLlnopqtuvy] [-d dir] fichier_zip

Suivez maintenant les étapes ci-dessous :

Décompresser un fichier

OPTION 1 – Si le fichier Zip se trouve dans le même répertoire que votre terminal et que vous souhaitez l'extraire dans le répertoire de travail actuel.

Utilisez la commande suivante pour réaliser le scénario décrit ci-dessus

sudo unzip nom_du_fichier.zip

si le fichier zip est protégé par un mot de passe, utilisez la commande suivante :

sudo ubzip -P nom_du_fichier.zip

Assurez-vous d'utiliser -P (majuscule P) et non -p car ce sont des options différentes.

OPTION 2 – Si le fichier zip n'est pas présent dans le même répertoire et que vous souhaitez extraire/décompresser le fichier dans un répertoire différent.

Utilisez la commande suivante pour réaliser le scénario décrit ci-dessus

sudo unzip chemin/nom_fichier.zip -d un_autre_chemin_ou_meme_chemin

Si nous n'utilisons pas l'option -d, le fichier sera extrait dans le répertoire de travail actuel.

Et si le fichier zip est protégé par un mot de passe, nous pouvons également utiliser -P.

Utilisation de la commande tar dans Linux / Unix

tar est un acronyme pour Tape Archive. La commande tar est utilisée pour manipuler des archives dans Linux/Unix. Les administrateurs système utilisent fréquemment la commande tar pour regrouper un ensemble de fichiers ou répertoires dans une archive hautement compressée appelée tarball ou tar, bzip et gzip dans le système Linux/Unix.

Syntaxe de tar

tar [OPTION...] [FICHIER]...

Ou

Indicateurs requis de tar

tar {-r|-t|-c|-x|-u}

Indicateurs facultatifs de tar

tar {l'un des indicateurs requis} [ -d ][-B] [ -F ] [ -E ] [ -i ] [-h ] [ -l ] [ -m ] [ -o ] [ -p ] [ -w] [ -s ] [ -U ] [ -v ]
[-nombre] [-b blocs] [-f archive]

Exemples

Créer un fichier d'archive tar en compressant un répertoire ou un seul fichier

La commande terminal ci-dessous va créer un fichier .tar appelé sample_dir.tar avec un répertoire /home/codebind/sample_dir ou sample_dir dans le répertoire de travail actuel.

ripon@ripon:~$  tar -cvf sample_dir.tar sample_dir
sample_dir/
sample_dir/main.cpp
sample_dir/sample.png
sample_dir/output
ripon@ripon:~$ ls
sample_dir sample_dir.tar

entrer la description de l'image ici

Voici ce que signifient réellement ces indicateurs (-cvf)

-c, --create– créer une nouvelle archive

-x, --extract, --get– extraire des fichiers d'une archive

-f, --file ARCHIVE– utiliser un fichier ou périphérique d'archive ARCHIVE

Créer un fichier d'archive tar.gz ou tgz en comprimant un répertoire ou un seul fichier

La commande terminal ci-dessous va créer un fichier .tar.gz appelé sample_dir.tar.gz avec un répertoire /home/codebind/sample_dir ou sample_dir dans le répertoire de travail actuel.

Remarquez que nous avons ajouté l'indicateur supplémentaire -z à la commande. Voici ce que signifie l'indicateur -z en réalité

-z, --gzip, --gunzip --ungzip– Compresser l'archive avec gzip

ripon@ripon:~$ tar -cvzf sample_dir.tar.gz sample_dirsample_dir/
sample_dir/main.cpp
sample_dir/sample.png
sample_dir/output
ripon@ripon:~$ ls
sample_dir sample_dir.tar.gz

entrer la description de l'image ici

La commande ci-dessous va créer un fichier .tgz. À noter que tar.gz et tgz sont similaires.

ripon@ripon:~$ tar -cvzf sample_dir.tgz sample_dirsample_dir/
sample_dir/main.cpp
sample_dir/sample.png
sample_dir/output
ripon@ripon:~$ ls
sample_dir sample_dir.tgz

Compresser plusieurs répertoires ou fichiers en une seule fois

Disons, par exemple, que nous voulons compresser le répertoire sample_dir, le répertoire java_test, et le fichier abc.py dans un fichier tar appelé sample_dir.tar.gz.

Exécutez la commande suivante pour atteindre l'objectif ci-dessus.

ripon@ripon:~$ tar -cvzf sample_dir.tar.gz sample_dir java_test abc.py
sample_dir/
sample_dir/main.cpp
sample_dir/sample.png
sample_dir/output
java_test/
java_test/HelloCV.java
abc.py
ripon@ripon:~$ ls
sample_dir java_test abc.py sample_dir.tar.gz

entrer la description de l'image ici

Créer un fichier d'archive .bzip2 en compressant un répertoire ou un seul fichier

ripon@ripon:~$ tar -cjvf sample_dir.tar.bz2 sample_dir
sample_dir/
sample_dir/main.cpp
sample_dir/sample.png
sample_dir/output
ripon@ripon:~$ 

Remarquez que nous avons ajouté l'indicateur supplémentaire -f à la commande. Voici ce que l'indicateur -f signifie en réalité

-f, --file ARCHIVE– utiliser un fichier ou périphérique d'archive ARCHIVE

entrer la description de l'image ici

Extraire un fichier d'archive .tar

Nous pouvons extraire ou désarchiver le fichier compressé en utilisant la commande tar. La commande ci-dessous va extraire le contenu de sample_dir.tar dans le répertoire de travail actuel.

ripon@ripon:~$ tar -xvf sample_dir.tar
sample_dir/
sample_dir/main.cpp
sample_dir/sample.png
sample_dir/output
ripon@ripon:~$ 

entrer la description de l'image ici

La commande suivante va extraire ou désarchiver des fichiers dans un répertoire spécifié, c'est-à-dire /home/codebind/dir_name dans ce cas.

ripon@ripon:~$ tar -xvf sample_dir.tar -C /home/codebind/dir_name
sample_dir/
sample_dir/main.cpp
sample_dir/sample.png
sample_dir/output
ripon@ripon:~$ 

Nous avons ajouté l'indicateur supplémentaire -C à la commande. Voici ce que signifie l'indicateur -C en réalité

-C, --directory DIR – changer vers le répertoire DIR

entrer la description de l'image ici

2 votes

Aussi, pour vérifier si zip/unzip sont installés, utilisez zip -v et unzip -v. Si installé, cela renverra quelque chose comme UnZip 6.00 datant du 20 Avril 2009, par Debian. Original par Info-ZIP. (plusieurs lignes d'informations supplémentaires). Si non installé, cela dira quelque chose comme Le programme 'zip' n'est actuellement pas installé. Vous pouvez l'installer en tapant : apt install zip.

0 votes

Le lien est cassé.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X