GNU/Linux >> Znalost Linux >  >> Linux

10 příkladů příkazů Tar v Linuxu pro vytváření a extrahování archivů

Příkaz Tar v systému Linux

Příkaz tar (tape archive) se používá k vytváření a extrahování archivů v Linuxu. Může komprimovat a ukládat více souborů do jednoho archivu.

Běžně používané přípony souborů jsou .tar.gz a .tar.bz2, což je archiv tar dále komprimovaný pomocí algoritmů gzip nebo bzip.

V tomto tutoriálu se podíváme na jednoduché příklady použití příkazu tar k provádění každodenních úloh vytváření a rozbalování archivů na linuxových desktopech nebo serverech.

Použití příkazu tar

Příkaz tar je standardně dostupný na většině linuxových systémů a nemusíte jej instalovat samostatně.

S tar existují 2 kompresní formáty, gzip a bzip. Volba "z" určuje gzip a volba "j" určuje bzip. Je také možné vytvářet nekomprimované archivy.

1. Rozbalte archiv tar.gz

No, běžnější použití je extrahovat archivy tar. Následující příkaz rozbalí soubory z archivu tar.gz

$ tar -xvzf tarfile.tar.gz

Zde je rychlé vysvětlení použitých parametrů -

x - Extrahujte souboryv - podrobně, vytiskněte názvy souborů tak, jak jsou extrahovány jeden po druhém - Soubor je "gzipovaný" souborf - Pro operaci použijte následující archiv tar

To jsou některé z důležitých možností k zapamatování

Rozbalte archivy tar.bz2/bzip

Soubory s příponou bz2 jsou komprimovány pomocí algoritmu bzip a dokáže si s nimi poradit i příkaz tar. Použijte možnost j místo možnosti z.

$ tar -xvjf archivefile.tar.bz2

2. Extrahujte soubory do konkrétního adresáře nebo cesty

Chcete-li extrahovat soubory do určitého adresáře, zadejte cestu pomocí volby "-C". Všimněte si, že je to velké C.

$ tar -xvzf abc.tar.gz -C /opt/folder/

Nejprve se však ujistěte, že cílový adresář existuje, protože tar za vás nevytvoří adresář a selže, pokud neexistuje.

3. Extrahujte jeden soubor

Chcete-li extrahovat jeden soubor z archivu, přidejte název souboru za příkaz, jako je tento

$ tar -xz -f abc.tar.gz "./new/abc.txt"

Více než jeden soubor lze zadat ve výše uvedeném příkazu takto

$ tar -xv -f abc.tar.gz "./new/cde.txt" "./new/abc.txt"

4. Extrahujte více souborů pomocí zástupných znaků

Zástupné znaky lze použít k extrahování hromady souborů odpovídajících daným zástupným znakům. Například všechny soubory s příponou ".txt".

$ tar -xv -f abc.tar.gz --wildcards "*.txt"

5. Seznam a vyhledávání obsahu archivu tar

Pokud chcete pouze vypsat obsah archivu tar a ne jej extrahovat, použijte volbu "-t". Následující příkaz vytiskne obsah archivu gzip tar,

$ tar -tz -f abc.tar.gz./new/./new/cde.txt./new/subdir/./new/subdir/in.txt./new/abc.txt... 

Výstup pomocí kanálu grep prohledejte soubor nebo příkaz less pro procházení seznamu. Použitím možnosti "v" verbose se vytisknou další podrobnosti o každém souboru.

Pro soubory tar.bz2/bzip použijte volbu "j"

K prohledání archivu použijte výše uvedený příkaz v kombinaci s příkazem grep. Jednoduché!

$ tar -tvz -f abc.tar.gz | grep abc.txt-rw-rw-r-- osvícený/osvícený 0 2015-01-13 11:40 ./new/abc.txt

6. Vytvořte archiv tar/tar.gz

Nyní, když jsme se naučili, jak extrahovat existující archivy tar, je čas začít vytvářet nové. Příkazu tar lze říci, aby vložil vybrané soubory do archivu nebo do celého adresáře. Zde je několik příkladů.

Následující příkaz vytvoří archiv tar pomocí adresáře a přidá všechny soubory v něm a podadresáře.

$ tar -cvf abc.tar ./new/./new/./new/cde.txt./new/abc.txt

Výše uvedený příklad nevytváří komprimovaný archiv. Prostě prostý archiv, který dává dohromady více souborů bez skutečné komprese.

Chcete-li komprimovat, použijte volbu "z" nebo "j" pro gzip nebo bzip.

$ tar -cvzf abc.tar.gz ./new/
Na příponě názvu souboru opravdu nezáleží. "tar.gz" a tgz jsou běžné přípony pro soubory komprimované pomocí gzip. ".tar.bz2" a ".tbz" jsou běžně používané přípony pro soubory komprimované bzip.

7. Před přidáním souborů požádat o potvrzení

Užitečná volba je "w", která způsobí, že tar požádá o potvrzení pro každý soubor před jeho přidáním do archivu. To může být někdy užitečné.

Byly by přidány pouze ty soubory, u kterých byla dána odpověď ano. Pokud nic nezadáte, výchozí odpověď bude „Ne“.

# Přidat konkrétní soubory$ tar -czw -f abc.tar.gz ./new/*add './new/abc.txt'?yadd './new/cde.txt'?yadd './new /newfile.txt'?nadd './new/subdir'?yadd './new/subdir/in.txt'?n# Nyní vypište přidané soubory$ tar -t -f abc.tar.gz./new/ abc.txt./new/cde.txt./new/subdir/

8. Přidejte soubory do existujících archivů

Možnost r lze použít k přidání souborů do existujících archivů, aniž byste museli vytvářet nové. Zde je rychlý příklad

$ tar -rv -f abc.tar abc.txt
Soubory nelze přidávat do komprimovaných archivů (gz nebo bzip). Soubory lze přidávat pouze do obyčejných archivů tar.

9. Přidejte soubory do komprimovaných archivů (tar.gz/tar.bz2)

Již bylo zmíněno, že není možné přidávat soubory do komprimovaných archivů. Přesto se to dá udělat jednoduchým trikem. Pomocí příkazu gunzip rozbalte archiv, přidejte soubor do archivu a znovu jej zkomprimujte.

$ gunzip archive.tar.gz$ tar -rf archive.tar ./path/to/file$ gzip archive.tar

Pro soubory bzip použijte příkazy bzip2 a bunzip2.

10. Zálohování pomocí tar

Skutečným scénářem je zálohování adresářů v pravidelných intervalech. Příkaz tar lze naplánovat tak, aby takové zálohy prováděl přes cron. Zde je příklad -

$ tar -cvz -f archiv-$(datum +%Y%m%d).tar.gz ./new/

Spusťte výše uvedený příkaz přes cron a bude pokračovat ve vytváření záložních souborů s názvy jako -
'archive-20150218.tar.gz'.

Samozřejmě se ujistěte, že místo na disku není přeplněné většími a většími archivy.

11. Při vytváření ověřte archivní soubory

Možnost "W" lze použít k ověření souborů po vytvoření archivů. Zde je rychlý příklad.

$ tar -cvW -f abc.tar ./new/./new/./new/cde.txt./new/subdir/./new/subdir/in.txt./new/newfile.txt. /new/abc.txtVerify ./new/Verify ./new/cde.txtVerify ./new/subdir/Verify ./new/subdir/in.txtVerify ./new/newfile.txtVerify ./new/abc.txt 

Upozorňujeme, že ověření nelze provést u komprimovaných archivů. Funguje pouze s nekomprimovanými archivy tar.

Závěr

Kromě příkazu tar je na příkazovém řádku linuxu k dispozici mnoho dalších příkazů, které lze použít ke kompresi a zabalení souborů do archivu. Například příkaz zip a unzip lze také použít k vytvoření komprimovaných archivů.

Příkaz zip také podporuje příkaz zipcloak, který lze použít k vytvoření archivů .zip chráněných heslem. Formát tar nepodporuje žádný druh šifrování. Pokud chcete vytvořit archivy tar chráněné heslem, použijte ccrypt příkaz k zašifrování souboru .tar nebo .tar.gz.

To je prozatím vše. Pro více se podívejte na manuálovou stránku pro příkaz tar s "man tar". Nebo spusťte "tar --help" pro zobrazení seznamu všech možností podporovaných příkazem tar.


Linux
  1. Linux Cat Command:Použití a příklady

  2. Příkaz Linux Sed:Použití a příklady

  3. Linux nice and renice Command Tutorial (7 příkladů)

  1. Linuxové příkazy – přehled a příklady

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

  3. Vytvářejte a extrahujte soubory tar.gz a tar.bz2 na ubuntu linux

  1. Příkaz tar pro Linux

  2. Příklady příkazů mkdir a rmdir v Linuxu

  3. Příklady příkazů tar v Linuxu