Extraherar tjärarkivet. Skapa och extrahera arkiv med kommandot Tar i Linux. Kommandon för handling

I den här artikeln kommer vi att visa dig hur du använder Tar-verktyget för att extrahera och skapa tar-arkiv med praktiska exempel och detaljerade förklaringar de vanligaste Tar-parametrarna.

Vad är Tar?

Tar-kommandot används för att skapa tar-arkiv genom att konvertera en grupp filer till ett arkiv. Den har också möjlighet att extrahera tar-arkiv, visa en lista över filer som ingår i arkivet, lägga till ytterligare filer till ett befintligt arkiv och olika andra typer av operationer.

Tar stöder ett brett utbud av komprimeringsprogram som gzip, bzip2, lzip, lzma, lzop, xz och compress. När du skapar komprimerade tar-arkiv är det vanligt att lägga till ett kompressorsuffix till arkivfilens namn. Till exempel, om arkivet komprimerades med gzip, skulle det heta archive.tar.gz.

Tar designades ursprungligen för att skapa arkiv vid lagring av filer på magnetband, vilket är anledningen till att den får sitt namn " T apa AR gräslök."

Det finns två versioner av tar, BSD tar och GNU tar, med vissa funktionella skillnader. Majoritet Linux-system kommer med GNU tar förinstallerat som standard. Om du inte har tar installerat rekommenderar vi att du installerar det först genom att följa vår artikel.

Kommandoradssyntax

Innan vi går vidare till att använda tar-kommandot, låt oss börja med att granska den grundläggande syntaxen.

Tjära

  • ANVÄNDNING – Endast ett argument är tillåtet och krävs. De vanligaste operationerna:
    • --create (-c) – Skapa ett nytt tar-arkiv.
    • --extract (-x) – Extrahera hela arkivet eller en eller flera filer från arkivet.
    • --list (-t) – visa en lista över filer som ingår i arkivet
  • ALTERNATIV – De mest använda funktionerna:
    • --verbose (-v) – Visa filer bearbetade av tar-kommandot.
    • --fil=arkiv=namn (-f arkivnamn) – Anger namnet på arkivfilen.
  • ARCHIVE_NAME – Arkivnamn.
  • FILE_NAME(n) – En blankstegsseparerad lista över filnamn som ska extraheras. Om det inte tillhandahålls kommer hela arkivet att extraheras.

När du kör tar-kommandot kan du använda den långa eller korta formen av tar-operationer och parametrar. Långa formulär är mer läsbara och korta formulär är snabbare. Alternativ för långa former har ett dubbelt bindestreck (--). Kortformsparametrar föregås av ett enda bindestreck (-), som kan utelämnas.

Skapande av Tar Archive

Använd operatorn -c för att skapa ett tar-arkiv. För att till exempel skapa en arkivfil med namnet archive.tar från filer med namnet fil1, fil2, fil3, kör följande kommando:

Tar -cf archive.tar fil1 fil2 fil3

Här är motsvarande kommando med långformsparametrar:

Tar --create --file=archive.tar fil1 fil2 fil3

Följande exempel kommer att skapa ett backup.tar-arkiv från katalogen /home/användarnamn:

Tar -cf backup.tar /home/användarnamn

Du kan skapa arkiv från innehållet i en eller flera kataloger eller filer. Som standard arkiveras kataloger rekursivt om inte alternativet --no-recursion är specificerat. Använd alternativet -v om du vill se filerna som bearbetas.

Skapa ett Tar Gz-arkiv

Gzip är den mest populära komprimeringsalgoritmen för tar-filer. Vid komprimering av tar-arkiv med gzip måste arkivnamnet sluta med antingen tar.gz eller tgz .

För att skapa ett tar.gz-arkiv från de givna filerna kan du använda följande kommando:

Tar -czf archive.tar.gz fil1 fil2

Alternativet -z säger åt tar att komprimera arkivet med gzip-algoritmen.

Skapa ett Tar Bz2-arkiv

En annan populär komprimeringsalgoritm för tar-filer är bzip2. Vid komprimering av tar-arkiv med bzip2 måste arkivnamnet sluta med antingen tar.bz2 eller tbz .

När alternativet -j är specificerat kommer tar att använda bzip2 arkivkompressionsalgoritmen.

Följande kommando kommer att skapa ett tar.bz2-arkiv från de givna filerna:

Tar -cjf archive.tar.bz2 fil1 fil2

Tar arkivförteckning

För att lista innehållet i ett tar-arkiv, använd --list (-t) operationen.

Tar -tf archive.tar fil1 fil2 fil3

Om du anger innehållet i arkivet med alternativet --verbose (-v), kommer tar att skriva ut mer information, såsom ägare, filstorlek, tidsstämpel, etc.:

Tar -tvf archive.tar -rw-r--r-- linuxize/users 0 2018-09-08 20:15 file1 -rw-r--r-- linuxize/users 0 2018-09-08 20:15 file2 -rw-r--r-- linuxize/users 0 2018-09-08 20:15 file3

Extrahera tjärarkivet

För att extrahera ett tar-arkiv, använd operatorn --extract (-x) och ange arkivfilens namn:

Tar -xf archive.tar

Alternativet -v läggs också vanligtvis till för att skriva ut namnen på de extraherade filerna.

Tar -xvf archive.tar

Som standard extraherar tar innehållet i arkivet i den aktuella arbetskatalogen. Använd --katalog (-C) för att extrahera arkiverade filer i en specifik katalog:

Till exempel, för att extrahera innehållet i ett arkiv till katalogen /opt/files, kan du använda:

Tar -xf archive.tar -C /opt/filer

Extraherar Tar Gz och Tar Bz2 arkiv

När du extraherar komprimerade arkiv, som tar.gz eller tar.bz2, behöver du inte ange ett dekomprimeringsalternativ. Kommandot är detsamma som när du extraherar tar-arkivet:

Tar -xf archive.tar.gz tar -xf archive.tar.bz2

Extrahera specifika filer från ett tar-arkiv

För att extrahera specifika filer från ett tar-arkiv, lägg till en lista med filnamn, separerade med mellanslag, som ska extraheras efter arkivnamnet:

Tar -xf archive.tar fil1 fil2

När du extraherar filer måste du ange deras exakta namn, inklusive sökvägen, som skrivet --list (-t).

Att extrahera en eller flera kataloger från ett arkiv liknar att extrahera filer:

Tar -xf archive.tar dir1 dir2

Om du försöker extrahera en fil som inte finns får du ett felmeddelande som liknar följande:

Tar -xf archive.tar README tar: README: Hittade inte i arkiv tar: Avslutar med felstatus på grund av tidigare fel

Extrahera filer från ett Tar-arkiv med hjälp av ett jokertecken

För att extrahera filer från ett arkiv baserat på ett jokerteckenmönster, använd --wildcards-omkopplaren och specificera mönstret för att förhindra skaltolkning.

Till exempel, för att extrahera filer vars namn slutar på .js (Javascript-filer), kan du använda:

Tar -xf archive.tar --jokertecken "*.js"

Lägga till filer i ett befintligt arkiv

För att lägga till filer eller kataloger till ett befintligt tar-arkiv, använd --append (-r) operationen.

Till exempel, för att lägga till en fil med namnet newfile till archive.tar, kan du använda:

Tar -rvf archive.tar nyfil

Ta bort filer från ett tar-arkiv

Använd --delete-operationen för att radera filer från arkivet.

Till exempel, för att ta bort en fil med namnet file1 från archive.tar, kan du använda:

Tar --delete -f archive.tar fil1

Slutsats

Vid det här laget bör du ha en god förståelse för hur man skapar och extraherar tjärarkiv.

Tar.gz är ett arkiv skapat Tar program, och arkiveras sedan med Gzip. Denna dubbelarkivering beror på att Gzip-programmet komprimerar bra och snabbt, men bara gör det med en fil. Därför, för att packa flera filer, skapas först ett tar-arkiv från dem, och efter det är det redan packat med Gzip-programmet. Dessutom är det värt att notera att det primära tar-arkivet praktiskt taget inte komprimerar information, utan bara kombinerar den till en fil. I den slutliga versionen får vi ett arkiv med dubbelt tillägg filename.tar.gz eller filename.tgz

Hur skapar man ett tar.gz-arkiv korrekt?

På Windows OS

Du måste använda arkivet 7-zip.

På Linux OS

Vi ansluter till värdservern via SSH-protokollet med hjälp av programmet PuTTY. I kommandoraden anger du:

Detta kommando kommer att skapa ett file.tar-arkiv från alla filer i katalogen /full/path. Men eftersom tar arkiverar inte, utan kombinerar bara filer, då måste vi komprimera det igen med Gzip:

tar -czvf file.tar.gz /full/sökväg

Som ett resultat kommer vi att få file.tar.gz som kommer att finnas i katalogen /full/path.

tar kommando syntax regler

tar [-nycklar] [namnet på arkivet som kommer att skapas] [vad man ska packa\var man ska packa]

Angående nycklarna:
c (skapa) - skapa en arkivfil

z (gzip) - arkivera en fil med gzip

Hur packar man upp ett tar.gz-arkiv korrekt?

På Windows OS

På Linux OS

På värdservern - anslut till servern via SSH-protokollet med hjälp av programmet PuTTY. I kommandoraden anger du:

Syntax

tar [-nycklar] [arkiv som ska packas upp eller sökväg till det]

x (extrahera) - packa upp filer
v (verbose) - visa exekveringsinformation
f (fil) - indikerar att du behöver skapa en fil med namnet som anges efter nycklarna (i vårt exempel, file.tar eller file.tar.gz), om du inte anger denna nyckel kommer standardnamnet användas eller problem uppstår.
file.tar.gz är namnet på arkivet som måste packas upp.

På Unix-system (detta är Linux, Freebsd, etc.) är tar-kommandot det huvudsakliga arkiveringsverktyget. Genom att förstå kommandots många alternativ kan du bemästra arkivhantering.

I den här artikeln skulle jag vilja titta på olika exempel, inklusive att skapa ett tar-arkiv (med gzip- och bzip-komprimering), extrahera en enda fil eller katalog, visa innehållet i ett tar-arkiv, validera integriteten hos ett tar-arkiv, ta reda på skillnaden mellan ett tjärarkiv och filsystem, beräkna arkivstorleken innan den skapas och andra.

Skapa ett arkiv med kommandot tar

Att skapa och packa upp ett tar-arkiv görs med alternativet cvf. Så här ser det grundläggande kommandot för att skapa ett arkiv ut:

$tar cvf arkivnamn.tar dirname/

Låt oss titta på varje nyckel från alternativet separat:

  • c – skapa ett nytt arkiv
  • v – utdata av en lista över filer för bearbetning
  • f – arkivfilens namn

För att skapa ett gzip-komprimerat arkiv måste du använda alternativet cvzf. Det tidigare cvf-alternativet använder ingen komprimering alls. För att använda gzip-komprimering lägg till z-alternativet som visas nedan:

$ tar cvzf arkivnamn.tar.gz dirname/

  • z – packar arkivet med gzip-komprimering

Personligen föredrar jag att alltid lämna cvf-alternativet oförändrat och bara lägga till de nödvändiga nycklarna i slutet om komprimering krävs. Till exempel cvfz eller cvfj. Det är lättare att komma ihåg på det här sättet.

Låt oss nu skapa ett arkiv med bzip2-komprimering:

$ tar cvfj arkivnamn.tar.bz2 dirname/

  • j – packar arkivet med bzip2-komprimering

gzip eller bzip2? Att komprimera och dekomprimera ett arkiv med bzip2 tar lite längre tid och själva arkivet är mindre.

Skapa ett tar-arkiv med aktuellt datum i arkivnamnet

Om du skapar en säkerhetskopia är det mycket viktigt att veta exakt när den skapades. Det enklaste sättet att få reda på detta är från hans namn.

Tar -cvf archive-$(datum +%Y%m%d).tar.gz dirname/

Packar upp ett arkiv med kommandot tar

För att packa upp arkivet, använd kommandot xvf:

$tar xvf arkivnamn.tar

  • x – extrahera filer från arkiv

För att packa upp tar.gz använd alternativet xvfz:

$tar xvfz arkivnamn.tar.gz

För att packa upp ett bzip2-komprimerat arkiv, använd alternativet xvfj:

$tar xvfj arkivnamn.tar.bz2

Visa filer i ett tar-arkiv

För att se innehållet i ett tar-arkiv, använd tvf-alternativet.

$tar tvf arkivnamn.tar

För att se innehållet i ett arkiv komprimerat med gzip, använd alternativet tvfz

$ tar tvfz arkivnamn.tar.gz

För att se innehållet i ett arkiv komprimerat med bzip2, använd alternativet tvfj

$tar tvfj arkivnamn.tar.bz2

Extraherar en enda fil från tar, tar.gz, tar.bz2 arkiv

Det finns situationer när du bara behöver extrahera en fil från ett stort arkiv:

$ tar xvf archive_file.tar sökväg/till/fil

För gzip- och bzip2-komprimerade arkiv, använd:

$ tar xvfz archive_file.tar.gz sökväg/till/fil $ tar xvfj arkivfil.tar.bz2 sökväg/till/fil

Extraherar en enda mapp från tar, tar.gz, tar.bz2 arkiv

Att extrahera en enskild mapp, inklusive alla undermappar och filer, utförs på samma sätt som att extrahera en enskild fil:

$ tar xvf archive_file.tar /path/to/dir/

För att extrahera flera mappar från ett arkiv, ange deras namn i ordning:

$ tar xvf archive_file.tar /path/to/dir1/ /path/to/dir2/

För komprimerade arkiv gäller samma sak, endast med hjälp av ytterligare nycklar:

$ tar xvfz archive_file.tar.gz /path/to/dir/ $ tar xvfj archive_file.tar.bz2 /path/to/dir/

Extrahera en grupp filer från tar, tar.gz, tar.bz2 arkiv med hjälp av reguljära uttryck

För att extrahera en grupp filer baserat på vissa egenskaper i namnet kan du använda vanliga uttryck. Låt oss till exempel extrahera alla filer med från arkivet html-tillägg.

$ tar xvf archive_file.tar --wildcards "*.pl"

Lägga till en fil eller mapp till ett befintligt tar-arkiv

För att lägga till en ny fil eller mapp till ett befintligt arkiv, använd alternativet -r:

$ tar rvf arkivnamn.tar nyfil

Att lägga till en mapp görs på samma sätt:

$ tar rvf arkivnamn.tar newdir/

Kom ihåg att operationen att lägga till filer och mappar endast fungerar för okomprimerade tar-arkiv.

Bestämma tjärarkivets storlek innan det skapas

Följande kommando låter dig bestämma storleken på ett tar.gz- eller tar.bz2-arkiv innan du skapar det (i KB)

Tar -czf - /katalog/till/arkiv/ | wc –c $ tar -cjf - /katalog/till/arkiv/ | wc -c


Ett enkelt backupschema är att spara allt en gång och sedan säkerhetskopiera allt som har ändrats sedan föregående kopia. Den första kopian kallasfullständig backup , efterföljande inkrementella säkerhetskopior . En komplett kopia får ofta inte plats helt på ett band (eller diskett). Återställning från inkrementella kopior kan kräva många gånger mer kvantitet arbete än från fullt. Återställning kan optimeras så att du alltid säkerhetskopierar allt från föregående fullständiga kopia; den här sökvägen kräver lite mer arbete, men det kommer aldrig att finnas ett behov av att återställa mer än en hel och en inkrementell kopia.

Om du vill göra kopior dagligen och har sex band kan du använda band 1 för den första hela kopian (säg fredag) och band 2 till 5 för stegvisa kopior (måndag-torsdag). Sedan gör du en ny fullständig kopia på band 6 (andra fredagen), och börjar göra inkrementella kopior igen på band 2-5. Du vill inte skriva över band 1 förrän du har en ny fullständig kopia, så att inget dåligt händer medan du gör en ny fullständig kopia. När du har gjort en fullständig kopia på band 6 kan du lagra band 1 någon annanstans ifall dina andra backup-band förstörs. När du behöver göra nästa fullständiga kopia väljer du och använder band 1.

Om du har fler än sex band kan du använda det extra utrymmet för hela kopior. Varje gång du gör en hel kopia använder du det äldsta bandet. På så sätt kan du få fullständiga kopior av de föregående veckorna, vilket är bra om du vill hitta en gammal, nu raderad fil, eller en gammal version av en fil.

Säkerhetskopiera med tjära

En fullständig kopia kan enkelt göras med kommandottjära :

# tar --create --file /dev/ftape /usr/src

Exemplet ovan använder GNU-versionentjära och långa alternativnamn. Traditionell versiontjära accepterar endast ett enstaka tecken som parameter. GNU-versionen kan också hantera kopior som inte får plats på ett enda band eller diskett, och mycket långa vägar; inte alla traditionella versioner kan göra detta. Linux använder endast GNUtjära .

Om ditt exemplar inte får plats på ett band måste du använda alternativet--multi-volym (-M):

# tar -cMf /dev/fd0H1440 /usr/src

tar: Tar bort inledande / från absoluta sökvägsnamn i arkivet

Förbered volym #2 för /dev/fd0H1440 och tryck på retur:

Observera att du måste formatera disketter innan du börjar kopiera. Du kan använda ett annat fönster eller virtuell terminal för att köra formatkommandon närtjära kommer att fråga efter en ny diskett.

När du har gjort en kopia måste du markera den med alternativet--jämför (-d):

# tar --jämför --verbose -f /dev/ftape

usr/src/

usr/src/linux

....

Underlåtenhet att verifiera din kopia innebär att du inte kommer att märka att din kopia inte fungerar förrän du förlorar originaldata.

En inkrementell kopia kan utföras med kommandottjära med alternativet --newer (-N ):

# tar --create --newer "8 sep 1995" --file /dev/ftape /usr/src --verbose

tar: Tar bort inledande / från absoluta sökvägsnamn i arkivet

usr/src/

usr/src/linux-1.2.10-includes/

usr/src/linux-1.2.10-includes/include/linux/modules/

usr/src/linux-1.2.10-includes/include/asm-generic/

usr/src/linux-1.2.10-includes/include/asm-i386/

usr/src/linux-1.2.10-includes/include/asm-mips/

usr/src/linux-1.2.10-includes/include/asm-alpha/

usr/src/linux-1.2.10-includes/include/asm-m68k/

usr/src/linux-1.2.10-includes/include/asm-sparc/

usr/src/patch-1.2.11.gz

Tyvärr, tjära kan inte upptäcka inodförändring filinformation, till exempel, ändra åtkomsträttigheter eller byta namn på en fil. Problemet löses genom att använda kommandothitta och jämföra filsystemets nuvarande tillstånd med listor över filer som säkerhetskopierades tidigare. Skript och program för att automatisera denna process kan hittas på Linux ftp-servrar.

Återhämtning med hjälp av tjära

Team tjära med alternativet --extract (-x ) extraherar filer:

# tar --extract --samma-behörigheter --verbose --fil /dev/fd0H1440

usr/src/

usr/src/linux

usr/src/linux-1.2.10-includes/

usr/src/linux-1.2.10-includes/include/

usr/src/linux-1.2.10-includes/include/linux/

...

Du kan också bara extrahera angivna filer eller kataloger (som inkluderar alla deras filer och underkataloger), listar dem på kommandoraden:

# tar xpvf /dev/fd0H1440 usr/src/linux-1.2.10-includes/include/linux/hdreg.h

usr/src/linux-1.2.10-includes/include/linux/hdreg.h

Använd alternativet--list(-t ), om du bara vill se vilka filer som finns på backupvolymen:

# tar --list --fil /dev/fd0H1440

usr/src/

usr/src/linux

usr/src/linux-1.2.10-includes/

usr/src/linux-1.2.10-includes/include/

usr/src/linux-1.2.10-includes/include/linux/

usr/src/linux-1.2.10-includes/include/linux/hdreg.h

usr/src/linux-1.2.10-includes/include/linux/kernel.h

...

anteckna dettjära läser alltid backupvolymen sekventiellt, så för stora volymer är processen ganska långsam. Däremot kan direktåtkomst inte användas när band eller något annat seriellt media används.

tjära bearbetar inte raderade filer Höger. Om du måste återställa ett filsystem från en fullständig och inkrementell kopia, och raderade filen mellan kopiering, kommer den att finnas igen efter att du har gjort återställningen. Detta kan vara ett stort problem om filen lagrar viktig data som inte längre borde vara tillgänglig.



man tar Användning: tar [ALTERNATIV...] [FIL]...
GNU `tar" är för att spara filer
till magnetband eller arkiv på disk och
återhämtning separata filer från
arkiv.

Exempel:
tar -cf archive.tar foo bar # Skapa archive.tar från filer
foo och bar.
tar -tvf archive.tar # Skriv ut detaljerad lista
alla filer i archive.tar-arkivet.
tar -xf archive.tar # Extrahera alla filer
från archive.tar.

Grundläggande driftläge:

A, --catenate, --concatenate bifoga tar-filer
till arkivet
-c, --create skapa ett nytt arkiv
-d, --diff, --jämför sök efter skillnader mellan
arkiv och fil
systemet
--radera ta bort från arkivet (inte på
magnetband!)
-r, --append add-filer till slutet
arkiv
-t, --list listinnehåll
arkiv
--test-label kontrollerar arkivvolymetikett
och gå ut
-u, --update läggs endast till i arkivet
nyare filer
-x, --extract, --hämta extraktfiler från
arkiv

Modifierare:

Kontrollera enhet kontrollera enhetsnummer när
skapa inkrementella
arkiv (standard)
-g, --listed-incremental=FIL
ytterligare bearbetning
reservera en ny
GNU-format
-G, --inkrementell bearbetning inkrementell
reservera gamla
GNU-format
--ignore-failed-read avsluta inte när
icke-noll status för
oläsbara filer
-n, --seek arkivsökning är tillgänglig
--no-check-device kontrollera inte enhetsnummer när du skapar
inkrementella arkiv
--occurrence[=N] bearbetar endast den N:te
händelser för varje
fil i arkivet. Detta alternativ
sant endast i kombination med
ett av underkommandona --delete,
--diff, --extract eller --list, och när
listan över filer anges antingen i
kommandorad, eller
via alternativet -T. Standard
N är lika med 1.
--sparse-version=MAJOR[.MINOR]
installera version
format som används
vakuum (antyder
--gles)
-S, --gles effektiv bearbetning
glesa filer

Överskrivningskontroll:

K, --keep-old-filer skrivs inte över
befintliga filer när
extrahera
--keep-newer-filer skrivs inte över
befintliga filer,
som är nyare än deras
arkiverade kopior
--no-overwrite-dir spara metadata
befintliga kataloger
--overwrite skriver över befintliga
filer när du extraherar
--overwrite-dir skriv över befintliga
filer vid extrahering (av
standard)
--recursive-unlink rensar hela hierarkin till
extrahera katalogen
--remove-files tar bort filer efter att de är det
lägga till i arkivet
-U, --unlink-first tar bort varje fil innan
extrahera ovanpå den
-W, --verify försök att verifiera arkivet
efter att ha spelat in det

Val av utgångsström:

Ignorera-kommando-fel ignorera koder
färdigställande av dotterbolag
processer
--no-ignore-command-error count icke-noll koder
färdigställande av dotterbolag
processer som ett fel
-O, --to-stdout extrahera filer till
standardutgång
--to-command=KOMMANDO
dirigera om
extraherade filer till en annan
program

Bearbetar filattribut:

Atime-preserve[=METHOD]
spara åtkomsttid
kopierade filer av
återhämtningstid
efter att ha läst (METHOD="ersätt";
används som standard)
eller inte ställa in tiden
för det första
(METHOD="system")
--delay-directory-restore ställ inte in tid
ändringar och åtkomsträttigheter
extraherade kataloger upp till
processens slutförande
extraktion
--group=NAME tvingades
ställ in NAMN på
som en grupp för
tillagda filer
--mode=LÄGE forcerat
installera (karaktär)
Åtkomst MODE för
tillagda filer
--mtime=DATUM-ELLER-FIL
installera för
lagt till mtime-filer från
DATUM-ELLER-FIL
-m, --touch extrahera inte tid
filändringar
--no-delay-directory-restore
avbryta alternativet
--delay-directory-restore
--no-same-owner extrahera filer som egna
egen
--no-same-permissions tillämpar användarens umask
vid utvinning av rättigheter
åtkomst från arkivet (av
standard för normal
användare)
--numeric-owner använder nummer istället
ägare/gruppnamn
--owner=NAME tvingades
ställ in NAMN på
som ägare till
tillagda filer
-p, --bevara-behörigheter, --samma-behörigheter
hämta information om
åtkomsträttigheter till filen (av
standard för
superanvändare)
--bevara motsvarande -p och -s
--same-owner försöker extrahera filer från
samma ägare
-s, --bevara-ordning, --samma-ordning
sortera utdragna
namn i samma ordning som
och i arkivet

Välja och byta enheter:

F, --file=ARKIV använd fil eller
enhet ARKIV
--force-local arkivfil är
lokalt, även om
innehåller ett kolon
-F, --info-script=NAME, --new-volume-script=NAME
kör skriptet genom
slutet av varje band
(underförstådd
använd -M)
-L, --tape-length=N byt band efter inspelning
NUMBER x 1024 byte
-M, --multi-volym
skapande/listning/hämtning
arkiv med flera volymer
--rmt-kommando=KOMMANDO
använd den angivna
COMMAND rmt istället för rmt
--rsh-kommando=KOMMANDO
använd fjärrkontrollen
COMMAND istället för rsh
--volno-file=FILanvändning/uppdatering
volymnummer i FILE

Bryta upp i block:

B, --blocking-factor=BLOCKER
antal BLOCK x 512 byte per
inspelning
-B, --read-full-records återuppdelas i block
vid läsning (för kanaler
4.2BSD)
-i, -ignore-nollor ignorerar nollblock
arkiverad (dvs. EOF)
--record-size=N ANTAL byte per post,
multipel av 512

Arkivformat:

H, --format=FORMAT skapa ett arkiv i det angivna
formatera

FORMAT kan vara:

GNU-format GNU tar 1.13.x
oldgnu GNU-format som i tar<= 1.12
pax-format POSIX 1003.1-2001 (pax)
posix motsvarande pax
ustar-format POSIX 1003.1-1988 (ustar)
v7 gammalt tjärformat V7

Gammalt arkiv, --portabilitet
motsvarar --format=v7

Pax-option=sökord[[:]=värde][,sökord[[:]=värde]]
kontrollera nyckelord
pax
--posix motsvarar --format=posix
-V, --label=TEXT skapa ett arkiv med volymnamnet
TEXT; på
listning/hämtning
använd TEXT i
som mall
substitutioner

Komprimeringsalternativ:

A, --auto-compress använd arkivsuffix för att bestämma
komprimeringsprogrammet
-j, --bzip2 skickar arkiv genom bzip2
--lzma filtrera arkivet genom lzma
--use-compress-program=PROG
passera arkivet
PROG (måste stödja
-d)
-z, --gzip, --gunzip, --ungzip hoppa över arkivet
gzip
-Z, --compress, --uncompress hoppa över arkivering
komprimera

Välja lokala filer:

Add-file=FIL lägg till den angivna FIL till
arkiv (användbart om namnet
börjar med ett bindestreck)
--backup[=HANTERA]
gör en kopia innan
borttagning, HANTERING
versionsval
-C, --directory=DIRECTORY gå till DIRECTORY
--exclude=MÖNSTER exkludera filer,
definieras av PATTERN
--exclude-cacher exkluderar innehåll
kataloger med filen CACHEDIR.TAG
förutom honom själv
fil med taggar
--exclude-caches-all exclude kataloger,
som innehåller filen CACHEDIR.TAG
--exclude-caches-under exkludera allt innehåll
kataloger som innehåller filen
CACHEDIR.TAG
--exclude-tag=FIL exkludera kataloger,
som innehåller FIL, för
förutom själva FILEN
--exclude-tag-all=FIL exkludera kataloger med
FIL
--exclude-tag-under=FIL
utesluta allt innehåll
kataloger som innehåller FILE
--exclude-vcs exkludera CVS-kataloger
-h, --dereference följt av symboler
länkar och spara filer,
som de pekar på
--hard-dereference följ hårda länkar; arkiv och
dumpa filerna de
hänvisa till
-K, --startfil=MEDLEMSNAMN
börja med medlem MEMBER-NAME
i arkivet
--newer-mtime=DATE jämför datum och tid,
endast om det ändras
data
--no-recursion inaktivera automatiskt
nedstigning till kataloger
--no-unquote ta inte bort citat från namn
filer som läses från
med alternativet -T
--null -T läser rader,
slutar på noll,
inaktiverar alternativet -C
-N, --newer=DATE-OR-FILE, --after-date=DATE-OR-FILE
spara bara dessa filer
som är nyare
DATUM-ELLER-FIL
--one-file-system förbli lokalt
filsystemet när
skapa ett arkiv
-P, --absolute-names tar inte bort inledande `/" från
filnamn
--rekursion rekursiv härkomst på
kataloger (standard)
--suffix=LINE gör en kopia innan
radering, åsidosätter
normalt suffix ("~" if
bara det är inte åsidosatt
miljöfaktor
SIMPLE_BACKUP_SUFFIX)
-T, --files-from=FIL ladda namn från FIL
för utvinning eller
skapande
--unquote ta bort citat från namn
filer som läses från
med alternativet -T (standard)
-X, --exclude-from=FIL exkludera mönster,
listad i FIL

Konvertering av filnamn:

Strip-components=N ta bort det angivna NUMMER
initiala komponenter från
filnamn tidigare
extraktion
--transform=EXPANSION
använd ersättning
sed extensions för
filnamnskonverteringar

Namnge jokerteckenmallalternativ
filer (påverkar inkluderingsmönster och
undantag):

Förankrade startmönster för filnamn
--ignore-case ignorera skiftläge
-- inga förankrade mönster efter någon "/" (av
standard för utesluten)
--no-ignore-case är skiftlägeskänslig (av
standard)
--no-jokertecken exakt matchning
linje
--no-wildcards-match-slash masker matchar inte
"/"
--jokertecken använder masker (av
standard för utesluten)
--wildcards-match-slash masker matchar "/" (av
standard för utesluten)

Informationsutgång:

Kontrollpunkt[=N] visar förloppsmeddelanden
avrättning varje
ANTAL poster (standard
10)
--checkpoint-action=ACTION utför ACTION på varje kontrollpunkt
--index-file=FIL skicka utförlig utdata
data i FILE
-l, --check-links utgående meddelanden om
Alla länkar sparas inte
--no-quote-chars=STRING
inaktivera citat
tecken från STRING
--quote-chars=STRING valfritt
citat tecken från
RADER
--quoting-style=STYLE set stil
citerar namn. Värderingar
för STYLE se nedan
-R, --block-nummer skriv ut blocknummer
arkiv i varje meddelande
--show-defaults visar tjärvärden med
standard
--show-omitted-dirs när listning listar eller
utdrag visa alla
kataloger, inte
motsvarande tillståndet
Sök
--visa-omvandlade-namn, --visa-lagrade-namn
visa filnamn
eller arkiv efter
omvandling
--totals[=SIGNAL] utgång totalt antal byte
efter bearbetning av arkivet; Med
argument - slutsats av det allmänna
antal byte efter leverans
denna SIGNAL. Tillåten
signaler: SIGHUP, SIGQUIT, SIGINT, SIGUSR1
och SIGUSR2. Det är också tillåtet
använd namn utan
prefix SIG
--utc utskriftsfilens ändringsdatum
i UTC-format
-v, --verbose utförlig lista
bearbetade filer
-w, --interactive, --bekräftelse
be om bekräftelse
för varje åtgärd

Kompatibilitetsalternativ:

O om skapande, motsvarande
--gammalt arkiv; vid utvinning,
motsvarar --no-same-owner

Andra alternativ:

Hjälp utmatning av denna hjälp
--begränsa inaktivera användning
några potentiellt
farliga alternativ
--usage output kort meddelande
om användning
--version utdataprogramversion

Obligatoriska eller valfria argument
för långa alternativ är också
obligatoriskt eller valfritt för
motsvarande korta alternativ.

Suffixet för säkerhetskopior är `~", om det inte är det
installeras via --suffix
eller SIMPLE_BACKUP_SUFFIX. Versionskontroll kan
installeras
via --backup eller VERSION_CONTROL. Värden kan
vara:

Inga, av skapar inte säkerhetskopior
t, numrerad skapa numrerad
säkerhetskopior
noll, befintliga numrerade, om de finns
numrerade exemplar, annars rena
aldrig, enkelt skapa alltid enkelt
säkerhetskopior

Giltiga argument för --citatstilsalternativ:

Bokstavlig
skal
skal-alltid
c
c-kanske
fly
plats
clocale

Standardvärdena för *denna* tar är:
--format=gnu -f- -b20 --quoting-style=escape --rmt-command=/usr/sbin/rmt
--rsh-kommando=/usr/bin/rsh

Kommandoradsverktyget tar används för att arbeta med arkiv på UNIX-baserade operativsystem. Med dess hjälp kan du arkivera data och optimera användningen av diskutrymme.

Skapa och packa upp arkiv

Skapa

Skapandet utförs med en nyckel c. Syntaxen är som följer:

tjära -c<опции> <новый архивный файл> <что сжимаем>

Skapande exempel:

tar -czvf archive.tar.gz /home/dmosk

* i detta exempel kommer ett arkiv att skapas archive.tar.gz användarens hemkatalog ( /hem/dmosk)
** Var z— komprimera arkivet i gzip (utan denna parameter komprimerar tar inte, utan skapar en så kallad tarball); c— nyckel för att skapa ett arkiv; v— verbose läge, det vill säga med processen som visas på skärmen (mycket bekvämt för att övervaka arbetets framsteg, men i skript kan det missas); f— använd en fil (vi anger den definitivt, eftersom vi mest arbetar med filer).

Packa upp

Uppackning sker med nyckel x med syntax:

tar -x<опции> <архивный файл>

Exempel på uppackning:

tar -xvf archive.tar.gz

Exempel

gz

Packar upp .gz-filen:

tar -xvf archive.tar.gz

* om ett fel uppstår Detta ser inte ut som ett tjärarkiv, kan du använda kommandot gzip -d archive.tar.gz.

bz2

tar -xvjf archive.tar.bz2

* nyckel j ansvarar för att arbeta med bz2.

Om systemet klagar på bzip2 måste du installera det:

yum installera bzip2

apt-get installera bzip2

pkg installera bzip2

* respektive för CentOS (RPM-baserad), Ubuntu (deb-baserad), FreeBSD (BSD-baserad).

Om vi ​​ser ett fel tar: Okänt arkivformat, låt oss använda följande kommando:

bzip2 -d archive.tar.bz2

gzip

tar -xvzf archive.tar.gzip

* z-nyckeln är ansvarig för att arbeta med gzip.

tgz

Packar upp som gzip:

tar -xvzf archive.tgz

Packa upp till en specifik mapp

tar -C /home/user -xvf archive.tar.gz

* nyckel -C används för att ange mappen där filer från arkivet ska packas upp.

Uppackning utan undermapp

Denna metod kan användas för att packa upp i en förberedd katalog. Det kommer att bli en viss effekt av att byta namn på katalogen eller en analog av "Packa upp här":

tar -C /home/admin/mytar -xvf admin.tar.gz --strip-components 1

* katalog /home/admin/mytar måste skapas i förväg; --strip-komponenter 1 kommer att hoppa över en undermapp i arkivet.

Exkluderar filer med mask

Om du behöver hoppa över några filer anger du kommandot med --exclude-omkopplaren:

tar -czvf archive.tar.gz /wwwsite --exclude="sess_*"

* i det här exemplet kommer vi att skapa ett arkiv archive.tar.gz, som inte kommer att innehålla filer som börjar med sess_.

Beskrivning av tar-nycklar

Kommandon för handling

* Du kan inte använda flera av ovanstående nycklar i ett kommando.

Ytterligare alternativ

Nyckel Beskrivning
--atime-bevara Lämna samma åtkomsttidsstämpel för filen.
-b N Ställ in blockstorleken till N x 512.
-C Byt katalog. Som standard används den vi är i.
--kontrollstation Visa mappnamn när du läser en arkivfil.
-G Använd det gamla inkrementella säkerhetskopieringsformatet när du visar eller hämtar.
-g Använd det nya inkrementella säkerhetskopieringsformatet när du visar eller hämtar.
-h Duplicera inte symboliska länkar. Endast de filer som dessa symboliska länkar pekar på.
-jag Ignorera block med nollor.
-j Använder bzip2.
--ignore-failed-read Ignorera oläsbara filer.
-k Vid uppackning ersätts inte befintliga filer av motsvarande filer från arkivet.
-L N Byte av magnetband efter N*1024 byte.
-m När du hämtar, ignorera objektets modifieringstid.
-M Arkiv med flera volymer.
-N DATUM Spara bara nyare filer i förhållande till DATE
-O Direktutgång till standardutgång.
-s Hämtning av skyddad information.
-P Tar inte bort inledande snedstreck (/) från namn.
-s Sortera filer under extrahering.
--bevara Samma som -ps
--ta bort-filer Ta bort källfiler efter att ha lagts till i arkivet.
--samma ägare Bevara ägaren vid utvinning.
--totalt Utdatabyte när du skapar ett arkiv.
-v Åtgärdsloggning – visar en lista över objekt på vilka en åtgärd sker.
-V NAMN Skapa ett arkiv på en volym märkt NAME.
--version Visa tjärversion.
-w Kräv bekräftelse för varje åtgärd.
-W Kontrollerar arkivet efter inspelning.
--exkludera FIL Exkludera filen FILE.
-X FIL Uteslut FILE-filer.
-Z Filtrerar arkivet med komprimering.
-z Använder gzip.

* den aktuella listan med alternativ kan erhållas med kommandot man tar.