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 ?
Sur Ubuntu 17.04, -d nécessité pour une raison inconnue.
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 ?
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.
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
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éetarball
outar
,bzip
etgzip
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
ousample_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
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 ARCHIVECréer un fichier d'archive
tar.gz
outgz
en comprimant un répertoire ou un seul fichierLa commande terminal ci-dessous va créer un fichier
.tar.gz
appelésample_dir.tar.gz
avec un répertoire/home/codebind/sample_dir
ousample_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 gzipripon@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
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épertoirejava_test
, et le fichierabc.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
Créer un fichier d'archive
.bzip2
en compressant un répertoire ou un seul fichierripon@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 ARCHIVEExtraire 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:~$
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
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
.
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.
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'utiliserdé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 denom de fichier non trouvé
.\*
a fait l'affaire.1 votes
Je vous recommande d'utiliser et d'apprendre "unar" au lieu d'un spécifique zip, sauf si vous avez besoin de fonctionnalités spécifiques. "Les formats de fichier pris en charge comprennent Zip, Tar-GZip, Tar-BZip2, RAR, 7-zip, LhA, StuffIt et de nombreux autres formats anciens et obscurs."
2 votes
Ubuntu dispose déjà de plusieurs outils de compression/décompression installés. Exécutez
apropos zip
depuis la console pour afficher la liste complète.0 votes
Lié (pour les fichiers
*.tgz
) : Comment décompresser un fichier .tgz en utilisant le terminal ?