Bestanden comprimeren en uitpakken met behulp van het tar-commando op Linux
De tar-opdracht op Linux wordt vaak gebruikt om .tar.gz- of .tgz-archiefbestanden te maken, ook wel "tarballs" genoemd. Deze opdracht heeft een groot aantal opties, maar u hoeft slechts enkele letters te onthouden om snel archieven met tar te maken . De opdracht tar kan ook de resulterende archieven extraheren.
De GNU tar-opdracht die bij Linux-distributies wordt meegeleverd, heeft geïntegreerde compressie. Het kan een .tar-archief maken en het vervolgens comprimeren met gzip of bzip2-compressie in één opdracht. Daarom is het resulterende bestand een .tar.gz-bestand of .tar.bz2-bestand.
Comprimeer een hele map of een enkel bestand
Gebruik de volgende opdracht om een volledige map of een enkel bestand onder Linux te comprimeren. Het comprimeert ook elke andere map binnen een map die u opgeeft, met andere woorden, het werkt recursief.
tar -czvf naam-van-archive.tar.gz / pad / naar / map-of-bestand
Dit is wat deze schakelaars eigenlijk betekenen:
- -c: Create een archief.
- -z: comprimeer het archief met gzik p.
- -v: Weergave van de voortgang van de terminal tijdens het maken van het archief, ook bekend als "verbose "-modus. De v is altijd optioneel in deze opdrachten, maar het is nuttig.
- -f: Hiermee kunt u de filename van het archief.
Stel dat u een map met de naam "stuff" in de huidige map hebt en dat u deze wilt opslaan in een bestand met de naam archive.tar.gz. U voert de volgende opdracht uit:
tar -czvf archive.tar.gz dingen
Of laten we zeggen dat er een map is op / usr / local / iets op het huidige systeem en u wilt het comprimeren naar een bestand met de naam archive.tar.gz. U voert de volgende opdracht uit:
tar -czvf archive.tar.gz / usr / local / something
Comprimeer meerdere mappen of bestanden tegelijkertijd
Hoewel tar vaak wordt gebruikt om een enkele map te comprimeren, kunt u deze ook gebruiken om meerdere mappen, meerdere afzonderlijke bestanden of beide te comprimeren. Geef gewoon een lijst met bestanden of mappen in plaats van een enkele. Stel dat u bijvoorbeeld de directory / home / ubuntu / Downloads, de map / usr / local / stuff en het bestand /home/ubuntu/Documents/notes.txt wilt comprimeren. U voert gewoon de volgende opdracht uit:
tar -czvf archive.tar.gz / home / ubuntu / Downloads / usr / local / stuff /home/ubuntu/Documents/notes.txt
Vermeld gewoon zoveel mappen of bestanden als u wilt back-uppen.
Mappen en bestanden uitsluiten
In sommige gevallen wilt u misschien een hele map comprimeren, maar geen bepaalde bestanden en mappen opnemen. U kunt dit doen door een. Toe te voegen --uitsluiten
schakel voor elke map of bestand dat u wilt uitsluiten.
Laten we bijvoorbeeld zeggen dat u comprimeren / home / ubuntu wilt, maar dat u de directory / home / ubuntu / Downloads en /home/ubuntu/.cache niet wilt comprimeren. Hier is hoe je het zou doen:
tar -czvf archive.tar.gz / home / ubuntu --exclude = / home / ubuntu / Downloads --exclude = / home / ubuntu / .cache
De --uitsluiten
schakelaar is zeer krachtig. Er zijn geen namen van mappen en bestanden nodig, het accepteert in feite patronen. Er is veel meer dat je ermee kunt doen. U kunt bijvoorbeeld een hele map archiveren en alle .mp4-bestanden uitsluiten met de volgende opdracht:
tar -czvf archive.tar.gz / home / ubuntu --exclude = *. mp4
Gebruik in plaats hiervan bzip2 Compression
Hoewel gzip-compressie het meest wordt gebruikt om .tar.gz- of .tgz-bestanden te maken, ondersteunt tar ook bzip2-compressie. Hiermee kunt u bzip2-gecomprimeerde bestanden maken, vaak genoemd .tar.bz2, .tar.bz of .tbz-bestanden. Om dit te doen, vervang je gewoon de -z voor gzip in de commando's hier met a -j voor bzip2.
Gzip is sneller, maar het comprimeert in het algemeen iets minder, dus je krijgt een wat groter bestand. Bzip2 is langzamer, maar het comprimeert iets meer, dus je krijgt een wat kleiner bestand. Gzip komt ook vaker voor, met enkele uitgeklede Linux-systemen inclusief standaard gzip-ondersteuning, maar geen bzip2-ondersteuning. In het algemeen echter, zijn gzip en bzip2 praktisch hetzelfde en beide zullen op dezelfde manier werken.
In plaats van het eerste voorbeeld dat we hebben opgegeven voor het comprimeren van de map stuff, voert u de volgende opdracht uit:
tar -cjvf archive.tar.bz2 dingen
Een archief uitpakken
Zodra u een archief hebt, kunt u het uitpakken met de opdracht tar. Met de volgende opdracht wordt de inhoud van archive.tar.gz geëxtraheerd naar de huidige map.
tar -xzvf archive.tar.gz
Het is hetzelfde als de opdracht voor het maken van archieven die we hierboven hebben gebruikt, behalve de -X
schakelaar vervangt de -c
schakelaar. Dit geeft aan dat u wilt eXtract een archief in plaats van er een te maken.
Misschien wilt u de inhoud van het archief extraheren naar een specifieke map. U kunt dit doen door de -C
schakel naar het einde van de opdracht. Met de volgende opdracht wordt bijvoorbeeld de inhoud van het bestand archive.tar.gz geëxtraheerd naar de map / tmp.
tar -xzvf archive.tar.gz -C / tmp
Als het bestand een bzip2-gecomprimeerd bestand is, vervang dan de "z" in bovenstaande commando's met een "j".
Dit is het meest eenvoudige gebruik van de opdracht tar. De opdracht bevat een groot aantal extra opties, dus we kunnen ze hier niet allemaal vermelden. Voor meer informatie. voer de ... uit info teer commando in de shell om de gedetailleerde informatiepagina van het tar-commando te bekijken. druk de q toets om de informatiepagina af te sluiten als u klaar bent. Je kunt de handleiding van tar ook online lezen.
Als u een grafische Linux-desktop gebruikt, kunt u ook het hulpprogramma voor bestandcompressie of bestandsbeheer gebruiken dat bij uw bureaublad is geleverd om .tar-bestanden te maken of te extraheren. In Windows kunt u .tar-archieven uitpakken en maken met het gratis hulpprogramma 7-Zip.