Chcete extrahovat jeden soubor nebo složku z archivu TAR nebo TAR.GZ? Zde je návod, jak to udělat v Linuxu pomocí příkazu tar.

Tarball (TAR nebo TAR.GZ) je sada souborů sdružených dohromady jako jeden archiv, což usnadňuje ukládání a přenos velkého množství souborů lokálně nebo přes internet. Kdykoli budete soubory potřebovat, můžete archiv jednoduše rozbalit.

Zvažte scénář, kdy potřebujete pouze jeden soubor z velkého archivu. V takovém případě můžete místo rozbalení celého archivu rozbalit pouze soubor, který potřebujete. Podívejme se jak.

Zobrazit obsah Tarballu

Pokud chcete pouze zobrazit obsah soubor TAR nebo TAR.GZ, nemusíte jej extrahovat. Místo toho použijte následující příkaz k zobrazení toho, co je uvnitř:

tar -tvf [archive.tar]
tar -ztvf [archive.tar.gz]

Tím se vytiskne seznam všech souborů a adresářů v archivu.

Extrahujte jeden soubor z Tarballu

Chcete-li extrahovat jeden soubor z TAR nebo TAR.GZ, použijte následující formát příkazu:

tar -xvf [archive.tar] [cesta k souboru]
tar -zxvf [archive.tar.gz] [cesta k souboru]
instagram viewer

Pamatujte, že budete muset zadat úplnou cestu k souboru, který chcete extrahovat. Úplnou cestu k souboru nebo adresáři můžete najít pomocí tar -tvf [archive.tar] příkaz.

Chcete-li extrahovat soubor test1.txt z test.tar a test.tar.gz soubory, příkazy by byly:

tar -xvf test.tar test1.txt
tar -zxvf test.tar.gz test1.txt

...kde:

  1. -X se používá k extrahování souborů z archivu
  2. -proti se používá k zobrazení pokroku při jejich extrakci
  3. -F se používá k určení názvu tarballu
  4. -z se používá k dekompresi souborů TAR.GZ

Tyto příkazy rozbalí zadaný soubor v aktuálním adresáři terminálu.

Extrahujte jeden adresář z Tarballu

Podobně můžete také extrahovat jeden adresář z tarballu pomocí následující syntaxe:

tar xvf [archive.tar] [cesta k adresáři]
tar -zxvf [archive.tar.gz] [cesta k adresáři]

Například extrahovat celek test1 podadresář z test.tar archivu, budete muset uvést úplnou cestu k adresáři, tj. test/test1:

tar -xvf test.tar test/test1

Tím se rozbalí celý podadresář test/test1 v aktuálním adresáři terminálu.

Extrahujte jeden soubor nebo složku do jiného adresáře

Můžete také extrahovat soubor nebo adresář z tarballu do jiného adresáře. K tomu použijte stejnou syntaxi jako výše, ale přidejte -C možnost následovaná cílovým adresářem:

tar -xvf [archiv.tar] -C [cílový_adresář] [soubor-nebo-adresář]
tar -zxvf [archive.tar.gz] -C [cílový_adresář] [soubor-nebo-adresář]

Řekněme, že chceme extrahovat adresář test2 z test.tar archivovat do Stahování adresář namísto současného pracovního adresáře. Příkaz by v tomto případě byl:

tar -xvf test.tar -C ~/Downloads/ test/test2

Odstraňte jeden soubor nebo adresář z Tarballu

Pokud potřebujete odstranit jeden soubor nebo adresář ze souboru TAR nebo TAR.GZ, použijte příkaz --vymazat možnost pomocí příkazu tar:

tar -vf [archive.tar] --delete [soubor-nebo-adresar]

Nemůžete však smazat soubor nebo adresář přímo z komprimovaného tarballu (TAR.GZ). Co musíte udělat, je nejprve dekomprimovat soubor TAR.GZ, odstranit soubor nebo adresář a poté jej znovu zkomprimovat.

Chcete-li dekomprimovat soubor TAR.GZ, použijte následující příkaz:

gzip -d [archive.tar.gz]

Dekomprimací se soubor převede na TAR. Nyní můžete soubor odstranit z archivu TAR pomocí:

tar -vf [archive.tar] --delete [soubor-nebo-adresar]

Poté znovu zkomprimujte soubor TAR pomocí gzip:

gzip -f [archive.tar]

Ušetřete čas při práci s archivy v systému Linux

Extrahování pouze požadovaných souborů z archivu nejen zabraňuje nepořádku, ale také šetří čas, který by jinak strávil hledáním velkého množství souborů.

Někdy vytváření a extrahování souborů TAR vede k duplicitním souborům ve vašem systému. Proto je dobrým zvykem tyto duplikáty pravidelně identifikovat a odstraňovat, abyste uklidili svůj prostor.