Bestanden inpakken en uitpakken met tar

Op deze pagina:

Bestanden en mappen kunnen worden ingepakt tot één archiefbestand. Ze kunnen daarbij ook nog gecomprimeerd worden (gezipt) en van een wachtwoord worden voorzien. Oorspronkelijk werd tar gebruikt voor bestanden die op tape mosten worden opgeslagen.

Een archief aanmaken met tar

De inhoud van de huidige map 'tarring' als voorbeeld:


$ tree -a
.
├── .directory
├── gewone-map
│   └── eennieuwtekstbestand.txt
├── gewoontekstbestand.txt
├── .verborgen-map
│   └── eentekstbestand.txt
└── .verborgentekstbestand.txt

2 directories, 5 files

Een archief aanmaken:


tar -cvf archief.tar tarring
# of:
tar -cvf archief.tar tarring/
# of:
tar -cvf archief.tar tarring/.

# geeft:

tarring/
tarring/.verborgen-map/
tarring/.verborgen-map/eentekstbestand.txt
tarring/.verborgentekstbestand.txt
tarring/gewone-map/
tarring/gewone-map/eennieuwtekstbestand.txt
tarring/.directory
tarring/gewoontekstbestand.txt

# nu zonder de verborgen bestanden:

tar -cvf archief.tar tarring/*

tarring/gewone-map/
tarring/gewone-map/eennieuwtekstbestand.txt
tarring/gewoontekstbestand.txt

Zoals je hierboven kunt zien, geeft een sterretje '*' minder bestanden dan geen sterretje '*'. De verborgen bestanden gaan dan niet mee met de selectie.

Een gezipt archief aanmaken met tar.gz

Wederom uitgaande van dezelfde bestanden in de map:


tar cvzf archief.tar.gz tarring
# of:
tar cvzf archief.tar.gz tarring/
# of:
tar cvzf archief.tar.gz tarring/.

# geeft:

tarring/
tarring/.verborgen-map/
tarring/.verborgen-map/eentekstbestand.txt
tarring/.verborgentekstbestand.txt
tarring/gewone-map/
tarring/gewone-map/eennieuwtekstbestand.txt
tarring/.directory
tarring/gewoontekstbestand.txt

# nu zonder de verborgen bestanden:

tar cvzf archief.tar.gz tarring/*

tarring/gewone-map/
tarring/gewone-map/eennieuwtekstbestand.txt
tarring/gewoontekstbestand.txt

Het aangemaakte gezipte archief is nu kleiner dan het eerder aangemaakte niet gezipte archief.

Een gecomprimeerd archief aanmaken met tar.bz2

Nog eens uitgaande van dezelfde bestanden in de map:


tar cvfj archief.tar.bz2 tarring
# of:
tar cvfj archief.tar.bz2 tarring/
# of:
tar cvfj archief.tar.bz2 tarring/.

# geeft:

tarring/
tarring/.verborgen-map/
tarring/.verborgen-map/eentekstbestand.txt
tarring/.verborgentekstbestand.txt
tarring/gewone-map/
tarring/gewone-map/eennieuwtekstbestand.txt
tarring/.directory
tarring/gewoontekstbestand.txt

# nu zonder de verborgen bestanden:

tar cvfj archief.tar.bz2 tarring/*

tarring/gewone-map/
tarring/gewone-map/eennieuwtekstbestand.txt
tarring/gewoontekstbestand.txt

Ook het aangemaakte gecomprimeerde archief is nu kleiner dan het eerder aangemaakte niet gecomprimeerde archief.

Uitpakken van archieven

Het uitpakken van tar, tar.gz en tar.bz2 archieven kan met dezelfde opdracht, alleen de bestandsnamen van de uit te pakken archieven zijn steeds anders:


tar -xvf archief.tar -C tarring
# of:
tar -xvf archief.tar.gz -C tarring
# of:
tar -xvf archief.tar.bz2 -C tarring

# geeft:

tarring/
tarring/.verborgen-map/
tarring/.verborgen-map/eentekstbestand.txt
tarring/.verborgentekstbestand.txt
tarring/gewone-map/
tarring/gewone-map/eennieuwtekstbestand.txt
tarring/.directory
tarring/gewoontekstbestand.txt

De inhoud van een archief opvragen

Zien wat er in het archief bestand zit kan met:


tar -tvf archief.tar
# of:
tar -tvf archief.tar.gz
# of:
tar -tvf archief.tar.bz2
# dit geeft:

drwxrwxr-x kees/kees     0 2020-08-03 21:45 tarring/
drwxrwxr-x kees/kees     0 2020-08-03 20:44 tarring/.verborgen-map/
-rw-r--r-- kees/kees     2 2020-08-03 20:44 tarring/.verborgen-map/eentekstbestand.txt
-rw-r--r-- kees/kees     2 2020-08-03 20:43 tarring/.verborgentekstbestand.txt
drwxrwxr-x kees/kees     0 2020-08-03 20:45 tarring/gewone-map/
-rw-r--r-- kees/kees     2 2020-08-03 20:45 tarring/gewone-map/eennieuwtekstbestand.txt
-rw------- kees/kees    81 2020-08-03 20:44 tarring/.directory
-rw-r--r-- kees/kees     2 2020-08-03 20:43 tarring/gewoontekstbestand.txt

De vele opties

Er zijn veel opties mogelijk.

C
actie uitvoeren in andere map dan de huidige map
c
een archiefbestand maken (create)
f
bestandsnaam van het archiefbestand (file)
h
vervang symbolische links door de bestanden waarnaar ze verwijzen bij het maken van een archiefbestand
J
archief door xz halen
j
archief door bzip2 halen
k
reeds bestaande bestanden niet overschrijven bij het uitpakken (keep)
p
bestandstoegang behouden zoals die in het archiefbestand bestaat, niet de umask van de gebruiker nemen (preserve)
r
reeds bestaand archief aanpassen of uitbreiden
t
de inhoud van het archiefbestand bekijken
u
bestanden toevoegen aan het einde van het archief, maar alleen als ze nieuwer zijn dan reeds bestaande bestanden in het archief of als zij nog niet in het archief bestaan
v
de voortgang laten zien
W
archief verifiëren
w
om bevestiging vragen bij mogelijk destructieve acties
X bestand
bestanden die aan bestand voldoen overslaan, bestand kan hier een patroon zijn zoals: *~
x
een archiefbestand uitpakken (eXtract)
z
archief door gzip halen

Documentatie

Alle mogelijkheden staan op tar documentation.

 

Verwante artikelen