GNU/Linux >> Znalost Linux >  >> Linux

Komprimovat složku s tar?

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.


Linux
  1. Jak tarovat (komprimovat) soubory, s výjimkou určitých souborů nebo adresářů

  2. Jak archivovat a komprimovat soubory na Linuxu

  3. Velikost složky s du

  1. 16 příkazů Tar pro kompresi a extrahování souborů v Linuxu

  2. Seřadit soubory v konkrétní složce pomocí Ranger?

  3. Jak zkomprimovat více souborů do archivu .xz?

  1. Jak komprimovat/dekomprimovat v Linuxu

  2. Příkaz tar pro Linux

  3. Otevření souboru .tar.gz jediným příkazem