Werken met tarballs op Linux

Het woord "tarball" wordt vaak gebruikt om het type bestand te beschrijven dat wordt gebruikt om een ​​back-up te maken van een selecte groep bestanden en deze samen te voegen tot één bestand. De naam komt van de .teer bestandsextensie en de teer commando dat wordt gebruikt om de bestanden te groeperen in een enkel bestand dat vervolgens soms wordt gecomprimeerd om het kleiner te maken voor verplaatsing naar een ander systeem.

Tarballs worden vaak gebruikt om een ​​back-up te maken van persoonlijke of systeembestanden om een ​​archief te maken, vooral voordat er wijzigingen worden aangebracht die mogelijk moeten worden teruggedraaid. Linux-sysadmins zullen bijvoorbeeld vaak een tarball maken met een reeks configuratiebestanden voordat ze wijzigingen aanbrengen in een toepassing voor het geval ze die wijzigingen ongedaan moeten maken. Het extraheren van de bestanden uit een tarball die op zijn plaats zit, zal over het algemeen sneller zijn dan het ophalen van de bestanden uit back-ups.

[Linux-tips van twee minuten: leer hoe u een groot aantal Linux-opdrachten onder de knie krijgt in deze video-tutorials van twee minuten]

Hoe een tarball op Linux te maken

U kunt een tarball maken en deze in één stap comprimeren als u een opdracht als deze gebruikt:

$ tar -cvzf PDFs.tar.gz * .pdf 

Het resultaat is in dit geval een gecomprimeerd (gzipped) bestand dat alle PDF-bestanden bevat die zich in de huidige directory bevinden. De compressie is natuurlijk optioneel. Een iets eenvoudigere opdracht zou alle PDF-bestanden gewoon in een niet-gecomprimeerde tarball plaatsen:

$ tar -cvf PDFs.tar * .pdf 

Merk op dat het de z in die lijst met opties waardoor het bestand wordt gecomprimeerd of "gezipt". De c geeft aan dat u het bestand en de v (uitgebreid) geeft aan dat u wat feedback wilt terwijl de opdracht wordt uitgevoerd. Laat de v als u de bestanden niet in de lijst wilt zien.

Een andere veel voorkomende naamgevingsconventie is om zip-tarballs de extensie te geven .tgz in plaats van de dubbele extensie .tar.gz zoals weergegeven in deze opdracht:

$ tar cvzf MyPDFs.tgz * .pdf 

Hoe bestanden uit een tarball te halen

Om alle bestanden uit een gzipped tarball te halen, zou je een commando als dit gebruiken:

$ tar -xvzf file.tar.gz 

Als u de naamgevingsconventie .tgz gebruikt, ziet die opdracht er als volgt uit:

$ tar -xvzf MyPDFs.tgz

Om een ​​individueel bestand uit een gzipped tarball te halen, doe je bijna hetzelfde, maar voeg je de bestandsnaam toe: 

$ tar -xvzf PDFs.tar.gz ShenTix.pdf ShenTix.pdf ls -l ShenTix.pdf -rw-rw-r-- 1 shs shs 122057 14 december 14:43 ShenTix.pdf 

U kunt zelfs bestanden van een tarball verwijderen als de tarball niet is gecomprimeerd. Als we bijvoorbeeld het tegelbestand dat we hierboven hebben geëxtraheerd uit het bestand PDFs.tar.gz wilden verwijderen, zouden we dit als volgt doen: 

$ gunzip PDFs.tar.gz $ ls -l PDFs.tar -rw-rw-r-- 1 shs shs 10700800 15 december 11:51 PDFs.tar $ tar -vf PDFs.tar --delete ShenTix.pdf $ ls - l PDFs.tar -rw-rw-r-- 1 shs shs 10577920 15 december 11:45 PDFs.tar 

Merk op dat we een beetje ruimte van het tar-bestand hebben afgeschoren tijdens het verwijderen van het ShenTix.pdf-bestand. We kunnen het bestand dan opnieuw comprimeren als we willen:

$ gzip -f PDFs.tar ls -l PDFs.tar.gz -rw-rw-r-- 1 shs shs 10134499 15 dec 11:51 PDFs.tar.gzFlickr / James St. John 

De veelzijdigheid van de opdrachtregelopties maakt het werken met tarballs gemakkelijk en erg handig.

Word lid van de Network World-gemeenschappen op Facebook en LinkedIn om commentaar te geven op onderwerpen die voorop staan.