Wat is tar?
tar staat voor 'Tape Archive' en is oorspronkelijk gemaakt om gegevens naar magneetbanden te back-uppen. Tegenwoordig is het een standaard Linux-hulpmiddel dat wordt gebruikt om meerdere bestanden en mappen te bundelen tot één bestand, waardoor ze gemakkelijker te beheren of over te dragen zijn. tar zelf bundelt alleen bestanden; compressie wordt gespecificeerd via afzonderlijke opties (-z, -j, -J).
Kernwerkingsmodi
tar werkt tegelijkertijd in één van de belangrijkste modi (aanmaken, uitpakken, lijst).
- -c (Create): Maakt een nieuw archiefbestand aan.
- -x (Extract): Pakt bestanden uit een archiefbestand uit.
- -t (List): Toont de inhoud (lijst) van een archiefbestand zonder het uit te pakken.
- -f (File): Specificeert het te bewerken archief 'bestand'. Essentieel voor bijna alle bewerkingen.
Belangrijke opties (Shell)
tar wordt gebruikt door opties te combineren. Het belangrijkste is om één van `-c`, `-x`, `-t` te kiezen.
1. Werkingsmodus (kies één)
2. Bestand en compressie specificeren
3. Doel en aanvullende functies
Gegenereerde opdracht:
Probeer de opdrachtcombinaties.
Uitleg:
`tar` Voer het commando uit.
Combineer deze opties en voer de opdracht virtueel uit met de AI.
Gebruiksscenario's (Shell)
Voorbeelden van de meest gebruikte combinaties. (De `-` voor opties kan worden weggelaten, maar het is aan te raden deze te specificeren.)
Archief aanmaken met gzip (.tar.gz)
tar -cvzf backup.tar.gz /home/user/data
c(aanmaken), v(verbose), z(gzip), f(bestand) + [resultaatbestand] + [doel]
gzip-archief uitpakken (.tar.gz)
tar -xvzf backup.tar.gz
x(uitpakken), v(verbose), z(gzip), f(bestand) + [doelbestand]
Inhoud van gecomprimeerd bestand weergeven (.tar.gz)
tar -tvf backup.tar.gz
t(lijst), v(verbose), f(bestand) (moderne tar detecteert -z automatisch)
Uitpakken naar een specifieke map
tar -xvzf backup.tar.gz -C /opt/restore
Specificeer het pad met de -C optie.
Archief aanmaken met bzip2 (.tar.bz2)
tar -cvjf archive.tar.bz2 ./docs
Gebruik de j(bzip2) optie in plaats van z.
bzip2-archief uitpakken (.tar.bz2)
tar -xvjf archive.tar.bz2
Archiveren met uitsluiting van specifieke bestanden/mappen
tar -cvzf app.tar.gz ./app --exclude="*.log" --exclude="node_modules"
Gebruik de --exclude optie. (Kan meerdere keren worden gebruikt)
Installatie
tar is standaard geïnstalleerd op bijna alle Linux-distributies (en macOS). (Meestal GNU tar). Mocht installatie om welke reden dan ook nodig zijn, dan kan het worden geïnstalleerd met de pakketnaam 'tar'.
Standaard geïnstalleerd
Aparte installatie is zelden nodig. Controleer de versie door `tar --version` in te typen.
Debian/Ubuntu (indien nodig)
sudo apt update && sudo apt install -y tar
RHEL/CentOS/Fedora (indien nodig)
sudo dnf install -y tar
Tips & Aandachtspunten
Handige tips
- Weglaten van koppelteken (-): Volgens oude conventie kunt u het koppelteken weglaten voor de eerste groep opties, zoals `tar cvf ...` (bijv. `tar cvf` = `tar -cvf`). Het wordt echter aanbevolen om de `-` te specificeren voor duidelijkheid.
- Automatische compressiedetectie: Moderne `tar` detecteert automatisch de compressie op basis van de bestandsextensie bij het uitpakken (-x), zelfs zonder `-z`, `-j`, of `-J`. (Bijv. u kunt gewoon `tar -xf archive.tar.gz` typen.)
- Rechten behouden (-p): Bij het herstellen van een systeemback-up is het belangrijk om de `-p` optie te gebruiken om de bestandsrechten en het eigendom te behouden.
- Padproblemen (-C): Als u bestanden naar een andere locatie dan de huidige wilt uitpakken, is het gebruik van de `-C /pad` optie veel efficiënter dan de bestanden later te verplaatsen.
- Let op absolute paden: Als u bestanden archiveert (-c) met een absoluut pad zoals `/home/user`, zullen ze bij het uitpakken (-x) ook naar dat absolute pad worden uitgepakt. (Moderne tar verwijdert soms de voorloop `/` om veiligheidsredenen). Het is veiliger om relatieve paden te gebruiken, zoals `cd /home && tar -cvf user.tar ./user`.