Android

Příkaz Tar v Linuxu (vytváření a extrahování archivů)

Introduction to Amazon Web Services by Leo Zhadanovsky

Introduction to Amazon Web Services by Leo Zhadanovsky

Obsah:

Anonim

Příkaz tar se používá k vytvoření archivu dehtu převedením skupiny souborů do archivu. Má také schopnost extrahovat archivy dehtu, zobrazit seznam souborů obsažených v archivu, přidávat další soubory do existujícího archivu a také různé další druhy operací.

Tar byl původně navržen pro vytváření archivů pro ukládání souborů na magnetickou pásku, a proto má název „ T ape AR pažitka“.

V tomto tutoriálu vám ukážeme, jak pomocí příkazu tar extrahovat, vypsat a vytvořit archivy dehtu pomocí praktických příkladů a podrobných vysvětlení nejběžnějších možností dehtu.

Syntaxe příkazu Tar

Existují dvě verze dehtu, BSD dehtu a GNU dehtu s některými funkčními rozdíly mezi. Většina systémů Linux je ve výchozím nastavení předinstalovaná na GNU tar.

Obecná syntaxe příkazu tar je následující:

tar

  • OPERATION - Je povolen a vyžadován pouze jeden argument operace. Nejčastěji používané operace jsou:
    • --create ( -c ) - Vytvoření nového archivu dehtu. --extract ( -x ) - Extrahuje celý archiv nebo jeden nebo 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 ) - Zobrazit 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) - Seznam názvů souborů oddělených mezerami z archivu. Pokud není zadán, rozbalí se celý archiv.

Při provádění příkazů dehtu můžete použít dlouhou nebo krátkou formu operací a voleb tar . Dlouhé formuláře jsou čitelnější, zatímco krátké formuláře lze psát rychleji. Volby dlouhého tvaru jsou opatřeny dvojitou pomlčkou ( -- ). Volby zkráceného formuláře jsou předpony s jednou pomlčkou ( - ), kterou lze vynechat.

Vytváření archivu Tar

Tar podporuje širokou škálu kompresních programů, jako jsou gzip , bzip2 , lzip , lzma , lzop , xz a compress . Při vytváření archivů komprimovaného dehtu je přijímanou konvencí připojovat příponu kompresoru k názvu archivního souboru. Pokud byl například archiv komprimován pomocí gzip , měl by být pojmenován archive.tar.gz.

Pro vytvoření archivu dehtu použijte volbu -c následovanou -f a názvem archivu.

Chcete-li například vytvořit archiv s názvem archive.tar ze souborů s názvem file1 , file2 , file3 , spusť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 tvaru:

tar --create --file=archive.tar file1 file2 file3

Můžete vytvářet archivy z obsahu jednoho nebo více adresářů nebo souborů. Ve výchozím nastavení jsou adresáře archivovány rekurzivně, pokud není zadána volba --no-recursion .

Následující příklad vytvoří archiv s názvem user_backup.tar z adresáře /home/user :

tar -cf backup.tar /home/user

Použijte volbu -v pokud chcete vidět zpracovávané soubory.

Vytváření archivu Tar Gz

Gzip je nejoblíbenější algoritmus pro kompresi souborů dehtu. Při komprimaci archivů dehtu pomocí gzip by měl název archivu končit buď tar.gz nebo tgz .

Volba -z říká dechtu, aby komprimoval archiv pomocí algoritmu gzip , jak je vytvořen. Například pro vytvoření archivu tar.gz z daných souborů byste použili následující příkaz:

tar -czf archive.tar.gz file1 file2

Vytvoření archivu Tar Bz2

Další populární algoritmus pro kompresi souborů dehtu je bzip2. Při komprimaci archivů dehtu pomocí bzip2 by měl název archivu končit buď tar.bz2 nebo tbz .

Pokud je zadána volba -j dech bude komprimovat archiv pomocí algoritmu bzip2 . Následující příkaz vytvoří z daných souborů archiv tar.bz2 :

tar -cjf archive.tar.bz2 file1 file2

Archivy výpisů dehtu

Při použití s ​​volbou --list ( -t ) příkaz tar vypíše obsah archivu dehtu, aniž by jej rozbalil. Příkaz níže vypíše obsah souboru archive.tar :

tar -tf archive.tar Výstup zobrazí seznam všech souborů v archivu:

file1 file2 file3

Chcete-li získat další informace, například vlastníka souboru, velikost souboru, časové razítko, použijte volbu --verbose ( -v ):

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 dehtu

Většina archivovaných souborů v systému Linux je archivována a komprimována pomocí formátu tar nebo tar.gz. Důležité je vědět, jak extrahovat tyto soubory z příkazového řádku.

Chcete-li extrahovat archív tar, použijte volbu --extract ( -x ) následovanou názvem archivu:

tar -xf archive.tar

Je také běžné přidat volbu -v pro tisk názvů extrahovaných souborů.

tar -xvf archive.tar

Extrahování archivu dehtu v jiném adresáři

Ve výchozím nastavení bude extrahovat obsah archivu v aktuálním pracovním adresáři. Pomocí --directory ( -C ) extrahujte archivní soubory do konkrétního adresáře:

Chcete-li například extrahovat obsah archivu do adresáře /opt/files , můžete použít:

tar -xf archive.tar -C /opt/files

Extrahování archivů Tar Gz a Tar Bz2

Při extrahování komprimovaných archivů, jako je tar.gz nebo tar.bz2 , nemusíte určovat možnost dekomprese. Příkaz je stejný jako při extrahování archivu tar :

tar -xf archive.tar.gz

tar -xf archive.tar.bz2

Extrahování konkrétních souborů z archivu dehtu

Někdy namísto rozbalení celého archivu možná budete muset z něj extrahovat pouze několik souborů.

Chcete-li extrahovat konkrétní soubory z archivu dehtu, připojte za název archivu seznam mezer oddělených mezerami:

tar -xf archive.tar file1 file2

Při extrahování souborů musíte uvést jejich přesná jména včetně cesty, jak je vytištěno pomocí --list ( -t ).

Extrahování jednoho nebo více adresářů z archivu je stejné jako extrahování souborů:

tar -xf archive.tar dir1 dir2

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ých znaků

Chcete-li extrahovat soubory z archivu na základě zástupného vzoru, použijte přepínač --wildcards a citujte vzor, ​​abyste zabránili interpretaci shellu.

Například k extrahování souborů, jejichž jména 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 dehtu

Chcete-li přidat soubory nebo adresáře do existujícího archivu dehtu, použijte --append ( -r ).

Například pro přidání souboru s názvem newfile do archive.tar byste spustili:

tar -rvf archive.tar newfile

Odebírání souborů z archivu Tar

K odstranění souborů z archivu použijte operaci --delete .

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í příkazu tar je vytvoření a extrahování archivu dehtu. Při extrahování archivu použijte příkaz tar -xf 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 přidat do archivu.

Další informace o příkazu dehtu naleznete na stránce dokumentace Gnu dehtu.

dehtový terminál