Rozbalení archivu tar. Vytváření a rozbalování archivů pomocí příkazu Tar v Linuxu. Příkazy k akci

V tomto článku vám ukážeme, jak pomocí nástroje Tar extrahovat a vytvářet archivy tar s praktickými příklady a podrobná vysvětlení nejběžnější parametry Tar.

Co je Tar?

Příkaz tar se používá k vytvoření archivů tar převedením skupiny souborů na archiv. Má také schopnost extrahovat archivy tar, zobrazit seznam souborů obsažených v archivu, přidat další soubory do existujícího archivu a různé další typy operací.

Tar podporuje širokou škálu kompresních programů, jako jsou gzip, bzip2, lzip, lzma, lzop, xz a komprese. Při vytváření komprimovaných archivů tar je běžnou praxí přidat k názvu souboru archivu příponu kompresoru. Pokud byl například archiv komprimován pomocí gzip, byl by pojmenován archive.tar.gz.

Tar byl původně navržen pro vytváření archivů při ukládání souborů na magnetickou pásku, a proto dostal své jméno " T opice AR pažitka."

Existují dvě verze tar, BSD tar a GNU tar, s některými funkčními rozdíly. Většina Linuxové systémy jsou standardně dodávány s předinstalovaným GNU tar. Pokud nemáte nainstalovaný tar, doporučujeme jej nejprve nainstalovat podle našeho článku.

Syntaxe příkazového řádku

Než přejdeme k používání příkazu tar, začněme zopakováním základní syntaxe.

Dehet

  • OPERACE – Je povolen a vyžadován pouze jeden argument. Nejčastěji používané operace:
    • --create (-c) – Vytvoří nový archiv tar.
    • --extract (-x) – Extrahuje celý archiv nebo jeden či více souborů z archivu.
    • --list (-t) – zobrazí seznam souborů obsažených v archivu
  • MOŽNOSTI – Nejčastěji používané operace:
    • --verbose (-v) – Zobrazí soubory zpracované příkazem tar.
    • --file=archive=název (-f název-archivu) – Určuje název archivního souboru.
  • ARCHIVE_NAME – Název archivu.
  • FILE_NAME(s) – Mezerou oddělený seznam jmen souborů, které mají být extrahovány. Pokud nezadáte, bude extrahován celý archiv.

Při provádění příkazu tar můžete použít dlouhou nebo krátkou formu operací a parametrů tar. Dlouhé formuláře jsou čitelnější a krátké formuláře rychlejší. Předvolby dlouhého formuláře jsou opatřeny dvojitou pomlčkou (--). Parametry krátkého formuláře mají předponu s jednou pomlčkou (-), kterou lze vynechat.

Vytvoření archivu Tar

K vytvoření archivu tar použijte operátor -c. Chcete-li například vytvořit archivní soubor s názvem archive.tar ze souborů s názvem soubor1, soubor2, soubor3, spusťte následující příkaz:

Tar -cf archiv.tar soubor1 soubor2 soubor3

Zde je ekvivalentní příkaz používající dlouhé parametry:

Tar --create --file=archiv.tar soubor1 soubor2 soubor3

Následující příklad vytvoří archiv backup.tar z adresáře /home/username:

Tar -cf backup.tar /home/username

Archivy můžete vytvářet z obsahu jednoho nebo více adresářů nebo souborů. Ve výchozím nastavení jsou adresáře archivovány rekurzivně, pokud není specifikována volba --no-recursion. Pokud chcete zobrazit soubory, které se zpracovávají, použijte volbu -v.

Vytvoření archivu Tar Gz

Gzip je nejoblíbenější kompresní algoritmus pro soubory tar. Při komprimaci archivů tar pomocí gzip musí název archivu končit buď tar.gz nebo tgz .

Chcete-li vytvořit archiv tar.gz z daných souborů, můžete použít následující příkaz:

Tar -czf archive.tar.gz soubor1 soubor2

Volba -z říká taru, aby komprimoval archiv pomocí algoritmu gzip.

Vytvoření archivu Tar Bz2

Dalším oblíbeným kompresním algoritmem pro soubory tar je bzip2. Při komprimaci archivů tar pomocí bzip2 musí název archivu končit buď tar.bz2 nebo tbz .

Když je zadána volba -j, tar použije algoritmus komprese archivu bzip2.

Následující příkaz vytvoří z daných souborů archiv tar.bz2:

Tar -cjf archive.tar.bz2 soubor1 soubor2

Výpis archivu Tar

Chcete-li vypsat obsah archivu tar, použijte operaci --list (-t).

Tar -tf archiv.tar soubor1 soubor2 soubor3

Pokud zadáte obsah archivu pomocí volby --verbose (-v), tar vytiskne další informace, jako je vlastník, velikost souboru, časové razítko atd.:

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

Rozbalení archivu Tar

Chcete-li rozbalit archiv tar, použijte operátor --extract (-x) a zadejte název archivního souboru:

Tar -xf archiv.tar

Volba -v se také obvykle přidává pro tisk názvů extrahovaných souborů.

Tar -xvf archiv.tar

Ve výchozím nastavení tar rozbalí obsah archivu v aktuálním pracovním adresáři. Použijte --directory (-C) k extrahování archivovaných souborů v konkrétním adresáři:

Chcete-li například extrahovat obsah archivu do adresáře /opt/files, můžete použít:

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

Extrahování archivů Tar Gz a Tar Bz2

Při extrahování komprimovaných archivů, jako je tar.gz nebo tar.bz2, nemusíte zadávat volbu dekomprese. Příkaz je stejný jako při rozbalování archivu tar:

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

Extrahování konkrétních souborů z archivu tar

Chcete-li extrahovat konkrétní soubory z archivu tar, přidejte za název archivu seznam názvů souborů oddělených mezerami, které se mají extrahovat:

Tar -xf archiv.tar soubor1 soubor2

Při extrahování souborů musíte zadat jejich přesná jména, včetně cesty, jak bylo napsáno --list (-t).

Extrahování jednoho nebo více adresářů z archivu je podobné rozbalování souborů:

Tar -xf archiv.tar dir1 dir2

Pokud se pokusíte extrahovat soubor, který neexistuje, zobrazí se chybová zpráva podobná následující:

Tar -xf archive.tar README tar: README: Nenalezeno v archivu tar: Ukončení se stavem selhání kvůli předchozím chybám

Extrahování souborů z archivu Tar pomocí zástupného znaku

Chcete-li extrahovat soubory z archivu na základě vzoru zástupných znaků, použijte přepínač --wildcards a zadejte vzor, ​​abyste zabránili interpretaci shellu.

Chcete-li například extrahovat soubory, jejichž názvy končí na .js (soubory JavaScriptu), můžete použít:

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

Přidání souborů do existujícího archivu

Chcete-li přidat soubory nebo adresáře do existujícího archivu tar, použijte operaci --append (-r).

Chcete-li například přidat soubor s názvem newfile do archive.tar, můžete použít:

Tar -rvf archive.tar newfile

Odstranění souborů z archivu tar

K odstranění souborů z archivu použijte operaci --delete.

Chcete-li například odstranit soubor s názvem soubor1 z archivu.tar, můžete použít:

Tar --delete -f archive.tar soubor1

Závěr

Nyní byste měli dobře rozumět tomu, jak vytvářet a extrahovat archivy tar.

Tar.gz je vytvořený archiv Tar program a poté archivovány pomocí Gzip. Tato dvojitá archivace je způsobena tím, že program Gzip komprimuje dobře a rychle, ale dělá to pouze s jedním souborem. Proto, aby bylo možné zabalit několik souborů, nejprve se z nich vytvoří jeden archiv tar a poté je již zabalen s programem Gzip. Kromě toho stojí za zmínku, že primární archiv tar prakticky nekomprimuje informace, ale pouze je kombinuje do jednoho souboru. Ve finální verzi získáme archiv s dvojitou příponou filename.tar.gz nebo filename.tgz

Jak správně vytvořit archiv tar.gz?

Na OS Windows

Musíte použít archivátor 7-zip.

Na OS Linux

K hostingovému serveru se připojujeme přes protokol SSH pomocí programu PuTTY. Do příkazového řádku zadejte:

Tento příkaz vytvoří archiv file.tar ze všech souborů v adresáři /full/path. Ale protože tar nearchivuje, ale pouze kombinuje soubory, pak jej musíme znovu zkomprimovat pomocí Gzip:

tar -czvf soubor.tar.gz /plná/cesta

V důsledku toho získáme soubor.tar.gz, který bude umístěn v adresáři /full/path.

pravidla syntaxe příkazu tar

tar [-keys] [název archivu, který bude vytvořen] [co zabalit\kam zabalit]

Ohledně klíčů:
c (vytvořit) - vytvoření archivního souboru

z (gzip) - archivace souboru pomocí gzip

Jak správně rozbalit archiv tar.gz?

Na OS Windows

Na OS Linux

Na hostingovém serveru - připojte se k serveru přes protokol SSH pomocí programu PuTTY. Do příkazového řádku zadejte:

Syntax

tar [-keys] [archiv k rozbalení nebo cesta k němu]

x (eXtract) - rozbalte soubory
v (verbose) - zobrazí informace o provedení
f (soubor) – znamená, že potřebujete vytvořit soubor s názvem, který je zadán za klíči (v našem příkladu soubor.tar nebo soubor.tar.gz), pokud tento klíč nezadáte, výchozí název bude použít, nebo nastanou problémy.
file.tar.gz je název archivu, který je třeba rozbalit.

Na systémech Unix (to je Linux, Freebsd atd.) je příkaz tar hlavní archivační pomůckou. Pochopení mnoha možností tohoto příkazu vám umožní zvládnout manipulaci s archivy.

V tomto článku bych se rád podíval na různé příklady, včetně vytvoření archivu tar (pomocí komprese gzip a bzip), rozbalení jednoho souboru nebo adresáře, zobrazení obsahu archivu tar, ověření integrity archivu tar, zjištění rozdíl mezi tar archivem a souborový systém, výpočet velikosti archivu před jeho vytvořením a další.

Vytvoření archivu pomocí příkazu tar

Vytvoření a rozbalení archivu tar se provádí pomocí volby cvf. Takto vypadá základní příkaz pro vytvoření archivu:

$tar cvf archive_name.tar dirname/

Podívejme se na každý klíč z možnosti samostatně:

  • c – vytvoření nového archivu
  • v – výstup seznamu souborů ke zpracování
  • f – název archivního souboru

Chcete-li vytvořit komprimovaný archiv gzip, musíte použít volbu cvzf. Předchozí možnost cvf nepoužívá vůbec žádnou kompresi. Chcete-li použít kompresi gzip, přidejte možnost z, jak je znázorněno níže:

$ tar cvzf archive_name.tar.gz dirname/

  • z – sbalí archiv pomocí komprese gzip

Osobně preferuji vždy ponechat volbu cvf beze změny a pouze přidat potřebné klíče na konec, pokud je vyžadována komprese. Například cvfz nebo cvfj. Je snazší si takto zapamatovat.

Nyní vytvoříme archiv pomocí komprese bzip2:

$ tar cvfj název_archivu.tar.bz2 dirname/

  • j – sbalí archiv pomocí komprese bzip2

gzip nebo bzip2? Komprese a dekomprimace archivu pomocí bzip2 trvá o něco déle a samotný archiv je menší.

Vytvoření archivu tar s aktuálním datem v názvu archivu

Pokud vytváříte zálohu, je velmi důležité vědět, kdy přesně byla vytvořena. Nejjednodušší způsob, jak se o tom dozvědět, je z jeho jména.

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

Rozbalení archivu pomocí příkazu tar

K rozbalení archivu použijte příkaz xvf:

$tar xvf název_archivu.tar

  • x – extrahovat soubory z archivu

K rozbalení tar.gz použijte volbu xvfz:

$tar xvfz název_archivu.tar.gz

Chcete-li rozbalit komprimovaný archiv bzip2, použijte volbu xvfj:

$tar xvfj název_archivu.tar.bz2

Prohlížení souborů v archivu tar

Chcete-li zobrazit obsah archivu tar, použijte volbu tvf.

$tar tvf název_archivu.tar

Chcete-li zobrazit obsah archivu komprimovaného pomocí gzip, použijte volbu tvfz

$ tar tvfz název_archivu.tar.gz

Chcete-li zobrazit obsah archivu komprimovaného pomocí bzip2, použijte volbu tvfj

$tar tvfj název_archivu.tar.bz2

Extrahování jednoho souboru z archivů tar, tar.gz, tar.bz2

Existují situace, kdy potřebujete extrahovat pouze 1 soubor z velkého archivu:

$ tar xvf archive_file.tar cesta/k/souboru

Pro komprimované archivy gzip a bzip2 použijte:

$ tar xvfz archive_file.tar.gz cesta/k/souboru $ tar xvfj archive_file.tar.bz2 cesta/k/souboru

Extrahování jedné složky z archivů tar, tar.gz, tar.bz2

Rozbalení jednotlivé složky, včetně všech podsložek a souborů, se provádí stejným způsobem jako rozbalení jednotlivého souboru:

$ tar xvf archive_file.tar /cesta/k/dir/

Chcete-li extrahovat několik složek z archivu, zadejte jejich názvy v tomto pořadí:

$ tar xvf archive_file.tar /cesta/k/dir1/ /cesta/k/dir2/

Pro komprimované archivy platí totéž, pouze s použitím dalších klíčů:

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

Extrahování skupiny souborů z archivů tar, tar.gz, tar.bz2 pomocí regulárních výrazů

Chcete-li extrahovat skupinu souborů na základě určitých vlastností v názvu, můžete použít regulární výrazy. Pojďme například extrahovat z archivu všechny soubory s html rozšíření.

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

Přidání souboru nebo složky do existujícího archivu tar

Chcete-li přidat nový soubor nebo složku do existujícího archivu, použijte volbu -r:

$ tar rvf název_archivu.tar nový soubor

Přidání složky se provádí stejným způsobem:

$ tar rvf archive_name.tar newdir/

Pamatujte, že operace přidávání souborů a složek funguje pouze pro nekomprimované archivy tar.

Určení velikosti archivu tar před jeho vytvořením

Následující příkaz vám umožňuje určit velikost archivu tar.gz nebo tar.bz2 před jeho vytvořením (v KB)

Tar -czf - /adresář/do/archivu/ | wc –c $ tar -cjf - /adresář/do/archivu/ | wc -c


Jednoduchým schématem zálohování je uložit vše jednou a poté zálohovat vše, co se od předchozí kopie změnilo. První kopie se nazýváplná záloha , následující přírůstkové zálohy . Úplná kopie se často celá nevejde na pásku (nebo disketu). Obnova z přírůstkových kopií může vyžadovat mnohokrát více množství práce než z plné. Obnovení lze optimalizovat tak, abyste vždy zálohovali vše počínaje předchozí úplnou kopií; tato cesta vyžaduje trochu více práce, ale nikdy nebude potřeba obnovovat více než plnou a jednu přírůstkovou kopii.

Pokud byste chtěli dělat kopie denně a mít šest pásek, mohli byste použít pásku 1 pro první úplnou kopii (řekněme pátek) a pásky 2 až 5 pro přírůstkové kopie (pondělí až čtvrtek). Potom vytvoříte novou úplnou kopii na pásce 6 (druhý pátek) a začnete znovu vytvářet přírůstkové kopie na páskách 2-5. Nechcete přepisovat pásku 1, dokud nebudete mít novou úplnou kopii, aby se při vytváření nové plné kopie nestalo nic špatného. Jakmile vytvoříte úplnou kopii na pásce 6, můžete pásku 1 uložit někde jinde pro případ, že by byly zničeny vaše ostatní záložní pásky. Když potřebujete vytvořit další úplnou kopii, vyberete a použijete pásku 1.

Pokud máte více než šest pásek, můžete využít další prostor pro plné kopie. Pokaždé, když vytvoříte úplnou kopii, použijete nejstarší pásku. Tímto způsobem můžete mít kompletní kopie několika předchozích týdnů, což je dobré, pokud chcete najít starý, nyní smazaný soubor nebo starou verzi souboru.

Zálohování pomocí tar

Úplnou kopii lze snadno vytvořit příkazemdehet :

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

Výše uvedený příklad používá verzi GNUdehet a dlouhé názvy možností. Tradiční verzedehet jako parametr přijímá pouze jeden znak. Verze GNU také zvládne kopie, které se nevejdou na jednu pásku nebo disketu, a velmi dlouhé cesty; ne všechny tradiční verze to umí. Linux používá pouze GNUdehet .

Pokud se vaše kopie nevejde na jednu pásku, musíte tuto možnost použít--multi-volume (-M ):

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

tar: Odstranění úvodních / z absolutních názvů cest v archivu

Připravte svazek č. 2 pro /dev/fd0H1440 a stiskněte return:

Upozorňujeme, že před zahájením kopírování musíte diskety naformátovat. Ke spuštění příkazů formátu můžete použít jiné okno nebo virtuální termináldehet požádá o novou disketu.

Po vytvoření kopie ji musíte zkontrolovat pomocí možnosti--v porovnání ):

# tar --compare --verbose -f /dev/ftape

usr/src/

usr/src/linux

....

Pokud kopii neověříte, znamená to, že si nevšimnete, že kopie nefunguje, dokud neztratíte původní data.

Pomocí příkazu lze provést přírůstkovou kopiidehet s volbou --newer (-N):

# tar --create --novější "8. září 1995" --file /dev/ftape /usr/src --verbose

tar: Odstranění úvodních / z absolutních názvů cest v archivu

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

Bohužel, dehet nemůže detekovat změnu Inode informace o souboru, například změna přístupových práv nebo přejmenování souboru. Problém je vyřešen pomocí příkazunalézt a porovnání aktuálního stavu systému souborů se seznamy souborů, které byly zálohovány dříve. Skripty a programy pro automatizaci tohoto procesu lze nalézt na Linuxových ftp serverech.

Obnova pomocí dehtu

tým dehet s volbou --extract (-x ) extrahuje soubory:

# tar --extract --same-permissions --verbose --file /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/

...

Můžete také pouze extrahovat zadané soubory nebo adresáře (které zahrnují všechny jejich soubory a podadresáře), jejich výpis na příkazovém řádku:

# 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

Použijte možnost--list(-t ), pokud chcete pouze vidět, jaké soubory jsou na záložním svazku:

# tar --list --file /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

...

Všimněte si, žedehet vždy čte zálohovaný svazek postupně, takže u velkých svazků je proces poměrně pomalý. Náhodný přístup však nelze použít při použití pásky nebo jiného sériového média.

dehet nezpracovává smazané souboryŽe jo. Pokud musíte obnovit systém souborů z úplné a přírůstkové kopie a smazat soubor mezi vytvářením kopií, bude po obnovení znovu existovat. To může být velký problém, pokud soubor ukládá důležitá data, která by již neměla být přístupná.



muž dehet Použití: tar [MOŽNOST...] [SOUBOR]...
GNU `tar" je pro ukládání souborů
na magnetickou pásku nebo archivovat na disk a
zotavení samostatné soubory z
archiv.

Příklady:
tar -cf archive.tar foo bar # Vytvoří archive.tar ze souborů
foo a bar.
tar -tvf archive.tar # Vytiskne podrobný seznam
všechny soubory v archivu archive.tar.
tar -xf archive.tar # Rozbalte všechny soubory
z archivu.tar.

Základní provozní režim:

A, --catenate, --concatenate připojování souborů tar
do archivu
-c, --create vytvoří nový archiv
-d, --diff, --compare hledání rozdílů mezi
archiv a soubor
Systém
--delete delete from archiv (ne on
magnetické pásky!)
-r, --append připojí soubory na konec
archiv
-t, --list obsahu seznamu
archiv
--test-label zkontroluje jmenovku svazku archivu
a odejít
-u, --update přidání pouze do archivu
novější soubory
-x, --extract, --get extrahovat soubory z
archiv

Modifikátory:

Check-device kontrola čísla zařízení, kdy
vytváření přírůstkových
archivy (výchozí)
-g, --listed-incremental=SOUBOR
dodatečné zpracování
rezervace nového
formát GNU
-G, --přírůstkové zpracování přírůstkové
rezervování starého
formát GNU
--ignore-failed-read neukončit, když
nenulový stav pro
nečitelné soubory
-n, --seek je dostupné prohledávání archivů
--no-check-device při vytváření nekontroluje čísla zařízení
přírůstkové archivy
--occurrence[=N] zpracovává pouze N-tý
výskyty pro každého
soubor v archivu. Tato možnost
pravda pouze v kombinaci s
jeden z dílčích příkazů --delete,
--diff, --extract nebo --list a kdy
seznam souborů je uveden buď v
příkazový řádek nebo
přes volbu -T. Výchozí
N se rovná 1.
--sparse-version=MAJOR[.MINOR]
nainstalovat verzi
použitý formát
vakuum (znamená
--řídké)
-S, --řídké efektivní zpracování
řídké soubory

Ovládání přepsání:

K, --keep-old-soubory se nepřepisují
existující soubory, když
vytěžování
--keep-newer-files se nepřepisují
existující soubory,
které jsou novější než jejich
archivované kopie
--no-overwrite-dir uložit metadata
stávající katalogy
--overwrite přepíše existující
soubory při extrahování
--overwrite-dir přepíše existující
soubory při extrahování (podle
výchozí)
--recursive-unlink vymaže celou hierarchii do
extrahovat adresář
--remove-files odstraní soubory poté, co jsou
přidání do archivu
-U, --unlink-first odstraní každý předchozí soubor
extrahování nad ním
-W, --verify pokus o ověření archivu
po jeho nahrání

Výběr výstupního proudu:

Ignorovat-příkaz-chyba ignorovat kódy
dokončení dceřiných společností
procesy
--no-ignore-command-error počítání nenulových kódů
dokončení dceřiných společností
procesy jako chyba
-O, --to-stdout rozbalí soubory do
standardní výstup
--to-command=COMMAND
přesměrovat
extrahované soubory do jiného
program

Zpracování atributů souboru:

Atime-preserve[=METODA]
ušetřit přístupový čas
zkopírované soubory uživatelem
Doba zotavení
po přečtení (METHOD="nahradit";
se používá ve výchozím nastavení)
nebo nenastavíte čas
Předně
(METHOD="systém")
--delay-directory-restore nenastavují čas
změny a přístupová práva
extrahovaných adresářů až
dokončení procesu
těžba
--group=NAME vynuceno
nastavit NAME na
jako skupina pro
přidané soubory
--mode=MODE nucený
nainstalovat (znak)
Přístup do režimu MODE pro
přidané soubory
--mtime=DATUM-NEBO-SOUBOR
nainstalovat pro
přidány soubory mtime z
DATE-OR-FILE
-m, --touch nevytahuje čas
změny souborů
--no-delay-directory-restore
možnost zrušit
--delay-directory-restore
--no-same-owner rozbalí soubory jako vlastní
vlastní
--no-same-permissions platí uživatelské umask
při vytěžování práv
přístup z archivu (od
výchozí pro normální
uživatelé)
--numeric-owner místo toho použijte čísla
jména vlastníků/skupin
--owner=NAME vynuceno
nastavit NAME na
jako vlastník pro
přidané soubory
-p, --preserve-permissions, --same-permissions
získat informace o
přístupová práva k souboru (od
výchozí pro
superuživatel)
--preserve ekvivalent k -p a -s
--same-owner pokusit se extrahovat soubory z
stejný majitel
-s, --zachovat-řád, --stejný-řád
třídit extrahované
jména ve stejném pořadí jako
a v archivu

Výběr a přepínání zařízení:

F, --file=ARCHIV použijte soubor nebo
zařízení ARCHIV
--force-local archivní soubor je
místní, i když
obsahuje dvojtečku
-F, --info-script=NAME, --new-volume-script=NAME
spusťte skript pomocí
konec každé pásky
(implicitní
použít -M)
-L, --tape-length=N změnit pásku po nahrávání
NUMBER x 1024 bajtů
-M, --víceobjemový
vytvoření/vypsání/vyvolání
vícesvazkové archivy
--rmt-command=PŘÍKAZ
použijte zadané
COMMAND rmt místo rmt
--rsh-command=PŘÍKAZ
použít dálkové ovládání
COMMAND místo rsh
--volno-file=SOUBOR použití/aktualizace
čísla svazků v FILE

Rozdělení na bloky:

B, --blocking-factor=BLOKOVÁNÍ
počet BLOKŮ x 512 bajtů na
záznam
-B, --read-full-records znovu rozdělí do bloků
při čtení (pro kanály
4.2BSD)
-i, --ignore-zeros ignoruje nulové bloky
archivováno (tj. EOF)
--record-size=N POČET bajtů na záznam,
násobek 512

Formát archivu:

H, --format=FORMAT vytvoří archiv v zadaném formátu
formát

FORMÁT může být:

Formát Gnu GNU tar 1.13.x
oldgnu GNU formát jako v tar<= 1.12
formát pax POSIX 1003.1-2001 (pax)
posix ekvivalentní k pax
ustar formát POSIX 1003.1-1988 (ustar)
v7 starý formát tar v7

Starý archiv, --přenositelnost
ekvivalentní k --format=v7

Pax-option=klíčové slovo[[:]=hodnota][,klíčové slovo[[:]=hodnota]]
ovládat klíčová slova
pax
--posix ekvivalentní k --format=posix
-V, --label=TEXT vytvoří archiv s názvem svazku
TEXT; na
výpis/vyhledání
použijte TEXT v
jako šablonu
substitucí

Možnosti komprese:

A, --auto-compress použijte k určení příponu archivu
kompresní program
-j, --bzip2 projde archiv přes bzip2
--lzma filtrovat archiv přes lzma
--use-compress-program=PROG
projít archiv
PROG (musí podporovat
-d)
-z, --gzip, --gunzip, --ungzip přeskočit archiv
gzip
-Z, --compress, --uncompress přeskočit archiv
komprimovat

Výběr místních souborů:

Add-file=FILE přidat zadaný SOUBOR do
archiv (užitečné, pokud název
začíná pomlčkou)
--backup[=SPRÁVA]
udělat kopii předtím
odstranění, VEDENÍ
výběr verze
-C, --directory=ADRESÁŘ přejděte do ADRESÁŘE
--exclude=PATTERN vyloučit soubory,
definovaný VZOREM
--exclude-caches vyloučí obsah
adresáře se souborem CACHEDIR.TAG
kromě sebe
soubor se značkami
--exclude-caches-all vyloučit adresáře,
obsahující soubor CACHEDIR.TAG
--exclude-caches-under vyloučí veškerý obsah
adresáře obsahující soubor
CACHEDIR.TAG
--exclude-tag=FILE vyloučit adresáře,
obsahující FILE, pro
kromě samotného SOUBORU
--exclude-tag-all=SOUBOR vyloučit adresáře s
SOUBOR
--exclude-tag-under=SOUBOR
vyloučit veškerý obsah
adresáře obsahující FILE
--exclude-vcs vyloučí CVS adresáře
-h, --dereference následují symboly
odkazy a ukládání souborů,
na které poukazují
--hard-dereference následovat pevné odkazy; archiv a
vypsat soubory oni
odkazují na
-K, --starting-file=JMÉNO-ČLENA
začít s členem MEMBER-NAME
v archivu
--newer-mtime=DATE porovnat datum a čas,
pouze v případě změny
data
--no-recursion deaktivovat automatické
sestup do katalogů
--no-unquote neodstraní uvozovky ze jmen
soubory čtené z
s volbou -T
--null -T čte řádky,
končící nulou,
zakáže volbu -C
-N, --newer=DATUM-NEBO-SOUBOR, --after-date=DATUM-NEBO-SOUBOR
uložit pouze tyto soubory
které jsou novější
DATE-OR-FILE
--one-file-system zůstane místní
souborový systém, kdy
vytvoření archivu
-P, --absolute-names neodstraní úvodní `/" z
názvy souborů
--rekurze rekurzivní sestup na
adresáře (výchozí)
--suffix=LINE předtím vytvořte kopii
smazání, přepíše
normální přípona („~“, pokud
jen to není přepsáno
proměnná prostředí
SIMPLE_BACKUP_SUFFIX)
-T, --files-from=SOUBOR načte názvy ze SOUBORU
pro extrakci popř
stvoření
--unquote odstraní uvozovky ze jmen
soubory čtené z
s volbou -T (výchozí)
-X, --exclude-from=FILE vyloučit vzory,
uvedené v FILE

Převod názvu souboru:

Strip-components=N odeberte zadané ČÍSLO
počáteční komponenty z
názvy souborů dříve
těžba
--transform=EXPANZE
použít náhradu
sed rozšíření pro
konverze názvů souborů

Pojmenujte možnosti šablony zástupných znaků
soubory (ovlivňují vzory začlenění a
výjimky):

Ukotvené vzory začátku souboru
--ignore-case ignoruje malá a velká písmena
--no-ukotvené vzory za libovolným "/" (podle
výchozí pro vyloučené)
--no-ignore-case rozlišuje velká a malá písmena (podle
výchozí)
--no-widcards přesná shoda
čára
Masky --no-wildcards-match-slash se neshodují
"/"
--zástupné znaky používají masky (podle
výchozí pro vyloučené)
--wildcards-match-slash masky odpovídají "/" (podle
výchozí pro vyloučené)

Informační výstup:

Kontrolní bod[=N] zobrazuje zprávy o průběhu
provedení každý
NUMBER záznamů (výchozí
10)
--checkpoint-action=AKCE vykoná AKCI na každém kontrolním bodu
--index-file=SOUBOR odeslat podrobný výstup
data v FILE
-l, --check-links výstupní zprávy if
Ne všechny odkazy jsou uloženy
--no-quote-chars=STRING
zakázat citování
znaky z STRING
--quote-chars=STRING nepovinné
citovat postavy z
ČÁRY
--quoting-style=STYLE nastavit styl
citace jmen. Hodnoty
pro STYLE viz níže
-R, --block-number tiskne čísla bloků
archivovat v každé zprávě
--show-defaults zobrazí hodnoty tar podle
výchozí
--show-omitted-dirs při výpisu výpisu popř
výpis zobrazit vše
katalogy, nikoliv
odpovídající stavu
Vyhledávání
--show-transformed-names, --show-stored-names
zobrazit názvy souborů
nebo archivy po
proměna
--totals[=SIGNAL] vypíše celkový počet bajtů
po zpracování archivu; S
argument - závěr gener
počet bajtů po doručení
tento SIGNÁL. Povoleno
signály: SIGHUP, SIGQUIT, SIGINT, SIGUSR1
a SIGUSR2. Je to také povoleno
používat jména bez
předpona SIG
--utc datum úpravy tiskového souboru
ve formátu UTC
-v, --verbose podrobný výpis
zpracované soubory
-w, --interactive, --potvrzení
požádat o potvrzení
za každou akci

Možnosti kompatibility:

O stvoření, ekvivalent
--starý-archiv; při vytahování,
ekvivalentní k --no-same-owner

Jiné možnosti:

Nápověda výstup této nápovědy
--omezit zakázání použití
některé potenciálně
nebezpečné možnosti
--usage výstupní krátká zpráva
o použití
--version výstupní verze programu

Povinné nebo volitelné argumenty
pro dlouhé možnosti jsou také
povinné nebo volitelné pro
odpovídající krátké možnosti.

Přípona pro zálohy je `~", pokud tomu tak není
nainstalován přes --suffix
nebo SIMPLE_BACKUP_SUFFIX. Kontrola verzí může
být nainstalován
přes --backup nebo VERSION_CONTROL. Hodnoty mohou
být:

Žádné, vypnuto nevytvářet zálohy
t, číslované vytvořit číslované
zálohy
nula, existující očíslované, pokud existují
číslované výtisky, jinak čisté
nikdy, jednoduché vždy vytvořit jednoduché
zálohy

Platné argumenty pro možnosti --quoting-style:

Doslovný
skořápka
shell-vždy
C
c-možná
uniknout
národní prostředí
clocale

Výchozí hodnoty *tohoto* taru jsou:
--format=gnu -f- -b20 --quoting-style=escape --rmt-command=/usr/sbin/rmt
--rsh-command=/usr/bin/rsh

Nástroj příkazového řádku tar se používá pro práci s archivy v operačních systémech založených na UNIX. S jeho pomocí můžete archivovat data a optimalizovat využití místa na disku.

Vytváření a rozbalování archivů

Vytvořit

Tvorba se provádí pomocí klíče C. Syntaxe je následující:

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

Příklad vytvoření:

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

* v tomto příkladu bude vytvořen archiv archive.tar.gz domovský adresář uživatele ( /home/dmosk)
** Kde z— komprimovat archiv v gzip (bez tohoto parametru se tar nekomprimuje, ale vytvoří tzv. tarball); C— klíč k vytvoření archivu; proti— podrobný režim, to znamená s procesem zobrazeným na obrazovce (velmi vhodné pro sledování postupu práce, ale ve skriptech může chybět); F— použít soubor (určitě jej specifikujeme, protože většinou pracujeme se soubory).

Rozbalit

Rozbalení se provádí pomocí klíče X se syntaxí:

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

Příklad rozbalení:

tar -xvf archive.tar.gz

Příklady

gz

Rozbalení souboru .gz:

tar -xvf archive.tar.gz

* pokud dojde k chybě To nevypadá jako archiv tar, můžete použít příkaz gzip -d archive.tar.gz.

bz2

archiv tar -xvjf.tar.bz2

* klíč j je zodpovědný za práci s bz2.

Pokud si systém stěžuje na bzip2, musíte jej nainstalovat:

yum nainstalovat bzip2

apt-get install bzip2

pkg nainstalovat bzip2

* respektive pro CentOS (založené na RPM), Ubuntu (založené na deb), FreeBSD (založené na BSD).

Pokud vidíme chybu tar: Nerozpoznaný formát archivu, použijeme následující příkaz:

bzip2 -d archiv.tar.bz2

gzip

tar -xvzf archive.tar.gzip

* klávesa z je zodpovědná za práci s gzip.

tgz

Rozbalí se jako gzip:

tar -xvzf archiv.tgz

Rozbalte do konkrétní složky

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

* klíč -C slouží k určení složky, do které mají být rozbaleny soubory z archivu.

Rozbalení bez podsložky

Touto metodou lze rozbalit do předem připraveného adresáře. Dojde k určitému účinku přejmenování adresáře nebo analogu „Rozbalit zde“:

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

* katalog /home/admin/mytar musí být vytvořen předem; -- strip-components 1 přeskočí jednu podsložku v archivu.

Vyloučení souborů podle masky

Pokud potřebujete přeskočit některé soubory, zadejte příkaz s přepínačem --exclude:

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

* v tomto příkladu vytvoříme archiv archive.tar.gz, který nebude obsahovat soubory začínající na sess_.

Popis dehtových klíčů

Příkazy k akci

* V jednom příkazu nelze použít několik výše uvedených kláves.

Další možnosti

Klíč Popis
--atime-preserve Ponechte pro soubor stejné časové razítko přístupu.
-b N Nastavte velikost bloku na N x 512.
-C Změnit adresář. Standardně se používá ten, ve kterém se nacházíme.
--kontrolní bod Při čtení archivního souboru zobrazit názvy složek.
-G Při zobrazování nebo načítání použijte starý formát přírůstkové zálohy.
-G Při zobrazování nebo načítání použijte nový formát přírůstkové zálohy.
-h Neduplikujte symbolické odkazy. Pouze soubory, na které tyto symbolické odkazy ukazují.
-i Ignorujte bloky nul.
-j Pomocí bzip2.
--ignore-failed-read Ignorovat nečitelné soubory.
-k Při rozbalování nejsou existující soubory nahrazeny odpovídajícími soubory z archivu.
-L N Výměna magnetické pásky po N*1024 bytech.
-m Při načítání ignorujte čas změny objektu.
-M Vícesvazkové archivy.
-N DATUM Ukládejte pouze novější soubory vzhledem k DATE
Přímý výstup na standardní výstup.
-p Získávání chráněných informací.
-P Neodstraňuje úvodní lomítko (/) ze jmen.
-s Třídění souborů během extrakce.
--zachovat Stejné jako -ps
--remove-files Po přidání do archivu smažte zdrojové soubory.
--stejný-vlastník Při těžbě zachovejte vlastníka.
--celkem Výstupní bajty při vytváření archivu.
-proti Protokolování akcí – zobrazí seznam objektů, na kterých se akce vyskytuje.
-V JMÉNO Vytvoření archivu na svazku označeném NAME.
--verze Zobrazit verzi tar.
-w Vyžadovat potvrzení pro každou akci.
-W Kontrola archivu po nahrávání.
--vyloučit FILE Vyloučit soubor FILE.
-SOUBOR X Vyloučit soubory FILE.
-Z Filtruje archiv pomocí komprese.
-z Pomocí gzip.

* aktuální seznam možností lze získat pomocí příkazu muž dehet.