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.txtUpozorň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.
10 praktických příkladů dotykového příkazu na Linuxu Odesílejte poštu z příkazového řádku s externím serverem smtp v systému LinuxLinux