Bestanden comprimeren

Wil je meerdere bestanden downloaden of via e-mail versturen? Dan ben je waarschijnlijk wel vertrouwd met archiefbestanden, zoals tar en zip. De meeste bestandsbeheerders bevatten plug-ins om met dergelijke bestanden om te gaan, maar soms is de commandline gewoon handiger. Met volgende tips weet je meteen hoe dit in zijn werk gaat!

 

1. (un)zip

Windows- en Mac-gebruikers verkiezen over het algemeen het zip-formaat boven het onder Linux meer populaire tar.gz-formaat. Zip-bestanden uitpakken doe je eenvoudigweg met het commando:

 

unzip archive.zip

 

Wil je eerst even de inhoud van het zip-bestand controleren, voordat je alle bestanden uitpakt? Voeg dan de -l-optie toe om een bestandslijst op te vragen. Nadien kan je beslissen om slechts enkele bestanden uit het zip-bestand uit te pakken. Daarvoor voeg je de namen van de gewenste bestanden (uit de output van unzip -l) toe aan het einde van het unzip-commando, bijvoorbeeld:

 

unzip archive.zip file1 file2

 

Een zip-bestand aanmaken doe je met zip in plaats van unzip, maar verder is de syntax identiek:

 

zip archive.zip file1 file2

 

2. tar

Onder Unix en Linux is het tar-formaat erg populair. In principe dient het enkel om meerdere bestanden te archiveren in één bestand, zonder dit te comprimeren. Naar aloude Unix-gewoonte bestaan daarvoor weer andere tools (zie tip 3). Als eerste argument verwacht tar een commando, de meestgebruikte zijn -x (extract), -t (list) en -c (create). Een tweede verplicht argument is -f, gevolgd door de naam van het tar-bestand. Tot slot geef je nog de namen op van de bestanden, die je wilt toevoegen aan óf uitpakken uit het tar-bestand. In het geval van een extract is dit optioneel: net zoals unzip pakt tar standaard alle bestanden uit. Met de -v-optie toont tar meer details. De volgende voorbeelden van respectievelijk list-, extract- en create-commando's zullen veel verduidelijken:

 

tar -tf archive.tar

tar -xvf archive.tar

tar -cvf archive.tar file1 file2

 

3. Compressie

Meestal wil je tar-bestanden nog verkleinen door ze te comprimeren. Dat kan door eerst het tar-bestand aan te maken en vervolgens een tweede commando uit te voeren om het te comprimeren. Populaire compressietools zijn bijvoorbeeld gzip, bzip2 en xz. Bestanden decomprimeren doe je dan via respectievelijk gunzip, bunzip2 en unxz. Recente tar-versies bevatten trouwens extra opties om die tools meteen aan te roepen. Zo kan je tar-bestanden in één stap aanmaken én comprimeren of uitpakken én decomprimeren. Voor gzip voeg je -z toe, voor bzip2 -j en voor xz -J. Bijvoorbeeld:

 

tar -xvzf archive.tar.gz

 

Gzip is de snelste tool en xz de traagste, maar xz maakt wel aantoonbaar kleinere bestanden aan. Met de snelle processors van tegenwoordig is er eigenlijk geen enkele reden om nog gzip te gebruiken in plaats van xz of bzip2.

 

4. Installatiepakketten

Installatiepakketten voor Linux-software zijn in feite ook gecomprimeerde archiefbestanden. Soms is het handig om zo'n installatiepakket uit te pakken, bijvoorbeeld om de standaardversie van een configuratiebestand terug te halen. De precieze methode verschilt per pakketformaat. deb-pakketten pak je eerst uit met het ar-commando, waarna je het data.tar.gz-bestand uitpakt met tar:

 

ar x package.deb

tar -xvzf data.tar.gz

 

Voor rpm-bestanden gebruik je dan weer rpm2cpio en cpio:

 

rpm2cpio package.rpm | cpio –idmv

 

5. Eenvoudig uitpakken

Werk je vaak met verschillende archiefformaten en vind je het lastig om de verschillende opties voor elk commando te onthouden? Na installatie van het atool wrapper-script beschik je over volgende commando's om de inhoud van archiefbestanden te tonen, bestanden uit te pakken of nieuwe archiefbestanden aan te maken:

 

als archive.ext

aunpack archive.ext

apack archive.ext

 

Die syntax is identiek voor zip-bestanden, tar.gz-bestanden, rpm- of deb-bestanden, enzovoorts. Als dat niet handig is!

 

6. Extra formaten

Atool ondersteunt erg veel archiefformaten, maar steunt daarvoor op externe tools, zoals gzip en bzip2. Installeer je atool, dan worden die tools niet automatisch mee geïnstalleerd. In Debian en Ubuntu zie je welke tools dit zijn met het volgende commando:

 

dpkg -s atool | grep Suggests

 

Wil je echt alle mogelijke archiefbestanden openen met atool, installeer dan alle tools, die bovenstaand commando je toont.

 

NEDLINUX FORUM

Het nederlandse linuxforum
Voor beginners en pro’s

 

 

 

 

E-mailadres



 

 

Nieuwste editie:

Linuxmag op Facebook

@linuxmagnl op Twitter

linuxmagNL Niemand kent alle opties van alle commandline tools uit het hoofd. Het is belangrijker om te weten waar je de juist… https://t.co/4DwEhHOKBX
linuxmagNL Package management is één van de sterke punten van Linux in vergelijking met Windows en macOS. Linux Mint bevat eig… https://t.co/pLxEVxktdp
linuxmagNL Mailto-links voor webmail, Heimwee naar Unity, rc.local activeren in systemd & Schakel zwakke encryptie in OpenSSH… https://t.co/VL6XwCiP8O