Je viens de télécharger un .fichier zip à partir d'Internet. Je veux utiliser le terminal pour décompresser le fichier. Quelle est la bonne façon de procéder?
Si le unzip la commande n'est pas déjà installée sur votre système, puis exécutez:
sudo apt-get install unzipAprè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_folderSi les répertoires source et de destination sont les mêmes, vous pouvez simplement faire:
unzip file.zip
Vous pouvez simplement utiliser unzip.
Installez-le:
apt-get install unzipEt l'utiliser:
cd /path/to/fileunzip file.zip
Un outil plus utile est 7z, qui compresse 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-fullCette commande répertorie le contenu du zip:
7z l zipfile.zipCette commande extrait le contenu du zip:
7z x zipfile.zip
Vous pouvez utiliser:
unzip file.zip -d somedirpour extraire vers yourpath/somedir
Si vous souhaitez extraire vers un chemin absolu, utilisez
sudo unzip file.zip -d /somedir
Utilisation d'outils de script: Perl et Python
De nombreuses réponses ici mentionnent des outils qui nécessitent une installation, mais personne n'a mentionné que deux des langages de script d'Ubuntu, Perl et Python, sont déjà livrés avec tous les modules nécessaires qui vous permettent de décompresser une archive zip, ce qui signifie que vous n'avez pas besoin d'installer quoi que ce soit d'autre. 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 d'une seule ligne si nous le voulions.
Python
#!/usr/bin/env python3import sysfrom zipfile import PyZipFilefor zip_file in sys.argv[1:]: pzf = PyZipFile(zip_file) pzf.extractall()Utilisation:
./pyunzip.py master.zip ou
python3 pyunzip.py master.zipPerl
#!/usr/bin/env perluse Archive::Extract;foreach my $filepath (@ARGV){ my $archive = Archive::Extract->new( archive => $filepath ); $archive->extract;}Utilisation:
./perlunzip master.zipou
perl perlunzip.pl master.zipVoir aussi
Si les répertoires source et de destination sont les mêmes, vous pouvez simplement faire:
unzip filename.zip
Je préfère bsdtar de unzip/zip. Pour l'extraction, ils sont assez similaires:
bsdtar -x -f /one/two/three/four.zip -C /fiveunzip /one/two/three/four.zip -d /fiveCependant pour la fermeture à glissière, bsdtar gagner. Dites que vous avez cette entrée:
/one/two/three/alfa/four.txt/one/two/three/bravo/four.txtet je veux ça dans le fichier zip:
alfa/four.txtbravo/four.txtC'est facile avec bsdtar:
bsdtar -a -c -f four.zip -C /one/two/three alfa bravozip n'a pas le -d option comme décompresser, vous n'avez donc aucun moyen d'atteindre ce qui précède à moins que vous cd premier.
Voici la description détaillée des options que je trouve utiles:
Commande: décompressez - [option] chemin zip. - d un répertoire facultatif dans lequel extraire les fichiers-l Répertorie les fichiers d'archive. -P mot de passe Utiliser mot de passe pour déchiffrer les entrées de fichier zip chiffrées (le cas échéant). - t Fichiers d'archive de test avec contrôle de redondance cyclique. - u Mettre à jour les fichiers existants. - z archive commentaire
Suivez ces instructions: http://www.codebind.com/linux-tutorials/unzip-zip-file-using-terminal-linux-ubuntu-linux-mint-debian/
Installer unzip
Donc, tout d'abord, nous devons installer unzip sur notre système s'il n'est pas installé. la commande unzip est utilisée pour extraire des fichiers de l'archive aZIP.
Exécutez la commande suivante pour installer
unzipsudo apt-get install unzip
unzipSyntaxe$ unzip [-aCcfjLlnopqtuvy] [-d dir] zipfileSuivez maintenant les étapes ci-dessous:
Décompressez le Fichier
OPTION 1 – Si le fichier Zip se trouve dans le même répertoire / dossier que votre terminal et que nous voulons 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 zip_file_name.zipsi le fichier zip est protégé par un mot de passe, utilisez la commande suivante :
sudo ubzip -P zip_file_name.zipAssurez-vous d'utiliser -P (P majuscule) et non-p car les options sont différentes.
OPTION 2 – Si le fichier zip n'est pas présent dans le même répertoire et que nous voulons 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 path/filename.zip -d another_path_or_same_pathsi nous n'utilisons pas l'option-d, le fichier sera extrait dans le répertoire presentworking.
Et si le fichier zip est protégé par mot de passe, nous pouvons également utiliser
-P.utiliser la commande tar sous Linux / Unix
tarest un acronyme pour Tape Archive. la commande tar est utilisée pour manipuler les archives sous Linux / Unix. Les administrateurs système utilisent fréquemment tarcommand pour extraire un tas de fichiers ou de répertoires dans des archives hautement compressées appeléestarballoutar,bzipetgzipdans Linux / Unix système.syntaxe tar
tar [OPTION...] [FILE]...Ou
drapeaux requis tar
tar {-r|-t|-c|-x|-u}drapeaux facultatifs tar
tar {one of the required Flags} [ -d ][-B] [ -F ] [ -E ] [ -i ] [-h ] [ -l ] [ -m ] [ -o ] [ -p ] [ -w] [ -s ] [ -U ] [ -v ][-Number] [-b Blocks] [-f Archive]Exemple
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
.tarfichier appelésample_dir.taravec un annuaire/home/codebind/sample_dirousample_dirdans le répertoire de travail actuel.ripon@ripon:~$ tar -cvf sample_dir.tar sample_dirsample_dir/sample_dir/main.cppsample_dir/sample.pngsample_dir/outputripon@ripon:~$ lssample_dir sample_dir.tarVoici ce que ces drapeaux (-cvf) signifient réellement
-c, --create- créer une nouvelle archive
-x, --extract, --get- extraire des fichiers d'une archive
-f, --file ARCHIVE- utiliser un fichier d'archive ou une ARCHIVE de périphériqueCréer
tar.gzoutgzArchiver le Fichier en Compressant un Répertoire ou un Seul FichierLa commande terminal ci-dessous va créer un
.tar.gzfichier appelésample_dir.tar.gzavec un annuaire/home/codebind/sample_dirousample_dirdans le répertoire de travail actuel.Notez que nous avons ajouté un indicateur supplémentaire -z à la commande.Voici ce que theflag-z signifie réellement
-z, --gzip, --gunzip --ungzip- Compresser l'archive avec gzipripon@ripon:~$ tar -cvzf sample_dir.tar.gz sample_dirsample_dir/sample_dir/main.cppsample_dir/sample.pngsample_dir/outputripon@ripon:~$ lssample_dir sample_dir.tar.gzLa commande ci-dessous créera un .fichier tgz. Un ceci pour remarquer istar.gz et tgz sont tous deux similaires.
ripon@ripon:~$ tar -cvzf sample_dir.tgz sample_dirsample_dir/sample_dir/main.cppsample_dir/sample.pngsample_dir/outputripon@ripon:~$ lssample_dir sample_dir.tgzCompression de Plusieurs Répertoires ou Fichiers à la fois
Disons, Par exemple, que nous voulons compresser le
sample_dirannuaire, lejava_testrépertoire, et leabc.pyfichier 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.pysample_dir/sample_dir/main.cppsample_dir/sample.pngsample_dir/outputjava_test/java_test/HelloCV.javaabc.pyripon@ripon:~$ lssample_dir java_test abc.py sample_dir.tar.gzCréer
.bzip2Archiver le Fichier en Compressant un Répertoire ou un Seul Fichierripon@ripon:~$ tar -cjvf sample_dir.tar.bz2 sample_dirsample_dir/sample_dir/main.cppsample_dir/sample.pngsample_dir/outputripon@ripon:~$Notez que nous avons ajouté un drapeau supplémentaire
-fau commandement.Voici ce quele drapeau-fen fait, je veux dire
-f, --file ARCHIVE- utiliser un fichier d'archive ou une ARCHIVE de périphériqueExtrait
.tarFichier d'ArchiveNous pouvons extraire ou décompresser le fichier compressé à l'aide de la commande tar. La commande ci-dessous extraira le contenu de
sample_dir.tardans le répertoire des représentants.ripon@ripon:~$ tar -xvf sample_dir.tarsample_dir/sample_dir/main.cppsample_dir/sample.pngsample_dir/outputripon@ripon:~$La commande suivante extraira ou décompressera les fichiers dans le répertoire spécifié, c'est-à-dire
/home/codebind/dir_namedans ce cas.ripon@ripon:~$ tar -xvf sample_dir.tar -C /home/codebind/dir_namesample_dir/sample_dir/main.cppsample_dir/sample.pngsample_dir/outputripon@ripon:~$nous avons ajouté un drapeau supplémentaire
-Cau commandement.Voici ce que le drapeau-Cen fait, je veux dire
-C, --directory DIR- changer pour répertoire DIR
Extrayez tous les fichiers du dossier actuel, vous pouvez utiliser: décompressez \*.zip
@burtsevyg la barre oblique inverse n’est pas nécessaire là-bas. Cela fera que shell traitera \ * ' comme un symbole d'étoile littéral. Utilisez simplement "décompresser".zip 'pour que shell étende *’ à tous les fichiers se terminant par .zip
Utiliser * ' seul ne fonctionnait pas pour moi. Cela a causé des erreursnom de fichier non apparié". ` \ * 'a fait le travail.
Ubuntu a plusieurs outils de compression/décompression déjà installés. Exécutez ‘apropos zip’ à partir de la console pour la liste complète.
Je vous recommande d’utiliser et d’apprendre “unar” au lieu d’un zip spécifique, sauf si vous avez besoin de fonctionnalités spécifiques. "Les formats de fichiers pris en charge incluent Zip, Tar-GZip, Tar-BZip2, RAR, 7-zip, LhA, StuffIt et de nombreux autres formats anciens et obscurs. ".
En relation (pour `*.fichiers tgz’): [Comment décompresser .fichier tgz utilisant le terminal?] (command line - How to unzip .tgz file using the terminal? - Ask Ubuntu)





