Hoe kan ik zip-archieven maken en uitpakken vanaf de opdrachtregel?
Meestal gebruikt men tar
om een ongecomprimeerd archief te maken en gzip
of bzip2
om dat archief te comprimeren. De corresponderende gzip
en bunzip2
commando's kunnen worden gebruikt om het archief te decomprimeren, of je kunt gewoon de vlaggen op het tar
commando gebruiken om de decomprimering uit te voeren.
Als je specifiek verwijst naar het Zip file format, kun je gewoon de zip
en unzip
commando's gebruiken.
Comprimeren:
zip squash.zip file1 file2 file3
of om een map te zippen
zip -r squash.zip dir1
Om uit te pakken:
unzip squash.zip
dit pakt het uit in uw huidige werkdirectory.
Er zijn werkelijk een vast aantal verschillende manieren om onder UNIX afgeleiden te comprimeren en te decomprimeren, dus ik'ga ervan uit dat je "zip" bedoelde in de algemene zin en niet een specifiek bestandsformaat.
Je kunt bestanden zippen (in gecomprimeerd formaat) met het GNU tar
programma:
tar -zcvf myfile.tgz .
dat de huidige directory zal doen. Vervang .
door andere bestandsnamen als je iets anders wilt.
Om dat bestand uit te pakken, gebruik je:
tar -zxvf myfile.tgz
Dat's natuurlijk in de veronderstelling dat je een tar
hebt die zowel de compressie als het combineren van bestanden in één kan doen.
Zo niet, dan kun je gewoon tar cvf
gebruiken gevolgd door gzip
(weer, indien beschikbaar) voor compressie en gunzip
gevolgd door tar xvf
.
Voor een specifieke behandeling van ZIP-bestanden, zou ik aanraden om 7zip
te downloaden en dat te gebruiken - het herkent een grote variëteit aan bestandsformaten, inclusief ZIP.
Het meest standaard antwoord is pax
, dat wordt aanbevolen boven cpio
en tar
.
In tegenstelling tot cpio
en POSIX tar
, maar net als GNU tar
, is pax
in staat om zowel bestanden te archiveren als het archief te comprimeren. Dit gedrag verschilt van zip
, die elk bestand comprimeert voordat het in het archief wordt gezet.