Do tar
a gzip
složku, syntaxe je:
tar czf name_of_archive_file.tar.gz name_of_directory_to_tar
-
s czf
je volitelné.
Pokud chcete tar
aktuální adresář, použijte .
to určit.
Chcete-li dynamicky vytvářet názvy souborů, použijte date
(dostupné možnosti formátu naleznete na jeho manuálové stránce). Například:
cd /var/www &&
tar czf ~/www_backups/$(date +%Y%m%d-%H%M%S).tar.gz .
Tím se vytvoří soubor s názvem něco jako 20120902-185558.tar.gz
.
V systému Linux je pravděpodobné, že máte tar
také podporuje kompresi BZip2 s j
spíše než z
volba. A možná i další. Zkontrolujte manuálovou stránku vašeho místního systému.
Příklady nejběžnějších kompresních algoritmů
Název otázky je jednoduše "Komprimovat složku pomocí tar?" Vzhledem k tomu, že tento název je velmi obecný, ale otázka a odpověď jsou mnohem konkrétnější, a vzhledem k velkému počtu zhlédnutí tato otázka přilákala, cítil jsem, že by bylo přínosné přidat aktuální seznam příkladů obou archivace/komprimace a extrakce/dekomprimace pomocí různých běžně používaných kompresních algoritmů.
Ty byly testovány s Ubuntu 18.04.4. Jsou velmi jednoduché pro obecné použití, ale lze je snadno integrovat do specifičtějšího obsahu otázek OP pomocí technik v přijatých odpovědích a užitečných komentářích výše.
Jedna věc, kterou je třeba poznamenat pro obecnější publikum, je tar
nepřidá potřebná rozšíření (jako .tar.gz
) automaticky - uživatel je musí explicitně přidat, jak je vidět v příkazech níže:
# 1: tar (create uncompressed archive) all files and directories in the current working directory recursively into an uncompressed tarball
tar cvf filename.tar *
# 2: Untar (extract uncompressed archive) all files and directories in an uncompressed tarball recursively into the current working directory
tar xvf filename.tar
# 3: tar (create gzipped archive) all files and directories in the current working directory recursively into a tarball compressed with gzip
tar cvzf filename.tar.gz *
# 4: Untar (extract gzipped archive) all files and directories in a tarball compressed with gzip recursively into the current working directory
tar xvf filename.tar.gz # Note: same options as 2 above
# 5: tar (create bzip2'ed archive) all files and directories in the current working directory recursively into a tarball compressed with bzip2
tar cvjf filename.tar.bz2 * # Note: little 'j' in options
# 6: Untar (extract bzip2'ed archive) all files and directories in an tarball compressed with bzip2 recursively into the current working directory
tar xvf filename.tar.bz2 # Note: same options as 2 and 4 above
# 7: tar (create xz'ed archive) all files and directories in the current working directory recursively into a tarball compressed with xz
tar cvJf filename.tar.xz * # Note: capital 'J' in options
# 8: Untar (extract xz'ed archive) all files and directories in an tarball compressed with xz recursively into the current working directory
tar xvf filename.tar.xz # Note: same options as 2, 4, and 6 above
Podívejte se na manuálovou stránku tar (nejlepší je použít man tar
na vašem konkrétním počítači) pro další podrobnosti. Níže shrnuji výše použité možnosti přímo z manuálové stránky:
-c, --vytvořit
vytvořit nový archiv-x, --extrakce, --get
extrahovat soubory z archivu-v, --verbose
podrobný seznam zpracovaných souborů-z, --gzip
filtrovat archiv přes gzip-j, --bzip2
filtrovat archiv přes bzip2-J, --xz
filtrovat archiv přes xz-f, --soubor=ARCHIV
použijte archivní soubor nebo zařízení ARCHIV
Není třeba přidávat -
před kombinovanými možnostmi nebo =
znaménko mezi f
možnost a název souboru.
To vše jsem získal ze svého nedávného článku, který bude rozšířen na mnohem obsáhlejší článek, až budu mít čas na něm pracovat.