Wie entpacke ich eine Zip-Datei vom Terminal?

Gerade heruntergeladen a.zip-Datei aus dem Internet. Ich möchte das Terminal verwenden, um die Datei zu entpacken. Was ist der richtige Weg, dies zu tun?

Wenn die unzip befehl nicht bereits auf Ihrem System installiert ist, führen Sie dann aus:

sudo apt-get install unzip

Wenn Sie nach der Installation des Dienstprogramms zum Entpacken in einen bestimmten Zielordner extrahieren möchten, können Sie Folgendes verwenden:

unzip file.zip -d destination_folder

Wenn die Quell- und Zielverzeichnisse identisch sind, können Sie einfach Folgendes tun:

unzip file.zip

Sie können einfach verwenden unzip.

Installieren Sie es:

apt-get install unzip

Und benutze es:

cd /path/to/fileunzip file.zip

Ein nützlicheres Werkzeug ist 7z, das eine Reihe von Komprimierungsformaten komprimiert und entpackt, insbesondere lzma, normalerweise das Protokoll, das die höchsten Komprimierungsraten bietet.

Dieser Befehl installiert 7z:

sudo apt-get install p7zip-full

Dieser Befehl listet den Inhalt der ZIP-Datei auf:

7z l zipfile.zip

Dieser Befehl extrahiert den Inhalt der ZIP-Datei:

7z x zipfile.zip

Sie können verwenden:

unzip file.zip -d somedir

zu extrahieren nach yourpath/somedir

Wenn Sie in einen absoluten Pfad extrahieren möchten, verwenden Sie

sudo unzip file.zip -d /somedir

Verwenden von Skriptwerkzeugen: Perl und Python

In vielen Antworten werden Tools erwähnt, die installiert werden müssen, aber niemand hat erwähnt, dass zwei der Skriptsprachen von Ubuntu, Perl und Python, bereits mit allen erforderlichen Modulen geliefert werden, mit denen Sie ein Zip-Archiv entpacken können, was bedeutet, dass Sie dies nicht tun müssen Installieren Sie etwas anderes. Verwenden Sie einfach eines der beiden unten aufgeführten Skripte, um die Arbeit zu erledigen. Sie sind ziemlich kurz und können sogar zu einem einzeiligen Befehl verdichtet werden, wenn wir wollten.

Pythonschlange

#!/usr/bin/env python3import sysfrom zipfile import PyZipFilefor zip_file in sys.argv[1:]:    pzf = PyZipFile(zip_file)    pzf.extractall()

Nutzung:

./pyunzip.py master.zip 

oder

python3 pyunzip.py master.zip

Perl

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

Nutzung:

./perlunzip master.zip

oder

perl perlunzip.pl master.zip

Siehe auch

Wenn die Quell- und Zielverzeichnisse identisch sind, können Sie einfach Folgendes tun:

unzip filename.zip

Ich bevorzuge bsdtar zu unzip/zip. Zum Extrahieren sind sie sich ziemlich ähnlich:

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

Jedoch zum Zippen, bsdtar WINS. Angenommen, Sie haben diese Eingabe:

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

und will das in der Zip-Datei:

alfa/four.txtbravo/four.txt

Das geht ganz einfach mit bsdtar:

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

zip hat nicht die -d option wie Entpacken, so dass Sie keine Möglichkeit haben, das oben Genannte zu erreichen, es sei denn, Sie cd erst.

Hier ist die detaillierte Beschreibung der Optionen, die ich nützlich finde:

Befehl: entpacken - [Option] zip-Pfad.               -d ein optionales Verzeichnis, in das Dateien extrahiert werden sollen -l Archivdateien auflisten.               -P Passwort Verwenden Passwort zum Entschlüsseln verschlüsselter ZIP-Dateieinträge (falls vorhanden).               -t Testarchivdateien mit zyklischer Redundanzprüfung.                 -u Aktualisieren Sie die vorhandenen Dateien.                 -z Archiv Kommentar

Befolgen Sie diese Anweisungen: http://www.codebind.com/linux-tutorials/unzip-zip-file-using-terminal-linux-ubuntu-linux-mint-debian/

Installieren Sie entpacken

Also müssen wir zuerst unzip auf unserem System installieren, wenn es nicht installiert ist. der Befehl Entpacken wird verwendet, um Dateien aus dem AZip-Archiv zu extrahieren.

Führen Sie zum Installieren den folgenden Befehl aus unzip

sudo apt-get install unzip

unzip Syntax

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

Befolgen Sie nun die folgenden Schritte:

Datei entpacken

MÖGLICHKEIT 1 – Wenn sich die Zip-Datei im selben Verzeichnis / Ordner befindet, in dem sich Ihr Terminal befindet, und wir sie im Verzeichnis presentworking extrahieren möchten.

Verwenden Sie den folgenden Befehl, um das oben beschriebene Szenario zu erreichen

sudo unzip zip_file_name.zip

wenn die ZIP-Datei mit einem Kennwort geschützt ist, verwenden Sie den folgenden Befehl :

sudo ubzip -P zip_file_name.zip

Bitte stellen Sie sicher, dass Sie -P (Großbuchstaben P) und nicht -p verwenden, da dies unterschiedliche Optionen sind.

MÖGLICHKEIT 2 – Wenn die Zip-Datei nicht im selben Verzeichnis vorhanden ist und wir die Datei in einem anderen Verzeichnis extrahieren / entpacken möchten.

Verwenden Sie den folgenden Befehl, um das oben beschriebene Szenario zu erreichen

sudo unzip path/filename.zip -d another_path_or_same_path

wenn wir die Option -d nicht verwenden, wird die Datei in das Verzeichnis presentworking extrahiert.

Und wenn die ZIP-Datei passwortgeschützt ist, können wir auch verwenden -P.

verwenden Sie den Befehl tar unter Linux / Unix

tar ist ein Akronym für Tape Archive. der Befehl tar wird verwendet, um Archive unter Linux / Unix zu manipulieren. Systemadministratoren verwenden tarcommand häufig, um eine Reihe von Dateien oder Verzeichnissen in hochkomprimierte Archive zu rippen, die aufgerufen werden tarball oder tar, bzip undgzip in Linux/Unix System.

tar-Syntax

tar [OPTION...] [FILE]...

Oder

tar erforderliche Flags

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

optionale Tar-Flags

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]

Beispiel

Erstellen Sie eine TAR-Archivdatei, indem Sie ein Verzeichnis oder eine einzelne Datei komprimieren

Der folgende Terminalbefehl erstellt eine .tar datei aufgerufensample_dir.tar mit einem Verzeichnis /home/codebind/sample_dir odersample_dir im aktuellen Arbeitsverzeichnis.

ripon@ripon:~$  tar -cvf sample_dir.tar sample_dirsample_dir/sample_dir/main.cppsample_dir/sample.pngsample_dir/outputripon@ripon:~$ lssample_dir sample_dir.tar

enter image description here

Hier ist, was diese Flags (-cvf) eigentlich bedeuten

-c, --create- erstellen Sie ein neues Archiv

-x, --extract, --get- extrahieren von Dateien aus einem Archiv

-f, --file ARCHIVE- archivdatei oder GERÄTEARCHIV verwenden

Erstellen tar.gz oder tgz Archivdatei durch Komprimieren eines Verzeichnisses oder einer einzelnen Datei

Der folgende Terminalbefehl erstellt eine .tar.gz datei aufgerufensample_dir.tar.gz mit einem Verzeichnis /home/codebind/sample_dir odersample_dir im aktuellen Arbeitsverzeichnis.

Beachten Sie, dass wir dem Befehl ein zusätzliches Flag -z hinzugefügt haben.Hier ist, was theflag -z eigentlich bedeutet

-z, --gzip, --gunzip --ungzip- Komprimieren Sie das Archiv mit gzip

ripon@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.gz

enter image description here

Der Befehl unten erstellt eine .tgz-Datei. Einer davon, um Istar zu bemerken.gz und tgz sind beide ähnlich.

ripon@ripon:~$ tar -cvzf sample_dir.tgz sample_dirsample_dir/sample_dir/main.cppsample_dir/sample.pngsample_dir/outputripon@ripon:~$ lssample_dir sample_dir.tgz

Mehrere Verzeichnisse oder Dateien gleichzeitig komprimieren

Nehmen wir zum Beispiel an, wir möchten die komprimieren sample_dir verzeichnis,das java_test verzeichnis und die abc.py datei in eine TAR-Datei namenssample_dir.tar.gz.

Führen Sie den folgenden Befehl aus, um das obige Ziel zu erreichen.

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.gz

enter image description here

Erstellen .bzip2 Archivdatei durch Komprimieren eines Verzeichnisses oder einer einzelnen Datei

ripon@ripon:~$ tar -cjvf sample_dir.tar.bz2 sample_dirsample_dir/sample_dir/main.cppsample_dir/sample.pngsample_dir/outputripon@ripon:~$ 

Beachten Sie, dass wir ein zusätzliches Flag hinzugefügt haben -f zum Befehl.Hier ist was die Flagge -f eigentlich meine

-f, --file ARCHIVE- archivdatei oder GERÄTEARCHIV verwenden

enter image description here

Extrahieren .tar Archivdatei

Wir können die komprimierte Datei mit dem Befehl tar extrahieren oder entpacken. Der folgende Befehl extrahiert den Inhalt von sample_dir.tar in das aktuelle Verzeichnis.

ripon@ripon:~$ tar -xvf sample_dir.tarsample_dir/sample_dir/main.cppsample_dir/sample.pngsample_dir/outputripon@ripon:~$ 

enter image description here

Der folgende Befehl extrahiert oder entpackt Dateien im angegebenen Verzeichnis, dh. /home/codebind/dir_name in diesem Fall.

ripon@ripon:~$ tar -xvf sample_dir.tar -C /home/codebind/dir_namesample_dir/sample_dir/main.cppsample_dir/sample.pngsample_dir/outputripon@ripon:~$ 

wir haben zusätzliche Flagge hinzugefügt -C zum Befehl.Hier ist, was die Flagge -Ceigentlich meine

-C, --directory DIR - wechseln Sie in das Verzeichnis DIR

enter image description here

Extrahieren Sie alle Dateien aus dem aktuellen Ordner. Sie können Folgendes verwenden: entpacken \ *.Zip

@burtsevyg der umgekehrte Schrägstrich ist dort nicht erforderlich. Dadurch wird Shell \ * als wörtliches Sternsymbol behandeln. Verwenden Sie einfach ‘entpacken *.zip’, damit die Shell * auf alle Dateien erweitert, die auf enden.Zip

Die Verwendung von * allein hat bei mir nicht funktioniert. Es verursachte Fehler Dateiname stimmt nicht überein. `*’ hat den Job gemacht.

Ubuntu hat bereits mehrere Komprimierungs- / Dekomprimierungstools installiert. Führen Sie apropos zip über die Konsole aus, um die vollständige Liste anzuzeigen.

Ich empfehle Ihnen, “unar” anstelle eines Zip-spezifischen zu verwenden und zu lernen, es sei denn, Sie benötigen bestimmte Funktionen. "Unterstützte Dateiformate sind Zip, Tar-GZip, Tar-BZip2, RAR, 7-zip, LhA, StuffIt und viele andere alte und obskure Formate. ".

Verwandt (für `*.tgz’ Dateien): Wie man entpackt .tgz-Datei mit dem Terminal?