4Sep

Bestanden comprimeren en uitpakken met behulp van het tar-commando op Linux

click fraud protection

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 te maken metteer. Het tar-commando 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 /path/to/ directory-of-bestand

Dit is wat deze schakelaars eigenlijk betekenen:

  • -c: C reate een archief.
  • instagram viewer
  • -z: Comprimeer het archief met g z ip.
  • -v: Weergave van de voortgang in de terminal tijdens het maken van het archief, ook bekend als " v erbose" -modus. De v is altijd optioneel in deze opdrachten, maar het is nuttig.
  • -f: Hiermee kunt u de f -naam van het archief specificeren.

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 stuff

Of, laten we zeggen dat er een directory 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/ Iets

Comprimeer meerdere mappen of bestanden tegelijkertijd

Terwijl tar vaak wordt gebruikt om een ​​enkele map te comprimeren, kunt u deze ook gebruiken om meerdere mappen te comprimeren, meerdereindividuele bestanden, of beide. Geef gewoon een lijst met bestanden of mappen op in plaats van één. Laten we bijvoorbeeld zeggen dat u de /home/ubuntu/ Downloads-map, de /usr/local/-spuldirectory en het /home/ubuntu/Documents/ notes.txt-bestand wilt comprimeren. U voert gewoon de volgende opdracht uit:

tar -czvf archive.tar.gz /home/ubuntu/ Downloads /usr/local/-bestanden /home/ubuntu/Documents/ notes.txt

U hoeft alleen zoveel mappen of bestanden te vermelden als u een back-up wilt maken.

Directory's 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 --exclude-switch toe te voegen voor elke map of elk bestand dat u wilt uitsluiten.

Stel bijvoorbeeld dat u /home/ ubuntu wilt comprimeren, maar dat u de /home/ubuntu/-downloads en /home/ubuntu/. cache-directory's 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 --exclude switch 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 volledige map archiveren en alle. mp4-bestanden uitsluiten met de volgende opdracht:

tar -czvf archive.tar.gz /home/ ubuntu --exclude = *. Mp4

Gebruik bzip2 Compression in plaats daarvan

Hoewel gzip-compressie het vaakst voorkomtgebruikt om. tar.gz- of. tgz-bestanden te maken, tar ondersteunt 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 een -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 een aantal 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.

Bijvoorbeeld, in plaats van het eerste voorbeeld dat we hebben geleverd voor het comprimeren van de stuff-directory, voer je de volgende opdracht uit:

tar -cjvf archive.tar.bz2 stuff

Extract an Archive

Als je eenmaal een archief hebt, kun je het uitpakkenmet het tar-commando. 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 dat de schakeloptie -x de schakeloptie -c vervangt. Hiermee geeft u aan dat u het x -traktaat een archief wilt 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-schakelaar aan het einde van de opdracht te plaatsen. 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, vervangt u de "z" in de bovenstaande opdrachten door 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 info tar -opdracht in de shell uit om de gedetailleerde informatiepagina van de tar-opdracht te bekijken. Druk op de q -toets om de informatiepagina te verlaten als u klaar bent. U kunt de handleiding van tar ook online lezen.

Als u een grafische Linux-desktop gebruikt, kunt u ook het hulpprogramma voor bestandscompressie of bestandsbeheer op uw bureaublad gebruiken om. tar-bestanden te maken of te extraheren. In Windows kunt u. tar-archieven extraheren en maken met het gratis hulpprogramma 7-Zip.