Zip-Datei mit Tar auf einem Linux-Server

Zip-Datei mit Tar auf einem Linux-Server

Ich versuche, aus einigen Dateien eine ZIP-Datei zu erstellen, aber beim Extrahieren der ZIP-Datei erhalte ich nur 1 Datei.

tar cfvz test.zip file1.mp3 file2.mp3 file3.jpg

Und nachdem ich test.zip extrahiert habe, erhalte ich nur eine „Test“-Datei. Die Größe der Zip-Datei ist ok, ich weiß nur nicht, wie ich es hinbekomme, dass ich beim Extrahieren dieselben Dateien erhalte: „file1.mp3 file2.mp3 file3.jpg“

Antwort1

Das hat bei mir funktioniert:

$ tar -czvf test.tar.gz ./file1 ./file2 ...

$ tar -tzf test.tar.gz
./file1
./file2

# to extract do:
$ tar -xzf test.tar.gz

Nach dem Übergeben fder Option sollten Sie den Dateinamen des Archivs angeben, das Sie erstellen.

Oh, und falls Sie zipdie Datei entpacken, erhalten Sie kein Verzeichnis, sondern stattdessen ein Tarball. Tarball enthält alle Ihre Dateien. Verwenden Sie:

tar -xf test

Und Sie sollten alle Ihre Dateien sehen.

Wenn Sie möchtennormalZIP-Dateien verwenden Sie zipden Befehl anstelle von tar/ gztandem. Außerdem empfiehlt es sich, die korrekte Dateierweiterung hinzuzufügen:

  • tar mit gzip (dh tar czvf ...): Dateiname.tar.gz
  • tar mit bzip2 (dh tar cjvf ...): dateiname.tar.bz2
  • tar ohne Komprimierung (dh tar cvf ...): Dateiname.tar

Antwort2

Erstens: Auch wenn Sie Ihre komprimierte Datei benannt haben .zip, handelt es sich nicht um eine ZIP-Datei, sondern um eine TAR- und GZIP-Datei. Die korrekte Dateierweiterung wäre also .tar.gzoder .tgz.

Welchen Befehl haben Sie nun zum Entpacken der komprimierten Datei verwendet? Wenn Sie ein ZIP-Dienstprogramm verwendet haben, war es möglicherweise durch die Erweiterung verwirrt und hat die Datei nur dekomprimiert, ohne sie zu entpacken. Das würde erklären, warum das Ergebnis eine einzelne Datei ist, die eigentlich eine TAR-Datei ist. Wenn Sie ein Untar-Dienstprogramm (oder den Befehl tar -xf test) verwenden, sollten Sie alle Ihre Dateien darin zurückerhalten.

Antwort3

Um die Dateien zu extrahieren, sollten Sie Folgendes tun

tar xvfz test.zip 

und standardmäßig werden alle Dateien aus dem Pfad relativ zu Ihrem Standort herausgezogen. Wenn test.zip also myfile.txt dir1/myfile.txt enthielte, würden beide Dateien aus dem Zip-Ordner herausgezogen.

verwandte Informationen