Wie bzip2 mehrere Dateien in eine einzige Archivdatei

1261
Cat Hariss

Ich lese gerade ein Offline-Dokument von bzip2 und mir wird gesagt, dass ich mehrere Dateien mit bzip2 wie folgt in ein einziges Archiv komprimieren kann:

bzip2 finalArchive.bz2 file1 file2 file2 

Aber wenn ich das versuche, bekomme ich

Eingabedatei kann nicht geöffnet werden finalArchive.bz2: Keine solche Datei oder Verzeichnis.

und ich bekomme diese 3 Dateien einzeln als file1.gz2 file2.gz2 und file3.gz2 komprimiert, und ich weiß auch, dass ich catsie in eine einzige Datei schreiben könnte, aber ich möchte mit einem einzigen Befehl das tun.

Ich kann genau das mit zip machen:

zip finalArchive.zip file1 file2 file3 

und ich bekomme die erwartete finalArchive.zipDatei

0

3 Antworten auf die Frage

0
ivanivan

Beides bzip2und gziparbeiten an einer einzigen Datei. Wenn diese Datei komprimiert ist, wird die unkomprimierte Version entfernt. Beim Extrahieren findet das Gegenteil statt.

Um mehrere Dateien in ein bzip2Archiv zu packen, verwenden tarSie sie zuerst, um sie in eine Datei zu packen, und komprimieren Sie dann diese eine Datei. Da tar"zip-fähig" ist, können Sie das -jFlag verwenden, um die bzip2-Komprimierung zu verwenden, wenn Sie das tar-Archiv in einem Schritt erstellen.

Sie sagen also, dass es diesen Befehl nicht gibt: `bzip2 finalArchive.bz2 file1 file2 file3`? Cat Hariss vor 6 Jahren 0
0
jjlin

Die am häufigsten verwendeten Unix - Komprimierungsprogramme ( gzip, bzip2, xz) arbeiten alle auf einzelne Dateien, und die Standard - Art und Weise ein Multi-Datei - Archiv zu machen, sie zu kombinieren mit tar.

Sie erhalten den Can't open input file finalArchive.bz2: No such file or directory.Fehler, weil bzip2Sie denken, dass Sie eine Datei namens komprimieren möchten finalArchive.bz2, die natürlich nicht vorhanden ist.

Um das zu erreichen, was Sie möchten, verwenden Sie diesen Befehl:

tar -cjf finalArchive.tar.bz2 file1 file2 file3 

wo jsagt die Option tar, um bzip2das tarArchiv zu komprimieren . Weitere Informationentar hierzu finden Sie im entsprechenden Abschnitt des Handbuchs .

Wenn Sie eine sehr alte Version tarohne Komprimierungsunterstützung verwenden, müssen Sie den Komprimierungsschritt manuell durchführen:

tar -cf - file1 file2 file3 | bzip2 -c > finalArchive.tar.bz2 
0
DRP

Entfernen Sie finalArchive.zip, geben Sie einfach die Liste der Dateien ein. Beispiel-Screenshot unten:

enter image description here