Wie kann ich Zip-Archive über die Befehlszeile erstellen und extrahieren?
command-line
zip
joachim
quelle
quelle
Antworten:
In der Regel wird
tar
ein nicht komprimiertes Archiv erstellt und entwedergzip
oderbzip2
komprimiert. Die entsprechenden Befehlegunzip
undbunzip2
können verwendet werden, um das Archiv zu dekomprimieren, oder Sie können nur Flags für dentar
Befehl verwenden, um die Dekomprimierung durchzuführen.Wenn Sie sich speziell auf das Zip-Dateiformat beziehen , können Sie einfach die Befehle
zip
und verwendenunzip
.Komprimieren:
oder um ein Verzeichnis zu komprimieren
So dekomprimieren Sie:
Dadurch wird es in Ihr aktuelles Arbeitsverzeichnis entpackt.
quelle
zip -r9 archive.zip files...
Syntax (-r = rekursiv -9 = maximale Komprimierung).zip
Kann viele verschiedene Arten von .ZIP-Archiven erstellen sowie viele verschiedene Kompressoren verwenden. Andererseits gibt es eine Reihe anderer Komprimierungswerkzeuge mit ähnlichen Namen: 7-Zip, gzip, bzip2, rzip usw., die nicht austauschbar sind.cd dir1; zip -r ../squash.zip *
unzip -d myfolder squash.zip
um in ein separates neues Verzeichnis (myfolder
) zu extrahieren, anstatt alle Dateien direkt in das aktuelle Verzeichnis zu verschieben. Dies kann ärgerlich sein, wenn die ZIP-Datei in der obersten Ebene viele Dateien und Verzeichnisse enthält. Dies ahmt nach, wie die meisten Tools zum Entpacken der Benutzeroberfläche funktionieren.Es gibt eine wirklich große Anzahl von verschiedenen Möglichkeiten , zu komprimieren und unter UNIX - Derivaten dekomprimieren so dass ich davon ausgehen , werde man im allgemeinen Sinne „zip“ zu verstehen und nicht als ein spezifischen Dateiformat.
Sie können Dateien im komprimierten Format mit dem GNU-
tar
Programm komprimieren :Welches wird das aktuelle Verzeichnis tun. Ersetzen Sie diese
.
durch andere Dateinamen, wenn Sie etwas anderes möchten.Verwenden Sie zum Entpacken dieser Datei Folgendes:
Dies setzt natürlich voraus, dass Sie
tar
in der Lage sind, sowohl die Komprimierung als auch das Zusammenführen von Dateien zu einer einzigen durchzuführen.Wenn nicht, können Sie nur
tar cvf
gefolgt vongzip
(falls verfügbar) für die Komprimierung undgunzip
anschließend verwendentar xvf
.Für spezielle Handhabung von ZIP - Format - Dateien, würde ich empfehlen , das Herunterladen
7zip
und die Verwendung dieser - es erkennt eine große Vielzahl von Dateiformaten, einschließlich der ZIP ein.quelle
tar jcvf file.tar.bz2...
, um im bzip2-Format odertar Jcvf file.tar.xz ...
für die xz-Komprimierung zu komprimieren.Wenn Sie keine zip- und unzip-Pakete installiert haben und Java installiert haben, können Sie
jar
Folgendes entpacken:quelle
Nun, wenn es darum geht, Dateien für eine Vielzahl von Betriebssystemen zu verteilen, würde ich 7-zip empfehlen .
Normalerweise erhalten Sie im Paket
p7zip
den Befehl7z
und7za
, mit dem Sie Ihre eigenen 7z-Archive erstellen können.7za
kann auch Standard- Zip-Archive ( pkzip ) dekomprimieren (und sie auch mit dem-tzip
Switch erstellen ).Komprimieren:
Dekomprimieren:
Es kann auch selbstextrahierende Archive mit dem
-sfx
Schalter erstellen :Ich empfehle diese Methode, falls Windows-Benutzer 7z-Archive nicht öffnen können (falls Sie ein Tool dazu empfehlen möchten: PeaZip ).
Wenn Sie denselben Komprimierungsalgorithmus für Ihre Tarballs verwenden möchten, verwenden Sie den
-J
Schalter mittar
:xz
ist ein UNIX - Tool, das LZMA2 für die Kompression, funktioniert aber die Art und Weise verwendetgz
,bz2
usw. funktioniert. Es funktioniert sogar als Filter.7z schafft keine Archive mit voller Dateisystem Informationen über UNIX, so würden Sie verwenden müssen ,
tar
bevor Sie 7z (aber da 7z speichert andere Informationen über dietar
Datei, würde ich empfehlen , mitxz
, wie es für sie ausgelegt ist):quelle
atool
, es ist ein nettes kleines Tool, das die Verwendung vieler verschiedener Kompressoren komfortabler macht. Binden Sie das zua
und Erstellen eines Archivs wirda arc.7z folder/
oder Extrahieren eines einfachena arc.7z
und
Sie müssen sicherstellen, dass diese Befehle über Ihren Paketmanager installiert werden. Es ist nicht schwerer als irgendetwas anderes in der Kommandozeile zu benutzen. Es ist sicherlich einfacher als Archive mit tar zu erstellen.
quelle
BSD Tar kann dies auch
Oder:
quelle
tar
hat den Vorteil, dass es im Vergleich zu GNUtar
und anderen Formaten einige zusätzliche Komprimierungsformate unterstützttar
. Der größte Vorteil ist vielleicht, dass dies unter Verwendung einertar
ähnlichen Syntax geschieht . Sie können sicher verwenden7z
,unrar
,unzip
usw. von der Kommandozeile, aber sie verwenden eine andere Syntax.Die üblichste Antwort ist
pax
, welche übercpio
und empfohlen wirdtar
.Im Gegensatz zu
cpio
und POSIXtar
, aber wie GNUtar
,pax
ist es möglich, Dateien zu archivieren und das Archiv zu komprimieren. Dieses Verhalten unterscheidet sich von demzip
, bei dem jede Datei komprimiert wird, bevor sie in das Archiv gestellt wird.quelle
pax
Unterstützung von Zip - Archiven?pax
Archive unterstützt !Dies gilt nur für die Extraktion.
Dafür habe ich angefangen zu verwenden
dtrx
.Der springende Punkt dabei ist, die Komplexität zu beseitigen. Sie übergeben einfach ein beliebiges Archiv an das Archiv und es wird herausgefunden, was damit zu tun ist. Zip, tar, gz ... Verwendung ist immer gleich -
dtrx archive.zip
. Es stellt ein paar Fragen und du bist fertig.dtrx
ist in den meisten Repositorys verfügbar, sodass Sieapt
|yum
es installieren.quelle
Ich versuche oft, die geänderten Dateien in meinem Arbeitsverzeichnis zu komprimieren - entweder um alle geänderten Dateien in ein anderes Sandbox-Arbeitsverzeichnis zu kopieren oder um sie für kurze Zeit zu behalten, weil ich einige der Änderungen rückgängig machen möchte.
In diesem Fall kopiere ich die Liste der geänderten Dateien in eine temporäre Datei und verwende sie
zip
mit der Option-@
.Nehmen wir an, ich habe die Dateien Foo.h, Bar.cc und TestBar.cc geändert.
Angenommen, ich erstelle eine Datei mit dem Namen modified-files.txt, deren Inhalt wie folgt lautet:
Ich führe den folgenden Befehl aus, um diese Dateien zu komprimieren:
quelle