Chcete extrahovať jeden súbor alebo priečinok z archívu TAR alebo TAR.GZ? Tu je návod, ako to môžete urobiť v systéme Linux pomocou príkazu tar.
Tarball (TAR alebo TAR.GZ) je sada súborov združených do jedného archívu, čo uľahčuje ukladanie a prenos veľkého množstva súborov lokálne alebo cez internet. Kedykoľvek budete potrebovať súbory, môžete jednoducho rozbaliť archív.
Zvážte scenár, v ktorom potrebujete iba jeden súbor z veľkého archívu. V takom prípade namiesto extrahovania celého archívu môžete extrahovať iba súbor, ktorý potrebujete. Pozrime sa ako.
Pozrite si obsah Tarballu
Ak si chcete len pozrieť obsah súbor TAR alebo TAR.GZ, nemusíte ho extrahovať. Namiesto toho použite nasledujúci príkaz na zobrazenie obsahu:
tar -tvf [archive.tar]
tar -ztvf [archive.tar.gz]
Týmto sa vytlačí zoznam všetkých súborov a adresárov v archíve.
Extrahujte jeden súbor z Tarballu
Ak chcete extrahovať jeden súbor z TAR alebo TAR.GZ, použite nasledujúci formát príkazu:
tar -xvf [archive.tar] [cesta k súboru]
tar -zxvf [archive.tar.gz] [cesta k súboru]
Nezabudnite, že budete musieť zadať úplnú cestu k súboru, ktorý chcete extrahovať. Úplnú cestu k súboru alebo adresáru môžete nájsť pomocou tar -tvf [archive.tar] príkaz.
Ak chcete extrahovať súbor test1.txt z test.decht a test.tar.gz súbory, príkazy budú:
tar -xvf test.tar test1.txt
tar -zxvf test.tar.gz test1.txt
...kde:
- -X sa používa na extrahovanie súborov z archívu
- -v sa používa na zobrazenie pokroku pri ich extrakcii
- -f sa používa na určenie názvu tarballu
- -z sa používa na dekompresiu súborov TAR.GZ
Tieto príkazy rozbalia zadaný súbor v aktuálnom adresári terminálu.
Extrahujte jeden adresár z Tarballu
Podobne môžete tiež extrahovať jeden adresár z tarballu pomocou nasledujúcej syntaxe:
tar xvf [archive.tar] [cesta k adresáru]
tar -zxvf [archive.tar.gz] [cesta k adresáru]
Napríklad na extrahovanie celku test1 podadresár z test.decht archívu, museli by ste uviesť úplnú cestu k adresáru, t.j. test/test1:
tar -xvf test.tar test/test1
Týmto sa rozbalí celý podadresár test/test1 v aktuálnom adresári terminálu.
Extrahujte jeden súbor alebo priečinok do iného adresára
Môžete tiež extrahovať súbor alebo adresár z tarballu do iného adresára. Na tento účel použite rovnakú syntax ako vyššie, ale pridajte -C možnosť, za ktorou nasleduje cieľový adresár:
tar -xvf [archív.tar] -C [cieľový_adresár] [súbor-alebo-adresár]
tar -zxvf [archív.tar.gz] -C [cieľový_adresár] [súbor-alebo-adresár]
Povedzme, že chceme extrahovať adresár test2 z test.decht archívu do K stiahnutiu adresár namiesto súčasného pracovného adresára. Príkaz by v tomto prípade bol:
tar -xvf test.tar -C ~/Downloads/ test/test2
Odstráňte jeden súbor alebo adresár z tarballu
Ak potrebujete odstrániť jeden súbor alebo adresár zo súboru TAR alebo TAR.GZ, použite --vymazať možnosť s príkazom tar:
tar -vf [archive.tar] --delete [súbor-alebo-adresár]
Nemôžete však odstrániť súbor alebo adresár priamo z komprimovaného tarballu (TAR.GZ). Čo musíte urobiť, je najprv dekomprimovať súbor TAR.GZ, odstrániť súbor alebo adresár a potom ho znova skomprimovať.
Ak chcete dekomprimovať súbor TAR.GZ, použite nasledujúci príkaz:
gzip -d [archive.tar.gz]
Dekomprimovaním sa súbor skonvertuje na TAR. Teraz môžete odstrániť súbor z archívu TAR pomocou:
tar -vf [archive.tar] --delete [súbor-alebo-adresár]
Potom znova skomprimujte súbor TAR pomocou gzip:
gzip -f [archive.tar]
Ušetrite čas pri práci s archívmi v systéme Linux
Extrahovanie iba požadovaných súborov z archívu nielenže zabráni neporiadku, ale tiež šetrí čas, ktorý by inak strávil prehľadávaním veľkého množstva súborov.
Niekedy vytváranie a extrahovanie súborov TAR vedie k duplicitným súborom vo vašom systéme. Preto je dobrým zvykom tieto duplikáty pravidelne identifikovať a odstraňovať, aby ste si upratali priestor.