GNU/Linux >> Znalost Linux >  >> Linux

Výukový program Ultimate Tar Command s 10 praktickými příklady

Na platformě Unix příkaz tar je primární archivační nástroj. Pochopení různých možností příkazu tar vám pomůže zvládnout manipulaci s archivními soubory.

V tomto článku si projdeme různé příklady tar včetně toho, jak vytvořit archivy tar (s kompresí gzip a bzip), extrahovat jeden soubor nebo adresář, zobrazit obsah archivu tar, ověřit integritu archivů tar, zjistit rozdíl mezi archivem tar a systémem souborů, odhadnout velikost tar archivy před jeho vytvořením atd.,

1. Vytvoření archivu pomocí příkazu tar

Vytvoření nekomprimovaného archivu tar pomocí volby cvf

Toto je základní příkaz pro vytvoření archivu tar.

$ tar cvf archive_name.tar dirname/

Ve výše uvedeném příkazu:

  • c – vytvoření nového archivu
  • v – podrobný seznam souborů, které se zpracovávají.
  • f – následuje název archivního souboru

Vytvoření tar gzip archivu pomocí volby cvzf

Výše uvedená možnost tar cvf neposkytuje žádnou kompresi. Chcete-li v archivu tar použít kompresi gzip, použijte volbu z, jak je uvedeno níže.

$ tar cvzf archive_name.tar.gz dirname/
  • z – filtrování archivu přes gzip

Poznámka: .tgz je stejné jako .tar.gz

Poznámka: Rád ponechávám volbu „cvf“ (nebo tvf nebo xvf) nezměněnou pro veškeré vytváření archivů (nebo prohlížení nebo extrahování) a na konec přidávám další možnost, která se snadněji pamatuje. tj. cvf pro vytvoření archivu, cvfz pro vytvoření komprimovaného archivu gzip, cvfj pro vytvoření komprimovaného archivu bzip2 atd., Aby tato metoda fungovala správně, nedávejte – před možnosti.

Vytvoření archivu bzip tar pomocí volby cvjf

Vytvořte archiv bzip2 tar, jak je znázorněno níže:

$ tar cvfj archive_name.tar.bz2 dirname/
  • j – filtrovat archiv přes bzip2

gzip vs bzip2 :bzip2 trvá déle, než se komprimuje a dekomprimuje, než gzip. Velikost archivu bzip2 je menší než velikost gzip.

Poznámka: .tbz a .tb2 jsou stejné jako .tar.bz2

2. Rozbalení (rozbalení) archivu pomocí příkazu tar

Rozbalte soubor *.tar pomocí volby xvf

Extrahujte soubor tar pomocí možnosti x, jak je uvedeno níže:

$ tar xvf archive_name.tar
  • x – extrahovat soubory z archivu

Rozbalte archiv tar gzip ( *.tar.gz ) pomocí možnosti xvzf

Použijte volbu z pro dekomprimaci archivu gzip tar.

$ tar xvfz archive_name.tar.gz

Rozbalení archivu tar bzip ( *.tar.bz2 ) pomocí volby xvjf

Použijte volbu j pro dekomprimaci tar archivu bzip2.

$ tar xvfj archive_name.tar.bz2

Poznámka: Ve všech výše uvedených příkazech je v nepovinný, který uvádí zpracovávaný soubor.

3. Výpis archivu pomocí příkazu tar

Zobrazte obsah souboru archivu tar bez rozbalování pomocí volby tvf

Před extrahováním si můžete prohlédnout obsah souboru *.tar, jak je ukázáno níže.

$ tar tvf archive_name.tar

Zobrazte obsah souboru *.tar.gz bez extrahování pomocí volby tvzf

Před extrahováním si můžete prohlédnout obsah souboru *.tar.gz, jak je ukázáno níže.

$ tar tvfz archive_name.tar.gz

Zobrazte obsah souboru *.tar.bz2 bez extrahování pomocí volby tvjf

Před extrahováním si můžete prohlédnout obsah souboru *.tar.bz2, jak je ukázáno níže.

$ tar tvfj archive_name.tar.bz2

4. Výpis obsahu souboru tar pomocí příkazu less

Když je počet souborů v archivu větší, můžete výstup taru tar snížit. Můžete však také použít příkaz less přímo k zobrazení výstupu archivu tar, jak je vysvětleno v jednom z našich předchozích článků Otevřít a zobrazit 10 různých typů souborů pomocí příkazu Linux Less – Ultimate Power of Less.

5. Extrahujte jeden soubor ze souborů tar, tar.gz, tar.bz2

Chcete-li extrahovat konkrétní soubor z archivu tar, zadejte název souboru na konec příkazu tar xvf, jak je uvedeno níže. Následující příkaz extrahuje pouze konkrétní soubor z velkého souboru tar.

$ tar xvf archive_file.tar /path/to/file

Použijte příslušnou možnost z nebo j podle metody komprese gzip nebo bzip2, jak je uvedeno níže.

$ tar xvfz archive_file.tar.gz /path/to/file

$ tar xvfj archive_file.tar.bz2 /path/to/file

6. Extrahujte jeden adresář ze souborů tar, tar.gz, tar.bz2

Chcete-li extrahovat jeden adresář (spolu s jeho podadresářem a soubory) z archivu tar, zadejte název adresáře na konec příkazu tar xvf, jak je uvedeno níže. Následující text extrahuje pouze určitý adresář z velkého souboru tar.

$ tar xvf archive_file.tar /path/to/dir/

Chcete-li extrahovat více adresářů z archivu tar, zadejte tyto jednotlivé názvy adresářů na konci příkazu tar xvf, jak je uvedeno níže.

$ tar xvf archive_file.tar /path/to/dir1/ /path/to/dir2/

Použijte příslušnou možnost z nebo j podle metody komprese gzip nebo bzip2, jak je uvedeno níže.

$ tar xvfz archive_file.tar.gz /path/to/dir/

$ tar xvfj archive_file.tar.bz2 /path/to/dir/

7. Extrahujte skupinu souborů z archivů tar, tar.gz, tar.bz2 pomocí regulárního výrazu

Chcete-li extrahovat soubory odpovídající zadanému vzoru, můžete zadat regulární výraz. Například následující příkaz tar extrahuje všechny soubory s příponou pl.

$ tar xvf archive_file.tar --wildcards '*.pl'

Vysvětlení možností:

  • –wildcards *.pl – soubory s příponou pl

8. Přidání souboru nebo adresáře do existujícího archivu pomocí volby -r

Do existujícího archivu tar můžete přidat další soubory, jak je znázorněno níže. Chcete-li například připojit soubor k souboru *.tar, postupujte takto:

$ tar rvf archive_name.tar newfile

Tento nový soubor bude přidán do existujícího souboru název_archivu.tar. Přidání adresáře do tar je také podobné,

$ tar rvf archive_name.tar newdir/

Poznámka: Do komprimovaného archivu nelze přidat soubor nebo adresář. Pokud se o to pokusíte, zobrazí se chyba „tar:Nelze aktualizovat komprimované archivy“, jak je uvedeno níže.

$ tar rvfz archive_name.tgz newfile
tar: Cannot update compressed archives
Try `tar --help' or `tar --usage' for more information.

9. Ověřte soubory dostupné v tar pomocí volby -W

Jako součást vytváření souboru tar můžete ověřit vytvořený archivní soubor pomocí možnosti W, jak je uvedeno níže.

$ tar cvfW file_name.tar dir/

Pokud plánujete odstranit adresář/soubor z archivního souboru nebo ze systému souborů, možná budete chtít archivní soubor ověřit, než to uděláte, jak je uvedeno níže.

$ tar tvfW file_name.tar
Verify 1/file1
1/file1: Mod time differs
1/file1: Size differs
Verify 1/file2
Verify 1/file3

Pokud výstupní řádek začíná Verify a neexistuje žádný odlišný řádek, pak je soubor/adresář OK. Pokud ne, měli byste problém prošetřit.

Poznámka: u komprimovaného archivního souboru ( *.tar.gz, *.tar.bz2 ) nelze ověření provést.

Nalezení rozdílu mezi archivem a souborovým systémem lze provést i pro komprimovaný archiv. Také zobrazuje stejný výstup jako výše s výjimkou řádků s Verify.

Hledání rozdílu mezi archivním souborem gzip a systémem souborů

$ tar dfz file_name.tgz

Hledání rozdílu mezi archivním souborem bzip2 a systémem souborů

$ tar dfj file_name.tar.bz2

10. Odhadněte velikost archivu tar

Následující příkaz odhadne velikost souboru tar (v kB) před vytvořením souboru tar.

$ tar -cf - /directory/to/archive/ | wc -c
20480

Následující příkaz odhadne velikost komprimovaného souboru tar (v kB) před vytvořením souborů tar.gz, tar.bz2.

$ tar -czf - /directory/to/archive/ | wc -c
508

$ tar -cjf - /directory/to/archive/ | wc -c
428

Linux
  1. Numfmt Command Tutorial s příklady pro začátečníky

  2. 5 Praktické příklady příkazu dd v Linuxu

  3. Echo Command s praktickými příklady

  1. Kurz příkazu typu s příklady pro začátečníky

  2. Návod Shuf Command s příklady pro začátečníky

  3. Bash Shell Exit Status Tutorial s praktickými příklady

  1. Bash HereDoc výukový program s příklady

  2. Příkaz tar v Linuxu s příklady

  3. Výukový program Ultimate Bash Array s 15 příklady