Hoe Unzip commando gebruiken in Linux

Om te unzippen kunnen Linux-gebruikers een commandohulpprogramma gebruiken dat vergelijkbaar is met andere compressieformaten, zoals tar en gzip. Inzicht in hoe je het unzip commando gebruikt helpt bij het efficiënter uitvoeren van verschillende taken, waaronder het distribueren van software of het archiveren van gegevens.

In tegenstelling tot de twee hulpprogramma’s wordt unzip niet standaard geïnstalleerd. Het heeft ook verschillende opties om het extractiegedrag te veranderen en is geschikt voor een bepaald ontwikkelscenario.

Lees verder over hoe je unzip installeert en gebruikt om zipbestanden uit te pakken op een Linux virtual private server (VPS). We zullen ook bespreken hoe het verschilt van andere uitpakcommando’s en de best practices.

    Unzip installeren

    In deze sectie zullen we de stappen doorlopen om unzip te installeren in populaire Linux distributies zoals Debian en CentOS. Om de commando’s op afstand uit te voeren, maak je verbinding met je VPS met een SSH-client zoals PuTTY.

    Debian afgeleiden

    Voor Debian-gebaseerde besturingssystemen zoals Ubuntu gebruik je de APT package manager om unzip te installeren in Linux. Voordat je dit doet, moet je de repository bijwerken en upgraden met het volgende commando:

    sudo apt update && sudo apt upgrade

    Installeer vervolgens unzip met dit commando:

    sudo apt install unzip

    Als je een ouder besturingssysteem gebruikt, gebruik dan het volgende commando:

    sudo apt-get install unzip

    Afgeleiden van Red Hat Linux Enterprise (RHEL)

    Commando’s voor RHEL-gebaseerde besturingssystemen zoals CentOS, AlmaLinux en Rocky Linux verschillen afhankelijk van hun versie. De oudere versies gebruiken de pakketbeheerder yum, terwijl de nieuwere versies dnf gebruiken.

    Lees hun documentatie of gebruik websites zoals DistroWatch om de pakketbeheerder van je besturingssysteem te controleren. Dat gezegd hebbende, de commando’s zijn vergelijkbaar:

    sudo yum update && sudo yum upgrade

    sudo dnf update && sudo dnf upgrade

    Ook de installatiecommando’s van het hulpprogramma unzip zijn als volgt:

    sudo yum install unzip

    sudo dnf install unzip

    Controleer nadat het proces is voltooid of unzip met succes is geïnstalleerd met het volgende commando. Het is hetzelfde voor elke distributie:

    unzip -v

    Als het hulpprogramma correct is geconfigureerd, zou je opdrachtregelinterface het versienummer moeten tonen.

    Bestanden in- en uitpakken in Linux

    Nadat het unzip hulpprogramma is geïnstalleerd, kun je beginnen met het unzippen van bestanden op het Linux systeem. In deze sectie leggen we uit hoe je het hulpprogramma kunt gebruiken voor een aantal veelvoorkomende toepassingen.

    Belangrijk! De limiet voor bestandsgrootte in het bestandssysteem kan een fout veroorzaken wanneer je een bestand uitpakt in Linux. Als je dit probleem tegenkomt, verhoog de limiet dan dienovereenkomstig.

    Een bestand uitpakken

    Om een bestand te unzippen in Linux gebruik je het commando met de naam van het item dat je wilt uitpakken. Vergeet niet dat het archief ook in je huidige map moet staan. Hier is een voorbeeld:

    unzip archive_file.zip

    Het zal de inhoud van het ZIP-archief uitpakken in de huidige werkmap als je lees- en schrijfrechten hebt.

    Je kunt zipbestanden ook uitpakken in een andere map door het pad op te geven zoals met het volgende commando:

    unzip path/to/the/archive_file.zip

    Hoe meerdere bestanden uitpakken

    Om gelijktijdig meerdere zip-bestanden in dezelfde map uit te pakken, gebruik je een jokerteken zoals hieronder:

    unzip \*.zip

    Het sterretje (*) staat voor een willekeurig teken. Voer bijvoorbeeld het volgende uit om archiefbestanden met vergelijkbare namen uit te pakken, zoals file-1.zip, file-2.zip, enzovoort:

    unzip file-\*.zip

    Wanneer je meerdere ZIP-bestanden uitpakt met een wildcard, zorg er dan voor dat je het backslash escape karakter (\) gebruikt om te voorkomen dat Terminal een archief uitpakt uit een ander.

    Bestanden uitpakken naar een specifieke directory

    In plaats van het cd commando te gebruiken, gebruik je de –d optie om uit te pakken naar een map op een andere locatie. Bijvoorbeeld:

    unzip archive_file.zip -d /target/folder/destination

    De bestemming kan absoluut of relatief zijn ten opzichte van de huidige werkmap. Als je bijvoorbeeld in de directory /target bent, voer je het volgende in om het archiefbestand naar dezelfde bestemming uit te pakken:

    unzip archive_file.zip -d /directory/destination

    Met deze opdracht kun je ook een bestand uitpakken van de ene locatie naar een ander mappad zonder naar een van beide te verplaatsen. De opdracht ziet er als volgt uit:

    unzip /origin/path/archive_file.zip -d /target/folder/destination

    Hoe gedeeltelijke extractie doen voor specifieke bestanden of mappen

    Een ZIP-bestand bestaat meestal uit meerdere bestanden of mappen. In Linux kun je ervoor kiezen om een specifiek item uit te pakken door hun namen op te geven na het ZIP-archief, zoals:

    unzip file_archive.zip file1.txt

    Als je meerdere bestanden wilt uitpakken, geef je gewoon hun namen op na het commando. Je kunt ook een specifieke map uitpakken:

    unzip file_archive.zip folder_name

    Als je echter een bepaalde map of een bepaald bestand in een map wilt uitpakken, moet je het volledige pad opgeven. Als je bijvoorbeeld /path wilt uitpakken in de folder /directory, voer je in:

    unzip file_archive.zip /directory/path

    Je kunt ook specifieke bestanden uitsluiten van de extractie met de optie –x. We zullen bijvoorbeeld file_1.txt en file_2.txt gearchiveerd houden met deze opdracht:

    unzip file_archive.zip -x file_1.txt file_2.txt

    Serverbeheerders sluiten meestal bestanden uit als het archief veel inhoud heeft. Ze doen dit ook om een specifiek item gedeeltelijk bij te werken, wat het proces efficiënter maakt omdat ze niet met veel gegevens hoeven te werken.

    Een zipbestand uitpakken dat met een wachtwoord is beveiligd

    Als je met een wachtwoord beveiligde ZIP-bestanden uitpakt zonder de identificatiesleutel in te voeren, zal Terminal om de toegangscode vragen.

    Je kunt het wachtwoord handmatig invoeren en op Enter drukken. Met het Linux unzip commando kun je de gegevens echter direct invoeren met de -p optie:

    unzip -p password file_archive.zip

    Dit commando maakt het uitpakken efficiënter. We raden je echter aan om deze methode te vermijden als er meerdere gebruikers op hetzelfde systeem werken, omdat gevoelige gegevens dan in de logboeken van de commando’s terechtkomen.

    De -p optie is handig als je het unzip commando gebruikt in automatiseringsscripts. Hiermee kun je een met een wachtwoord beveiligd ZIP-bestand uitpakken door de referenties automatisch door te geven in plaats van ze in te voeren via de opdrachtregel.

    Hoe Unzip gebruiken in automatiseringsscripts

    Serverbeheerders exporteren vaak producten van processen zoals back-up of event logging als ZIP-archieven om opslagruimte te besparen. Ze moeten deze bestanden uitpakken om de gegevens voor andere doeleinden te extraheren.

    Door bijvoorbeeld een ZIP log uit te pakken kun je de gebeurtenisgeschiedenis lezen of het doorgeven aan een ander commando om de gegevens te filteren. In plaats van unzip voor elk archief uit te voeren, kun je een automatiseringsscript gebruiken om hetzelfde commando eenmalig uit te voeren.

    Gebruik een teksteditor zoals Nano om er een te maken. Voer de naam in met .sh als bestandsextensie zoals in het volgende voorbeeld:

    sudo nano unzip_log.sh

    Voer de opdracht in het bestand in. Het volgende script zal bijvoorbeeld een nieuw logbestand uitpakken in een map en automatisch de oudere verwijderen zodra ze een bepaald aantal overschrijden:

    #!/bin/bash

    #Log archive files location

    log_archive="/path/to/logs/log_archive.zip"

    #Destination for extracted files

    log_destination="/path/to/extracted/logs/"

    #Maximum number of log files to keep

    max_logs=5

    #Use the unzip command to extract files

    unzip "$log_archive" -d "$log_destination"

    #Log rotation

    cd "$log_destination" || exit

    # List and sort log files

    log_files=($(ls -1t *.log))

    # Check if log rotation is needed

    if [ ${#log_files[@]} -gt $max_logs ]; then

    # Delete files and keep the recent ones

    excess_logs=$(( ${#log_files[@]} - max_logs ))

    for ((i = 0; i < excess_logs; i++)); do

    rm "${log_files[$i]}"

    done

    fi

    Druk op Ctrl + X, Y en Enter om de wijzigingen op te slaan. Voer deze commando’s vervolgens uit om het script uitvoerbaar te maken en uit te voeren:

    sudo chmod +x unzip_log.sh

    ./unzip_log.sh

    Op dit moment haalt het commando alleen het logboek eruit als je het uitvoert. Om het regelmatig uit te voeren, stel je een schema in met een cronjob. Het volgende zal het script bijvoorbeeld dagelijks om 2 uur ‘s nachts uitvoeren:

    0 2 * * * /path/to/unzip_log.sh

    Hoe Unzip combineren met andere Linux-commando’s

    Met Linux kun je verschillende hulpprogramma’s combineren om een specifieke taak in één keer uit te voeren. Dit maakt serverbeheer efficiënter omdat je de commando’s niet afzonderlijk hoeft uit te voeren.

    Combineer bijvoorbeeld het unzip commando met find om meerdere archieven te vinden en ze tegelijkertijd uit te pakken. Hier is een voorbeeld:

    find /path/to/zips -type f -name "*.zip" -exec unzip {} -d /path/to/destination/ \;

    In de snippet zoekt het commando find ZIP-bestanden in de map /path/to/zips. Vervolgens geeft het de gevonden items door aan het unzip commando, dat door de accolades wordt weergegeven.

    Je kunt ook het commando grep toevoegen om bestanden uit te pakken die een bepaald patroon bevatten. Bekijk het volgende voorbeeld:

    unzip archive.zip $(unzip -l archive.zip | grep "pattern" | awk '{print $4}')

    In de opdracht specificeren we de items die we uit archive.zip willen halen tussen haakjes. De -l optie geeft een lijst van alle inhoud van het ZIP-bestand, die grep zal filteren op basis van het gegeven patroon.

    Vervolgens geeft de pipe (|) de items die het patroon bevatten door aan het awk commando, waarbij de vierde kolom met de bestandsnaam wordt uitgepakt.

    Je kan unzip integreren met verschillende andere hulpprogramma’s die specifiek zijn voor jouw taken. Lees ons artikel over Linux commando’s en bekijk hun documentatie op GNU’s website voor meer informatie over de mogelijke combinaties.

    Het Unzip commando vergelijken met alternatieve methodes

    In Linux zijn er verschillende andere archief- en compressieformaten, zoals tar en tar.gz. Het tar commando laat je een archief maken zonder de bestandsgrootte te verkleinen, terwijl gzip compressie mogelijk maakt.

    In tegenstelling tot het zip-commando ondersteunen deze twee programma’s standaard geen wachtwoordbeveiliging en zijn ze mogelijk niet compatibel met niet-UNIX-besturingssystemen zoals Windows.

    Dit gezegd hebbende, zijn deze compressies gebruikelijker in Linux systemen omdat ze voorgeïnstalleerd zijn, en de meeste installatiepakketten komen in een tar.gz of tar bestand. Bovendien bieden deze hulpprogramma’s meer modulariteit en flexibiliteit.

    Gebruik de volgende commando’s om een tar.gz of tar bestand uit te pakken:

    tar -x archive.tar

    gunzip archive.tar.gz

    Voor desktop Linux distributies kun je ook een ZIP bestand viewer en extractor gebruiken met een grafische gebruikersinterface zoals PeaZip. Het is eenvoudiger dan de opdrachtregelinterface, maar kan inefficiënt zijn omdat je geen hulpprogramma’s kunt combineren of scriptautomatisering kunt gebruiken.

    Best Practices voor het beheren van Zip-bestanden in Linux

    In dit gedeelte leggen we uit hoe je ZIP-bestanden veilig en efficiënt beheert in een Linux-systeem.

    Controleer de integriteit van archiefbestanden

    Cybercriminelen injecteren vaak een ZIP-archief met kwaadaardige code of malware. Omdat een ZIP-bestand uit meerdere items bestaat, kunnen gebruikers meestal geen vreemde dingen opmerken, zelfs niet nadat ze de gecomprimeerde bestanden hebben uitgepakt.

    Om het veiligheidsrisico te vermijden, kun je de inhoud van een ZIP-bestand oplijsten voordat je het uitpakt met de optie -l:

    unzip -l downloaded_file.zip

    Zorg er daarnaast voor dat de checksum van het bestand overeenkomt met die van de downloadbron om de integriteit te waarborgen. Voer hiervoor het volgende uit:

    md5sum downloaded_file.zip

    Gebruik ook de optie -t om de structurele consistentie van het archief te controleren:

    unzip -t downloaded_file.zip

    Bestaande bestanden en machtigingen behouden

    Uitpakken kan bestaande bestanden met dezelfde naam op de bestemming overschrijven, wat kan leiden tot gegevensverlies. Gebruik de optie -n om unzip te dwingen reeds aanwezige items over te slaan:

    unzip -n archive.zip

    Je hoeft de extractie van het ZIP-bestand niet te bevestigen als hetzelfde item al bestaat in de doelmap, omdat unzip ze automatisch overslaat.

    Naast het overschrijven, kunnen de machtigingen van bestanden of mappen verschillen van die in het originele ZIP-bestand na het extraheren.

    Hoewel je de bestandspermissies handmatig kunt wijzigen met chmod, is dit inefficiënt als je veel bestanden uit een ZIP-archief haalt. Gebruik de optie -o om deze eigenschappen te behouden:

    unzip -o archive.zip

    Gebruik Kodee

    Voor VPS-beginners kan het moeilijk zijn om de opdrachtregelinterface te gebruiken om bestanden uit te pakken in Linux vanwege het gebrek aan een grafische UI. Bovendien is het schrijven van automatiseringsscripts of specifieke commando’s voor bepaalde taken ingewikkeld.

    Met de VPS-hosting van Hostinger kun je onze AI-assistent, Kodee, gebruiken om eenvoudig unzip-commando’s en bash-scripts te genereren met behulp van eenvoudige prompts. De uitvoer kan vervolgens worden gekopieerd en geplakt om tijd en moeite te besparen.

    Voer bijvoorbeeld “Genereer een Linux unzip-commando om bestanden met het patroon ‘log’ uit te pakken uit het archive.zip-bestand naar /home/log_extract” of “Schrijf een bash-script dat automatisch een gearchiveerd log uitpakt zonder bestaande bestanden te overschrijven”.

    Om het hulpprogramma te openen, klik je op VPS in het bovenste menu van hPanel en selecteer je Beheer op je plan. Navigeer naar de zijbalk → Kodee.

    Conclusie

    Net als tar en gunzip kun je met het unzip commando een archiefbestand uitpakken in Linux. Je moet het echter handmatig installeren via een pakketbeheerder zoals APT voor Debian of DNF voor RHEL-derivaten zoals CentOS.

    Om bestanden uit te pakken, schrijf je hun naam achter het commando. Standaard pakt het de inhoud uit in je huidige map, maar je kunt een andere map opgeven met de -d optie. Bovendien kun je specifieke items uitpakken door hun namen na het archief te vermelden.

    Je kunt het unzip commando gebruiken voor een specifieke taak door het te integreren in een bash script of door het te combineren met andere hulpprogramma’s. Gebruik voor het uitpakken de optie -n om ervoor te zorgen dat je geen bestaande bestanden overschrijft en controleer de inhoud van een ZIP-archief met -l om beveiligingsrisico’s te minimaliseren.

    Met Hostinger kun je gewoon prompts invoeren en Kodee, onze AI-assistent, genereert dan unzip-commando’s of scripts voor jouw specifieke taken. Voer gewoon de prompts in en kopieer en plak de uitvoer in je Terminal.

    Author
    De auteur

    Patty Reuser

    Patty Reuser is een localization specialist voor de Nederlandse markt, die uitblinkt in het vertalen van content met een scherp marketinginzicht. Met haar expertise maakt ze complexe concepten eenvoudig en toegankelijk voor Nederlandse doelgroepen. Voor meer informatie, bekijk haar LinkedIn-profiel.