Skip to content

Praktische voorbeelden van het zip-commando

9 de augustus de 2021
zipfile 56a5ab045f9b58b7d0dde6d0 32e479342f144d6f9e7643826fd11e83

Er zijn een aantal verschillende manieren om bestanden te comprimeren met behulp van de Linux-opdrachtregel. Dit artikel bevat praktische voorbeelden die laten zien hoe u de opdracht zip kunt gebruiken om bestanden binnen uw bestandssysteem te comprimeren en te ordenen. Gezipte bestanden worden gebruikt wanneer u ruimte wilt besparen en grote bestanden van de ene plaats naar de andere wilt kopiëren. Als je 10 bestanden hebt die allemaal 100 megabyte groot zijn en je moet ze overzetten naar een ftp-site, dan kan de overdracht behoorlijk wat tijd in beslag nemen, afhankelijk van je processorsnelheid. Als u alle 10 bestanden comprimeert tot één gecomprimeerd archief en de compressie vermindert de bestandsgrootte tot 50 MB per bestand, dan hoeft u maar half zoveel gegevens over te dragen.

Een archief maken van alle bestanden in een map

Stel je voor dat je een map met liedjes hebt met de volgende MP3-bestanden erin:

AC DC Highway to Hell

Night Prowler.mp3 Hou van hongerige man.mp3 Get It Hot.mp3 Loop over je heen.mp3 Snelweg naar de hel.mp3 Als je bloed wilt, heb je het.mp3 Toon in vlammen.mp3 Raak te veel aan.mp3 Om de oren slaan. mp3 Girls Got Rhythm.mp3 Dit eenvoudige Linux-commando dat illustreert hoe u een archief kunt maken van alle bestanden in de huidige map genaamd ACDC_Highway_to_Hell.zip: zip ACDC_Highway_to_Hell *

type=”code”> Tekst schuift omhoog op het scherm en toont de bestanden terwijl ze worden toegevoegd.

Verborgen bestanden in een archief opnemen

Het vorige commando is prima voor het archiveren van alle bestanden in een map, maar het bevat alleen bestanden die niet verborgen zijn. Het is niet altijd zo eenvoudig. Stel je voor dat je je thuismap wilt zippen zodat je er een back-up van kunt maken op een USB-stick of externe harde schijf. Uw thuismap bevat verborgen bestanden. Voer de volgende opdracht uit om alle bestanden te comprimeren, inclusief de verborgen bestanden in een map: zip home * .*

type=”code”> Dit creëert een bestand met de naam home.zip met alle bestanden in de thuismap. (Je moet in de thuismap zijn om dit te laten werken). Het probleem met deze opdracht is dat deze alleen de bestanden in de thuismap bevat en niet de mappen, wat ons bij het volgende voorbeeld brengt.

Alle bestanden en submappen in een zipbestand archiveren

Voer de volgende opdracht uit om alle bestanden en submappen in een archief op te nemen: zip -r home .

type=”code”>

Nieuwe bestanden toevoegen aan een bestaand gezipt archief

Als u nieuwe bestanden aan een bestaand archief wilt toevoegen of de bestanden in een archief wilt bijwerken, gebruik dan dezelfde naam voor het archiefbestand wanneer u de opdracht zip uitvoert. Stel je bijvoorbeeld voor dat je een muziekmap hebt met vier albums erin en je maakt een archief met de naam music.zip om als back-up te bewaren. Stel je nu voor dat je een week later twee nieuwe albums downloadt. Om de nieuwe albums aan het zip-bestand toe te voegen, voert u gewoon dezelfde zip-opdracht uit als de vorige week. Voer de volgende code uit om het originele muziekarchief te maken: zip -r music /home/yourname/music/

type=”code”> Voer dezelfde opdracht opnieuw uit om nieuwe bestanden aan het archief toe te voegen. Als het zipbestand een lijst met bestanden bevat en een van de bestanden op de schijf is gewijzigd, dan wordt het gewijzigde bestand bijgewerkt in het zipbestand.

Hoe de bestaande bestanden in een gezipt archief bij te werken

Als u een zipbestand heeft dat elke keer dezelfde bestandsnamen zou moeten bevatten en u wilt dat bestand bijwerken met eventuele wijzigingen die in die bestanden zijn aangebracht, -F schakelaar helpt u daarbij. Stel je bijvoorbeeld voor dat je een gecomprimeerd bestand hebt met de volgende bestanden: /home/jouwnaam/documenten/bestand1 /home/jenaam/documents/bestand2 /home/jenaam/documenten/bestand3 /home/jenaam/documenten/bestand4 /home/jouwnaam /documents/file5 /home/yourname/documents/file6 Stel je nu voor dat je in de loop van de week twee nieuwe bestanden hebt toegevoegd en twee bestanden hebt gewijzigd, zodat de map /home/yourname/documents er nu als volgt uitziet: /home/yourname/documents/ bestand1 /home/uwnaam/documenten/bestand2 /home/uwnaam/documenten/bestand3 /home/uwnaam/documenten/bestand4 (bijgewerkt) /home/uwnaam/documenten/bestand5 (bijgewerkt) /home/uwnaam/documenten/bestand6 /home/ uwnaam/documenten/bestand7 /home/uwnaam/documents/bestand8 Als u de volgende opdracht uitvoert, bevat het zipbestand de bijgewerkte bestanden (bestand4 en bestand5) maar bestand7 en bestand8 worden niet toegevoegd. zip zipbestandsnaam -f -r /home/uwnaam/documenten

type=”code”>

Hoe bestanden te verwijderen uit een gecomprimeerd archief

Dus je hebt een enorm zip-bestand gemaakt met honderden bestanden en je realiseert je nu dat er vier of vijf bestanden in het zip-bestand zijn die je daar niet nodig hebt. Zonder al die bestanden opnieuw te zippen, kun je gewoon het zip-commando uitvoeren met de -NS schakel als volgt: zip zipbestandsnaam -d [name of file in archive]

type=”code”> Als je bijvoorbeeld een bestand in het archief hebt met de naam home/documents/test.txt, verwijder je het met dit commando: zip zipfilename -d home/documents/test.txt

type=”code”>

Hoe bestanden van het ene zipbestand naar het andere te kopiëren

Als u bestanden in één zipbestand hebt en u wilt ze naar een ander zipbestand kopiëren zonder ze eerst uit te pakken en opnieuw te zippen, gebruik dan de -u schakelaar. Stel dat je een zip-bestand hebt met de naam “variousmusic.zip” met muziek van verschillende artiesten, waaronder AC/DC. U kunt de AC/DC-nummers uit het bestand Variousmusic.zip naar uw ACDC.zip-bestand kopiëren met de volgende opdracht: zip Variousmusic.zip -U –out ACDC.zip “Back_In_Black.mp3”

type=”code”> Het bovenstaande commando kopieert het bestand “Back_In_Black.mp3” van verschillendemusic.zip naar ACDC.zip. Als het zip-bestand waarnaar u kopieert niet bestaat, wordt het gemaakt.

Patroonafstemming en paspellijnen gebruiken om een ​​archief te maken

De volgende schakelaar is erg handig omdat je de uitvoer van andere opdrachten kunt gebruiken om bestanden in je zip-bestand in te voegen. Stel dat u een bestand wilt maken met de naam lovesongs.zip, dat elk nummer bevat met het woord liefde in de titel. Om de bestanden met liefde in de titel te vinden kun je het volgende commando gebruiken: find /home/yourname/Music -name *love*

type=”code”> Het bovenstaande commando is niet 100 procent perfect omdat het ook woorden als “klaver” oppikt, maar je snapt het idee. Om alle geretourneerde resultaten van de bovenstaande opdracht toe te voegen aan een zipbestand met de naam lovesongs.zip, voer je deze opdracht uit: find /home/yourname/Music -name *love* | zip liefdesliedjes.zip -@

type=”code”>

Een gesplitst archief maken

Als u een back-up van uw computer maakt, maar het enige medium waarop u een back-up kunt maken een set lege dvd’s is, dan heeft u de keuze. U kunt bestanden blijven zippen totdat het zipbestand 4,8 gigabyte is en de dvd branden, of u kunt een gesplitst archief maken dat nieuwe archieven in een set blijft maken nadat het de door u opgegeven limiet heeft bereikt. Bijvoorbeeld: zip mijnmuziek.zip -r /home/mijnmap/Muziek -s 670m

type=”code”>

Hoe het voortgangsrapport van het zipproces aan te passen?

Er zijn verschillende manieren om de uitvoer aan te passen die wordt weergegeven tijdens het zippen. De beschikbare schakelaars zijn als volgt:

  • -db = geeft aan hoeveel bytes zijn gezipt en hoeveel er nog te gaan zijn
  • -dc = geeft het aantal bestanden weer dat is gecomprimeerd en hoeveel er nog te gaan zijn
  • -dd = geeft punten weer voor elke 10 MB aan bestand dat is gezipt
  • -ds = stelt in hoe vaak stippen verschijnen
  • -du = geeft de ongecomprimeerde grootte van elk bestand weer

Bijvoorbeeld: zip mijnzipbestandsnaam.zip -dc -r /home/music

type=”code”>

Hoe een zip-bestand te repareren

Als je een zip-archief hebt dat kapot is, kun je proberen het te repareren met de -F commando en als dat niet lukt, de FF opdracht. Dit is handig als u een gesplitst archief hebt gemaakt met de -s switch, en je bent een van de archiefbestanden kwijt. Probeer deze bijvoorbeeld eerst: zip -F myfilename.zip –out myfixedfilename.zip

type=”code”> en dan zip -FF mijnbestandsnaam.zip –out mijnvastebestandsnaam.zip

type=”code”>

Een archief versleutelen

Als je gevoelige informatie hebt die je in een zipbestand wilt opslaan, gebruik dan de -e commando om het te versleutelen. U wordt gevraagd een wachtwoord in te voeren en het wachtwoord te herhalen. Bijvoorbeeld: zip mijnbestandsnaam.zip -r /home/wikileaks -e

type=”code”>

Hoe te laten zien wat er wordt geritst

Als je weet dat je een groot archief gaat maken, zorg er dan voor dat de juiste bestanden aan het zipbestand worden toegevoegd. U kunt de verwachte resultaten van een zip-opdracht zien door de . op te geven -sf schakelaar. Bijvoorbeeld: zip mijnbestandsnaam.zip -r /home/music/ -sf

type=”code”>

Een archief testen

Na het back-uppen van bestanden naar een zip-bestand is het verleidelijk om schijfruimte te besparen door de originele bestanden te verwijderen. Voordat je dat doet, is het een goed idee om te testen of het zip-bestand goed werkt. U kunt de -T switch om te testen of het zip-bestand geldig is. Bijvoorbeeld: zip mijnbestandsnaam.zip -T

type=”code”> De uitvoer van deze opdracht wanneer een archief ongeldig is, kan er ongeveer zo uitzien:

  • zip-waarschuwing: ontbrekende eindhandtekening – waarschijnlijk geen zip-bestand

Onthoud dat je de opdracht -F kunt proberen om kapotte zip-bestanden te repareren. Het is vermeldenswaard dat de -T valse positieven kan produceren omdat het zegt dat een zipbestand corrupt is, ook al kun je bij het openen alle bestanden uitpakken.

Bestanden uitsluiten

Soms wil je bepaalde bestanden uitsluiten van een zipbestand. Als u bijvoorbeeld de bestanden van uw telefoon of digitale camera kopieert, heeft u een combinatie van video’s en afbeeldingen. Misschien wilt u de foto’s zippen naar photos.zip en video’s naar videos.zip. Hier is een manier om de video’s uit te sluiten bij het maken van photos.zip zip photos.zip -r /home/photos/ -x *.mp4

type=”code”>

Compressieniveau specificeren

Wanneer u bestanden comprimeert tot een zip-bestand, beslist het systeem of het bestand wordt gecomprimeerd of alleen wordt opgeslagen. MP3-bestanden zijn bijvoorbeeld al gecomprimeerd, dus het heeft weinig zin om ze nog verder te comprimeren; ze worden meestal opgeslagen zoals ze zijn in een zipbestand. U kunt echter een compressieniveau tussen 0 en 9 opgeven om een ​​bestand verder te comprimeren. Dit duurt langer, maar het kan een aanzienlijke ruimtebesparing opleveren. zip mijnbestanden.zip -r /home -5

type=”code”>