Archieven & Compressie
Wat is een archief?
Stel je voor dat je een project van tien bestanden naar iemand wilt sturen. Je kunt elk bestand apart versturen, maar dat is omslachtig. Je kunt ze ook samenvoegen in één enkel bestand — een archief. Het archief bevat al die bestanden samen, maar hun totale grootte verandert niet: archiveren is bundelen, niet inkrimpen.
Je kent dit principe van USB-sticks en downloads: in plaats van een hele mapstructuur te kopiëren, pak je alles in één bestand.
Wat is compressie?
Compressie is een stap verder: een algoritme analyseert de inhoud en codeert ze slimmer, zodat hetzelfde bestand minder schijfruimte inneemt. Tekst laat zich goed comprimeren (tot 60-80% kleiner), omdat woorden en patronen herhaaldelijk voorkomen. Foto's en video's zijn al gecomprimeerd en krimpen nauwelijks verder.
Archiveren en comprimeren zijn apart in Linux
In Linux zijn dit twee aparte bewerkingen, terwijl je tools zoals ZIP ze altijd combineren:
tararchiveert (bundelt bestanden in één bestand)gzipcomprimeert (maakt dat ene bestand kleiner)
Samen gebruikt: tar -czf archiveert én comprimeert in één stap.
tar — archiveren (en comprimeren)
tar (tape archive) bundelt bestanden en mappen in één archief. Het is het standaard archiveringsprogramma op Linux, zowel voor back-ups als voor het verspreiden van software.
De naam verwijst naar de oorsprong: Linux-systemen werden vroeger geback-upt op magneetband (tape).
Archief aanmaken
tar -czf archief.tar.gz map/ # Archiveer 'map' met gzip-compressie
tar -czf archief.tar.gz bestand.txt map/ # Meerdere bronnen
tar -cjf archief.tar.bz2 map/ # Met bzip2 (betere compressie, trager)
tar -cf archief.tar map/ # Zonder compressie (enkel archiveren)
De vlaggen die je altijd tegenkomt:
| Vlag | Betekenis |
|---|---|
-c | Create — nieuw archief aanmaken |
-x | Extract — uitpakken |
-t | Table of contents — inhoud tonen zonder uitpakken |
-z | gzip-compressie (.tar.gz of .tgz) |
-j | bzip2-compressie (.tar.bz2) |
-f | File — geef de bestandsnaam op (altijd als laatste vlag) |
-v | Verbose — toon elk verwerkt bestand |
Archief uitpakken
tar -xzf archief.tar.gz # Pak uit in de huidige map
tar -xzf archief.tar.gz -C /doel/ # Pak uit in een specifieke map
tar -xjf archief.tar.bz2 # Pak uit (bzip2-compressie)
Inhoud bekijken zonder uitpakken
Wil je weten wat er in een archief zit voor je het uitpakt? Gebruik -t:
tar -tzf archief.tar.gz
Praktisch voorbeeld
# Back-up van een project aanmaken met de datum in de naam
tar -czf project-backup-$(date +%Y%m%d).tar.gz projecten/
# Uitpakken op een andere locatie
tar -xzf project-backup-20250601.tar.gz -C /var/www/
creëer, extract, tabel — de drie basisacties. Voeg -z toe voor gzip en altijd -f als laatste voor de bestandsnaam.
gzip — compressie van één bestand
gzip comprimeert één bestand en vervangt het door een gecomprimeerde versie met de extensie .gz. Anders dan tar bundelt het geen bestanden samen — het comprimeert er gewoon één.
gzip bestand.txt # Comprimeer → bestand.txt.gz (origineel weg)
gzip -k bestand.txt # Comprimeer en behoud origineel (-k = keep)
gzip -9 bestand.txt # Maximale compressie (trager)
gunzip bestand.txt.gz # Decomprimeer
gzip -d bestand.txt.gz # Zelfde als gunzip
In de praktijk gebruik je gzip zelden alleen. Combineer je het met tar, dan comprimeer je een volledig archief:
tar -cf archief.tar map/ # Stap 1: archiveer
gzip archief.tar # Stap 2: comprimeer → archief.tar.gz
Of in één stap met tar -czf archief.tar.gz map/ — dit is de gebruikelijke aanpak.
zip en unzip
zip archiveert én comprimeert in één stap. Het is minder krachtig dan tar + gzip, maar zip-bestanden zijn uitwisselbaar met Windows- en macOS-gebruikers — ideaal als je bestanden deelt met mensen die geen Linux gebruiken.
zip archief.zip bestand1.txt bestand2.txt # Meerdere bestanden archiveren
zip -r archief.zip map/ # Map inclusief submappen (-r = recursive)
zip -9 archief.zip map/ # Maximale compressie
unzip archief.zip # Uitpakken in huidige map
unzip archief.zip -d /doel/ # Uitpakken in specifieke map
unzip -l archief.zip # Inhoud bekijken zonder uitpakken
Welk formaat kiezen?
| Formaat | Commando | Wanneer gebruiken? |
|---|---|---|
.tar.gz | tar -czf | Standaard op Linux, goed gebalanceerd |
.tar.bz2 | tar -cjf | Betere compressie, maar trager |
.zip | zip -r | Uitwisseling met Windows of macOS |
.tar | tar -cf | Archiveren zonder compressie (zelden nodig) |