it-swarm.com.de

Wie entpacke ich eine Zip-Datei vom Terminal?

Ich habe gerade eine ZIP-Datei aus dem Internet heruntergeladen. Ich möchte das Terminal verwenden, um die Datei zu entpacken. Was ist der richtige Weg, um dies zu tun?

1386
ubuntu-nerd

Wenn der Befehl unzip noch nicht auf Ihrem System installiert ist, führen Sie Folgendes 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 das Quell- und das Zielverzeichnis identisch sind, können Sie einfach Folgendes tun:

unzip file.Zip
1883
Kelley

Sie können einfach unzip verwenden.

Es installieren:

apt-get install unzip

Und benutze es:

cd /path/to/file
unzip file.Zip
229
Panther

Ein nützlicheres Tool ist 7z, das eine Reihe von Komprimierungsformaten komprimiert und dekomprimiert, insbesondere lzma, normalerweise das Protokoll mit den höchsten Komprimierungsraten.

Dieser Befehl installiert 7z:

Sudo apt-get install p7Zip-full

Dieser Befehl listet den Inhalt der Zip auf:

7z l zipfile.Zip

Dieser Befehl extrahiert den Inhalt der Zip:

7z x zipfile.Zip
114
Chris

Sie können verwenden:

unzip file.Zip -d somedir

zu yourpath/somedir extrahieren

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

Sudo unzip file.Zip -d /somedir
47
cristobalhdez

Verwenden von Skriptwerkzeugen: Perl und Python

Viele Antworten hier erwähnen Tools, die eine Installation erfordern, aber niemand hat erwähnt, dass zwei der Ubuntu-Skriptsprachen, Perl und Python, bereits alle erforderlichen Module enthalten, mit denen Sie ein Zip-Archiv entpacken können, was bedeutet, dass Sie nichts installieren müssen sonst. 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 zusammengefasst werden, wenn wir wollten.

Python

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

Verwendungszweck:

./pyunzip.py master.Zip 

oder

python3 pyunzip.py master.Zip

Perl

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

Verwendungszweck:

./perlunzip master.Zip

oder

Perl perlunzip.pl master.Zip

Siehe auch

38

Wenn das Quell- und das Zielverzeichnis identisch sind, können Sie einfach Folgendes tun:

unzip filename.Zip
30
Nadeem Khan

Ich bevorzuge bsdtar gegenüber unzip/Zip. Zum Extrahieren sind sie ziemlich ähnlich:

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

Beim Zippen gewinnt jedoch bsdtar. Angenommen, Sie haben diese Eingabe:

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

und möchte dies in der Zip-Datei:

alfa/four.txt
bravo/four.txt

Dies ist einfach mit bsdtar:

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

Zip hat nicht die Option -d wie unzip, daher haben Sie keine Möglichkeit, das oben Genannte zu erreichen, außer Sie cd zuerst.

21
Steven Penny

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

Befehl: unzip - [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 Zipfile-Einträge (falls vorhanden). 
 -t Archivdateien mit zyklischer Redundanzprüfung testen. 
 -u Aktualisieren Sie die vorhandenen Dateien. 
 -z Archivkommentar
20
kashminder

http://www.codebind.com/linux-tutorials/unzip-Zip-file-using-terminal-linux-ubuntu-linux-mint-debian/ :

Installiere unzip ============ Zuerst müssen wir unzip auf unserem System installieren, wenn es nicht installiert ist. Mit dem Befehl unzip werden Dateien aus einem Zip-Archiv extrahiert.

Führen Sie den folgenden Befehl aus, um unzip zu installieren.

Sudo apt-get install unzip

unzip Syntex

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

Führen Sie nun die folgenden Schritte aus:

Entpacken Sie die Datei

OPTION 1 - Befindet sich die Zip-Datei in demselben Verzeichnis/Ordner, in dem sich Ihr Terminal befindet, und möchten wir sie in das aktuelle Arbeitsverzeichnis extrahieren.

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ßbuchstabe P) und nicht -p verwenden, da dies verschiedene Optionen sind.

OPTION 2 - Wenn sich die Zip-Datei nicht im selben Verzeichnis befindet und die Datei in einem anderen Verzeichnis extrahiert/entpackt werden soll.

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 aktuelle Arbeitsverzeichnis extrahiert.

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

verwenden Sie den Befehl tar unter Linux/Unix

tar ist eine Abkürzung für Tape Archive. Der Befehl tar dient zum Manipulieren von Archiven unter Linux/Unix. Systemadministratoren verwenden häufig den Befehl tar, um eine Reihe von Dateien oder Verzeichnissen in ein stark komprimiertes Archiv zu kopieren, das die Namen tarball oder tar, bzip und gzip in Linux/Unix System.

tar Syntex

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

Oder

Teer erforderlich Flags

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

tar optional 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]

Beispiele

Erstellen einer tar-Archivdatei durch Komprimieren eines Verzeichnisses oder einer einzelnen Datei

Mit dem folgenden Terminalbefehl wird eine .tar -Datei mit dem Namen sample_dir.tar mit dem Verzeichnis /home/codebind/sample_dir oder sample_dir im aktuellen Arbeitsverzeichnis erstellt.

[email protected]:~$  tar -cvf sample_dir.tar sample_dir
sample_dir/
sample_dir/main.cpp
sample_dir/sample.png
sample_dir/output
[email protected]:~$ ls
sample_dir sample_dir.tar

enter image description here

Hier ist, was diese Flags (-cvf) tatsächlich bedeuten

-c, --create– ein neues Archiv erstellen

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

-f, --file ARCHIVE– Archivdatei oder Gerät ARCHIVE verwenden

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

Mit dem folgenden Terminalbefehl wird eine .tar.gz -Datei mit dem Namen sample_dir.tar.gz mit dem Verzeichnis /home/codebind/sample_dir oder sample_dir im aktuellen Arbeitsverzeichnis erstellt.

Beachten Sie, dass wir dem Befehl das zusätzliche Flag -z hinzugefügt haben. Hier ist, was das Flag -z tatsächlich bedeutet

-z, --gzip, --gunzip --ungzip– Komprimiere das Archiv mit gzip

[email protected]:~$ tar -cvzf sample_dir.tar.gz sample_dirsample_dir/
sample_dir/main.cpp
sample_dir/sample.png
sample_dir/output
[email protected]:~$ ls
sample_dir sample_dir.tar.gz

enter image description here

Der folgende Befehl erstellt eine .tgz-Datei. Eines davon ist tar.gz und tgz, beide sind ähnlich.

[email protected]:~$ tar -cvzf sample_dir.tgz sample_dirsample_dir/
sample_dir/main.cpp
sample_dir/sample.png
sample_dir/output
[email protected]:~$ ls
sample_dir sample_dir.tgz

Mehrere Verzeichnisse oder Dateien gleichzeitig komprimieren

Angenommen, wir möchten beispielsweise das Verzeichnis sample_dir, das Verzeichnis Java_test und die Datei abc.py in eine TAR-Datei mit dem Namen sample_dir.tar.gz komprimieren.

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

[email protected]:~$ 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
[email protected]:~$ ls
sample_dir Java_test abc.py sample_dir.tar.gz

enter image description here

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

[email protected]:~$ tar -cjvf sample_dir.tar.bz2 sample_dir
sample_dir/
sample_dir/main.cpp
sample_dir/sample.png
sample_dir/output
[email protected]:~$ 

Beachten Sie, dass wir dem Befehl das zusätzliche Flag -f hinzugefügt haben. Hier ist, was das Flag -f tatsächlich bedeutet

-f, --file ARCHIVE– Archivdatei oder Gerät ARCHIVE verwenden

enter image description here

.tar Archivdatei extrahieren

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.

[email protected]:~$ tar -xvf sample_dir.tar
sample_dir/
sample_dir/main.cpp
sample_dir/sample.png
sample_dir/output
[email protected]:~$ 

enter image description here

Der folgende Befehl extrahiert oder entpackt Dateien im angegebenen Verzeichnis, d. H. In diesem Fall /home/codebind/dir_name.

[email protected]:~$ tar -xvf sample_dir.tar -C /home/codebind/dir_name
sample_dir/
sample_dir/main.cpp
sample_dir/sample.png
sample_dir/output
[email protected]:~$ 

wir haben dem Befehl das zusätzliche Flag -C hinzugefügt. Hier ist, was das Flag -C eigentlich bedeutet

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

enter image description here

10
M.A.K. Ripon