Tar

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

tar - Arkivera filer

Kommandot `tar` används för att skapa, extrahera och hantera arkivfiler i ett Unix-liknande operativsystem.

Syntax

tar [ALTERNATIV]... [FILER]...
tar [ALTERNATIV]... -C [KATALOG]

Beskrivning

Kommandot `tar` används för att skapa arkivfiler (tarball), extrahera filer från arkiv och hantera filers integritet inom arkiv. Det är ett flexibelt verktyg för att hantera stora mängder data i en enda fil.

Alternativ

Kommandot `tar` stöder många alternativ som kan användas för att justera hur arkivfiler hanteras:

  • -c, --create - Skapa ett nytt arkiv.
  • -x, --extract, --get - Extrahera filer från ett arkiv.
  • -t, --list - Lista innehållet i ett arkiv.
  • -r, --append - Lägg till filer till slutet av ett arkiv.
  • -u, --update - Lägg endast till filer som är nyare än kopiorna i arkivet.
  • -d, --diff, --compare - Jämför arkivet med filsystemet.
  • -A, --catenate, --concatenate - Lägg till arkiv till slutet av ett annat arkiv.
  • -z, --gzip, --gunzip - Filtrera arkivet genom gzip.
  • -j, --bzip2 - Filtrera arkivet genom bzip2.
  • -J, --xz - Filtrera arkivet genom xz.
  • -Z, --compress, --uncompress - Filtrera arkivet genom compress.
  • -f, --file=F - Använd arkivfilen F.
  • -C, --directory=D - Byt till katalog D innan operationen.
  • -v, --verbose - Visa detaljerad information om processen.
  • --delete - Ta bort filer från ett arkiv.
  • --wildcards - Tillåt jokertecken i filnamn vid extraktion.
  • --exclude=PATTERN - Uteslut filer som matchar mönstret.
  • --strip-components=N - Ta bort N ledande komponenter från filnamnen vid extraktion.
  • --transform=EXPRESSION - Använd en sed-liknande uttryck för att omdöpa filer i arkivet.
  • -k, --keep-old-files - Behåll befintliga filer, skriv inte över dem.
  • --keep-newer-files - Behåll nyare versioner av filer, skriv inte över dem.

Exempel

Här är några praktiska exempel som visar hur du kan använda `tar`-kommandot:

  • För att skapa ett nytt arkiv med namnet `arkiv.tar`:

tar -cvf arkiv.tar fil1 fil2 katalog/

  • För att extrahera ett arkiv:

tar -xvf arkiv.tar

  • För att lista innehållet i ett arkiv:

tar -tvf arkiv.tar

  • För att skapa ett komprimerat arkiv med gzip:

tar -czvf arkiv.tar.gz fil1 fil2 katalog/

  • För att extrahera ett komprimerat arkiv med gzip:

tar -xzvf arkiv.tar.gz

  • För att lägga till en fil till ett befintligt arkiv:

tar -rvf arkiv.tar nyfil

  • För att extrahera ett arkiv till en specifik katalog:

tar -xvf arkiv.tar -C /väg/till/katalog

  • För att utesluta vissa filer från att inkluderas i arkivet:

tar -cvf arkiv.tar --exclude='*.tmp' katalog/

Skillnader mellan macOS och Linux

Det finns några viktiga skillnader att tänka på när man använder `tar`-kommandot på macOS jämfört med Linux:

  • Standardinstallationer: På de flesta Linux-distributioner är `tar` en del av GNU coreutils, medan macOS använder BSD-versionen av `tar`. Detta innebär att vissa alternativ och beteenden kan skilja sig åt.
  • Alternativ och funktioner: GNU `tar` (Linux) och BSD `tar` (macOS) kan ha olika uppsättningar av alternativ och stöd för olika funktioner. Till exempel kan vissa avancerade alternativ vara specifika för GNU `tar`.

Här är några exempel som visar skillnaderna:

  • På Linux kan du använda `tar --strip-components` för att ta bort ledande komponenter vid extraktion:

tar -xvf arkiv.tar --strip-components=1

På macOS kan samma alternativ fungera, men det är bra att kontrollera man-sidan för att vara säker.
  • På Linux kan du använda `tar --transform` för att omdöpa filer i arkivet:

tar -cvf arkiv.tar --transform 's/^/ny_/g' fil1 fil2

Detta alternativ kanske inte är tillgängligt på macOS.

Det är alltid bra att konsultera `man`-sidan för `tar` på din specifika plattform för att se vilka alternativ och funktioner som är tillgängliga.

Felsökning

Om du får ett felmeddelande när du använder `tar`, kontrollera följande:

  • Att filerna och katalogerna du försöker arkivera eller extrahera faktiskt existerar.
  • Att du har tillräckliga rättigheter för att utföra operationen.
  • Att syntaxen för ditt kommando är korrekt. Kontrollera att du använder rätt alternativ och parametrar.
  • Att komprimeringsverktygen som används (gzip, bzip2, etc.) är installerade och fungerar korrekt.

Se även

  • gzip - Komprimera eller dekomprimera filer med gzip.
  • bzip2 - Komprimera eller dekomprimera filer med bzip2.
  • xz - Komprimera eller dekomprimera filer med xz.

Källor