Zip is het meest gebruikte bestandsformaat voor archieven dat verliesvrije gegevenscompressie ondersteunt.
Een zip-bestand is een gegevenscontainer die een of meer gecomprimeerde bestanden of mappen bevat. Gecomprimeerde (gezipte) bestanden nemen minder schijfruimte in beslag en kunnen sneller van de ene naar de andere machine worden overgebracht dan niet-gecomprimeerde bestanden. Zip-bestanden kunnen eenvoudig worden uitgepakt in Windows, macOS en Linux met behulp van de hulpprogramma’s die beschikbaar zijn voor alle besturingssystemen.
In deze tutorial laten we u zien hoe u Zip (comprimeren) bestanden en mappen in Linux met behulp van de zip
commando.
zip Command #
zip
is een opdrachtregelhulpprogramma dat u helpt Zip-archieven te maken.
De zip-opdracht heeft de volgende syntaxis:
zip OPTIONS ARCHIVE_NAME FILES
Om een Zip-archief in een specifieke directory te maken, moet de gebruiker schrijfrechten op die directory hebben.
Zip-bestanden ondersteunen geen Linux-stijl eigendomsinformatie. De uitgepakte bestanden zijn eigendom van de gebruiker die het commando uitvoert.
Om het bestandseigendom en de permissies te behouden gebruik je het tar
commando.
Het zip
hulpprogramma is niet standaard geïnstalleerd in de meeste Linux distributies, maar je kunt het gemakkelijk installeren met de package manager van je distributie.
Installeer Zip op Ubuntu en Debian #
sudo apt install zip
Installeer Zip op CentOS en Fedora #
sudo yum install zip
Hoe ZIP je bestanden en mappen #
Om een of meer bestanden te Zip’en, geef je de bestanden op die je aan het archief wilt toevoegen, gescheiden door spaties, zoals hieronder wordt getoond:
zip archivename.zip filename1 filename2 filename3
adding: filename1 (deflated 63%)adding: filename2 (stored 0%)adding: filename3 (deflated 38%)
Het zip
commando drukt standaard de namen af van de bestanden die aan het archief zijn toegevoegd en de compressiemethode. We zullen de compressiemethoden en het niveau later in deze handleiding uitleggen.
Wanneer u de Zip-archiefnaam opgeeft en de extensie .zip
weglaat, zal deze automatisch worden toegevoegd, tenzij de archiefnaam een punt bevat. zip archivename.zip filename
zal een archief maken met dezelfde naam als zip archivename filename
.
Om de uitvoer van de zip
commando te onderdrukken, gebruik de -q
optie:
zip -q archivename.zip filename1 filename2 filename3
Vaak zult u een Zip archief maken van een directory inclusief de inhoud van subdirectories. Met de optie -r
kunt u de hele directory-structuur recursief doorlopen.
Om een Zip-archief van een directory te maken gebruikt u:
zip -r archivename.zip directory_name
U kunt ook meerdere bestanden en directory’s in hetzelfde archief opnemen:
zip -r archivename.zip directory_name1 directory_name2 file1 file1
Compressiemethoden en -niveaus #
De standaard compressiemethode van Zip is deflate. Als de zip utility vaststelt dat een bestand niet kan worden gecomprimeerd, slaat het het bestand gewoon op in het archief zonder het te comprimeren met de store methode. In de meeste Linux distributies ondersteunt de zip utility ook de bzip2 compressie methode.
Om een compressie methode op te geven, gebruikt u de -Z
optie.
zip -r -Z bzip2 archivename.zip directory_name
...adding: sub_dir/ (stored 0%)adding: sub_dir/file1 (bzipped 52%)adding: sub_dir/file2 (bzipped 79%)
Met het zip
commando kunt u een compressie niveau opgeven met een getal voorafgegaan door een streepje van 0 tot 9. Het standaard compressieniveau is -6
. Wanneer -0
wordt gebruikt, worden alle bestanden zonder compressie opgeslagen. -9
dwingt het zip
commando om een optimale compressie te gebruiken voor alle bestanden.
Voorbeeld, om het compressie niveau -9
te gebruiken, zou u iets als dit typen:
zip -9 -r archivename.zip directory_name
Hoe hoger het compressie niveau, hoe meer CPU-intensief het zip proces is, en het zal meer tijd in beslag nemen om te voltooien.
Een wachtwoord-beveiligd ZIP-bestand maken #
Als u gevoelige informatie hebt die in het archief moet worden opgeslagen, kunt u het versleutelen met de -e
optie:
zip -e archivename.zip directory_name
U wordt gevraagd om het archief-wachtwoord in te voeren en te verifiëren:
Enter password:Verify password:
Creating Split Zip File #
Stel u voor dat u het Zip archief wilt opslaan op een file hosting service die een file size upload limiet heeft van 1GB en uw Zip archief is 5GB.
zip -s 1g -r archivename.zip directory_name
Het bovenstaande commando zal nieuwe archieven in een set blijven maken nadat het de opgegeven limiet voor de grootte heeft bereikt.
archivename.ziparchivename.z01archivename.z02archivename.z03archivename.z04
ZIP Voorbeelden #
Maak een Zip-archief met de naam archivename.zip dat alle bestanden in de huidige directory bevat.
zip archivename *
Hetzelfde als hierboven inclusief de verborgen bestanden (bestanden beginnend met een punt):
zip archivename .* *
Maak een Zip-archief met de naam archivename.zip
met alle MP3-bestanden in de huidige directory zonder de bestanden te comprimeren.
zip -0 archivename *.mp3
Conclusie #
In Linux kunt u Zip archieven maken met het zip
commando.
Om een ZIP archief op een Linux systeem uit te pakken, kunt u het unzip commando gebruiken.
Als u meer wilt leren over Zip bezoek dan de Zip Man pagina.