Wie bzip2 mehrere Dateien in einer einzigen Archivdatei

0

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

bzip2 finalArchive.bz2 file1 file2 file2

Aber wenn ich das versuche, bekomme ich es

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 es könnte cat sie in einer einzigen Datei, aber ich möchte das mit einem einzigen Befehl tun können.

Ich kann genau das mit zip machen:

zip finalArchive.zip file1 file2 file3

und ich bekomme das erwartete finalArchive.zip Datei

Cat Hariss
quelle

Antworten:

0

Beide bzip2 und gzip an einer einzigen Datei arbeiten. Wenn diese Datei komprimiert ist, wird die unkomprimierte Version entfernt. Beim Extrahieren findet das Gegenteil statt.

So legen Sie mehrere Dateien in ein bzip2 Archiv, erstmalig verwenden tar um sie in eine Datei zu bekommen, komprimieren Sie diese eine Datei. Oder seit tar ist "zip-fähig" -j kennzeichnen Sie die bzip2-Komprimierung, wenn Sie das tar-Archiv in einem Schritt erstellen.

ivanivan
quelle
Sie sagen also, dass es diesen Befehl nicht gibt: bzip2 finalArchive.bz2 file1 file2 file3?
Cat Hariss
0

Die am häufigsten verwendeten Unix-Komprimierungsprogramme ( gzip. bzip2. xz ) Alle arbeiten mit einzelnen Dateien, und die Erstellung eines Archivs mit mehreren Dateien ist standardmäßig die Kombination mit tar.

Sie bekommen die Can't open input file finalArchive.bz2: No such file or directory. Fehler weil bzip2 denkt, Sie möchten eine Datei namens finalArchive.bz2, was natürlich nicht existiert.

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

tar -cjf finalArchive.tar.bz2 file1 file2 file3

bei dem die j Option sagt tar benutzen bzip2 die komprimieren tar Archiv. Siehe die relevanten Abschnitt in der tar Handbuch für mehr darüber.

Wenn Sie eine sehr alte Version von verwenden tar Ohne Komprimierungsunterstützung müssten Sie den Komprimierungsschritt manuell durchführen:

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

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

enter image description here

DRP
quelle