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 werdentarball
odertar
,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
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 verwendenErstellen
tar.gz
odertgz
Archivdatei durch Komprimieren eines Verzeichnisses oder einer einzelnen DateiDer 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 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.gz
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,dasjava_test
verzeichnis und dieabc.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
Erstellen
.bzip2
Archivdatei durch Komprimieren eines Verzeichnisses oder einer einzelnen Dateiripon@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 verwendenExtrahieren
.tar
ArchivdateiWir 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:~$
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-C
eigentlich meine
-C, --directory DIR
- wechseln Sie in das Verzeichnis DIR
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. ".