tar
příkaz vytvoří soubory tar převedením skupiny souborů do archivu. Může také extrahovat archivy tar, zobrazit seznam souborů obsažených v archivu, přidat další soubory do existujícího archivu a různé další druhy operací.
Tar byl původně navržen pro vytváření archivů pro ukládání souborů na magnetické pásce, a proto má svůj název „T opice AR pažitka“.
Tento článek ukazuje, jak používat tar
příkaz pro extrahování, seznam a vytváření archivů tar prostřednictvím praktických příkladů a podrobných vysvětlení nejběžnějších možností tar.
tar
Syntaxe příkazu #
Existují dvě verze tar, BSD tar a GNU tar, s některými funkčními rozdíly. Většina systémů Linux je standardně dodávána s předinstalovaným GNU tar.
Obecná syntaxe pro tar
příkaz je následující:
tar [OPERATION_AND_OPTIONS] [ARCHIVE_NAME] [FILE_NAME(s)]
OPERATION
- Je povolen a vyžadován pouze jeden argument operace. Nejčastěji používané operace jsou:--create
(-c
) – Vytvořte nový archiv tar.--extract
(-x
) – Extrahujte celý archiv nebo jeden či více souborů z archivu.--list
(-t
) – Zobrazí seznam souborů obsažených v archivu
OPTIONS
- Nejčastěji používané operace jsou:--verbose
(-v
) – Zobrazí soubory zpracovávané příkazem tar.--file=archive=name
(-f archive-name
) – Určuje název archivního souboru.
ARCHIVE_NAME
- Název archivu.FILE_NAME(s)
- Mezerou oddělený seznam názvů souborů, které mají být extrahovány z archivu. Pokud není zadán, bude extrahován celý archiv.
Při provádění příkazů tar můžete použít dlouhý nebo krátký tvar tar
operace a možnosti. Dlouhé formuláře jsou čitelnější, zatímco krátké formuláře se píší rychleji. Před možnostmi dlouhého tvaru je uvedena dvojitá pomlčka (--
). Před volbami ve zkráceném formátu je uvedena jedna pomlčka (-
), který lze vynechat.
Vytváření archivu Tar #
Tar podporuje širokou škálu kompresních programů, jako je gzip
, bzip2
, lzip
, lzma
, lzop
, xz
a compress
. Při vytváření komprimovaných archivů tar je přijatou konvencí připojovat k názvu souboru archivu příponu kompresoru. Pokud byl například archiv komprimován pomocí gzip
, měl by se jmenovat archive.tar.gz.
Chcete-li vytvořit archiv tar, použijte -c
možnost následovaná -f
a název archivu.
Chcete-li například vytvořit archiv s názvem archive.tar
ze souborů s názvem file1
, file2
, file3
, spustíte následující příkaz:
tar -cf archive.tar file1 file2 file3
Zde je ekvivalentní příkaz využívající možnosti dlouhého formuláře:
tar --create --file=archive.tar file1 file2 file3
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í --no-recursion
volba je specifikována.
Následující příklad vytvoří archiv s názvem user_backup.tar
z /home/user
adresář:
tar -cf backup.tar /home/user
Použijte -v
pokud chcete vidět soubory, které se zpracovávají.
Vytváření archivu Tar Gz #
Gzip je nejoblíbenější algoritmus pro kompresi souborů tar. Při komprimaci archivů tar pomocí gzip by měl název archivu končit buď tar.gz
nebo tgz
.
-z
volba říká taru, aby komprimoval archiv pomocí gzip
algoritmus tak, jak je vytvořen. Chcete-li například vytvořit tar.gzarchive z daných souborů, spustili byste následující příkaz:
tar -czf archive.tar.gz file1 file2
Vytváření archivu Tar Bz2 #
Dalším oblíbeným algoritmem pro kompresi souborů tar je bzip2. Při použití bzip2 by měl název archivu končit buď tar.bz2
nebo tbz
.
Chcete-li komprimovat archiv pomocí bzip2
algoritmu, vyvolejte tar
pomocí -j
volba. Následující příkaz vytvoří tar.bz2
archiv z daných souborů:
tar -cjf archive.tar.bz2 file1 file2
Výpis archivů Tar #
Při použití s --list
(-t
), možnost tar
příkaz vypíše obsah archivu tar bez jeho rozbalení.
Níže uvedený příkaz zobrazí obsah souboru archive.tar
soubor:
tar -tf archive.tar
file1
file2
file3
Chcete-li získat další informace, jako je vlastník souboru, velikost souboru, časové razítko, použijte --verbose
(-v
) možnost:
tar -tvf archive.tar
-rw-r--r-- linuxize/users 0 2018-09-08 01:19 file1
-rw-r--r-- linuxize/users 0 2018-09-08 01:19 file2
-rw-r--r-- linuxize/users 0 2018-09-08 01:19 file3
Extrahování archivu Tar #
Většina archivovaných souborů v Linuxu je archivována a komprimována pomocí formátu tar nebo tar.gz. Je důležité vědět, jak extrahovat tyto soubory z příkazového řádku.
Chcete-li rozbalit archiv tar, použijte --extract
(-x
) následovaná názvem archivu:
tar -xf archive.tar
Je také běžné přidat -v
možnost vytisknout názvy extrahovaných souborů.
tar -xvf archive.tar
Extrahování archivu Tar do jiného adresáře #
Ve výchozím nastavení tar rozbalí obsah archivu v aktuálním pracovním adresáři. Použijte --directory
(-C
) pro extrahování archivních souborů v konkrétním adresáři:
Chcete-li například extrahovat obsah archivu do /opt/files
adresář, můžete použít:
tar -xf archive.tar -C /opt/files
Extrahování archivů Tar Gz a Tar Bz2 #
Při rozbalování komprimovaných archivů, jako je tar.gz
nebo tar.bz2
, nemusíte zadávat možnost dekomprese. Příkaz je stejný jako při extrakci tar
archiv:
tar -xf archive.tar.gz
tar -xf archive.tar.bz2
Extrahování konkrétních souborů z archivu Tar #
Někdy místo rozbalení celého archivu může být potřeba rozbalit z něj jen několik souborů.
Chcete-li extrahovat konkrétní soubor(y) z archivu tar, připojte za název archivu seznam názvů souborů, které mají být extrahovány:
tar -xf archive.tar file1 file2
Při extrahování souborů musíte zadat jejich přesné názvy, včetně cesty, jak je vytiskne --list
(-t
).
Extrahování jednoho nebo více adresářů z archivu je stejné jako rozbalování souborů:
tar -xf archive.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: Not found in archive
tar: Exiting with failure status due to previous errors
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 --wildcards
přepněte a citujte vzor, abyste zabránili shellu v jeho interpretaci.
Chcete-li například extrahovat soubory, jejichž názvy končí na .js
(soubory JavaScript), můžete použít:
tar -xf archive.tar --wildcards '*.js'
Přidávání souborů do existujícího archivu Tar #
Chcete-li přidat soubory nebo adresáře do existujícího archivu tar, použijte --append
(-r
) operace.
Chcete-li například přidat soubor s názvem newfile
na archive.tar byste spustili:
tar -rvf archive.tar newfile
Odebrání souborů z archivu Tar #
Použijte --delete
operace k odstranění souborů z archivu.
Následující příklad ukazuje, jak odstranit soubor file1
z archive.tar,:
tar --delete -f archive.tar file1
Závěr č.
Nejběžnější použití tar
příkaz je vytvořit a rozbalit archiv tar. Chcete-li rozbalit archiv, použijte tar -xf
příkaz následovaný názvem archivu a pro vytvoření nového použijte tar -czf
následovaný názvem archivu a soubory a adresáře, které chcete do archivu přidat.
Další informace o příkazu tar naleznete na stránce dokumentace Gnu tar.