logo

Príkaz Tar v systéme Linux/Unix s príkladmi

Príkaz tar je skratka pre páskový archív v Linuxe. Tento príkaz sa používa na vytvorenie archívu a extrahovanie archívnych súborov. In Linux , je to jeden zo základných príkazov, ktoré uľahčujú funkciu archivácie. Tento príkaz môžeme použiť na vytváranie nekomprimovaných a komprimovaných archívnych súborov a tiež ich upravovať a udržiavať.

2 až 1 multiplexer

Tar je pomôcka počítačového softvéru na zhromažďovanie niekoľkých súborov do jedného archívneho súboru vo výpočtovej technike. Často je známy ako tarball na účely zálohovania a distribúcie. Titul je získaný z „páskového archívu“, pretože bol v skutočnosti vyvinutý na špecifikáciu údajov na sekvenčných I/O zariadeniach nepoužívajúcich žiadny z ich súborových systémov. Skupiny archívnych údajov, ktoré vytvoril tar, zahŕňajú mnoho parametrov súborového systému, ako je organizácia adresára, oprávnenie na prístup k súborom, vlastníctvo, časové pečiatky a názov. V prospech pax, POSIX opustil decht, tar ešte vidí široké využitie.

Najprv bol ohlásený vo verzii 7 Unix v januári 1979 a nahradil program tp. Na ukladanie údajov bola štruktúra súborov štandardizovaná v POSIX.1-1988 a neskôr POSIX.1-2001 a stala sa vzorom podporovaným takmer všetkými modernými systémami archivácie súborov. Operačné systémy podobné Unixu vo všeobecnosti obsahujú nástroje na podporu súborov tar a nástroje používané na ich kompresiu, ako napríklad bzip2 a gzip.
Od aktualizácie Microsoft z 10. apríla 2018 je BSD-tar obsiahnutý v systéme Microsoft Windows a existujú dva alebo viac nástrojov tretích strán na čítanie a zapisovanie týchto vzorov v systéme Windows.

Formáty súborov tar

K dispozícii je veľa formátov súborov tar, vrátane súčasných a historických. V POSIX sú napísané dva formáty tar: pax a ustar.

Hlavička

Záznam hlavičky súboru obsahuje metadáta súboru. V zázname hlavičky sú informácie zakódované v štandardoch ASCII, aby sa zabezpečila flexibilita naprieč rôznymi architektúrami pomocou odlišného usporiadania bajtov. Ak je teda každý súbor textovým súborom ASCII v archíve a obsahuje názvy ASCII, archív je textový súbor ASCII (s niekoľkými znakmi NUL).

V nasledujúcej tabuľke je uvedených niekoľko polí definovaných skutočným formátom tar Unixu. Tabuľka typu odkazového súboru/indikátora obsahuje niekoľko moderných rozšírení. Ak sa pole nepoužíva, je vyplnené rôznymi bajtami NUL.

Hlavička tar pred POSIX.1-1988:

Lúka Veľkosť poľa Posun poľa
Názov súboru 100 0
Režim súboru 8 100
Číselné ID používateľa vlastníka 8 108
Číselné ID používateľa skupiny 8 116
Veľkosť bajtového súboru 12 124
Čas poslednej úpravy vo forme číselného Unixového času 12 136
Kontrolný súčet pre záznam hlavičky 8 148
Indikátor prepojenia 1 156
Názov prepojeného súboru 100 157

Formát Ustart

Vo formáte Ustar takmer každý moderný program tar píše a číta archívy, ohlásený štandardom POSIX IEEE P1003.1 z roku 1988. Zaviedol ďalšie polia hlavičky. Predchádzajúce programy tar by sa vyhýbali dodatočným informáciám, ale nové programy skontrolujú prítomnosť reťazca 'Ustar', aby rozhodli, či sa používa novší formát.

Lúka Veľkosť poľa Posun poľa
Mnoho polí, ako v predchádzajúcom formáte 156 0
Zadajte príznak 1 156
Podobné pole ako v predchádzajúcom formáte 100 157
„ustar“ indikátor Ustar, potom NUL 6 257
Verzia '00' Ustar 2 263
Používateľské meno vlastníka 32 265
Názov skupiny vlastníka 32 297
Hlavné číslo zariadenia 8 329
Vedľajšie číslo zariadenia 8 337
Predpona názvu súboru 155 3. 4. 5

POSIX.1-2001/os

Sun navrhol techniku ​​na pridávanie rozšírení do formátu tar v roku 1997. Neskôr bola schválená pre štandard POSIX.1-2001. Formát sa nazýva formát pax alebo rozšírený formát tar. Niektoré značky sú špecifikované štandardom POSIX, vrátane mtime, atime, linkpath, gname, uname, size, gid, uid a definície znakovej sady pre mená skupín/používateľov a názvy ciest.

Kľúčové implementácie dechtu

Kľúčové implementácie sú uvedené v poradí pôvodu:

    solaris decht prichádza ako predvolená v systéme Solaris OS, založený na skutočnom Unixe V7. GNU tar je predvolená na takmer každej distribúcii Linuxu. Je založený na implementácii pdtar vo verejnej doméne, ktorá začala v roku 1987. Nedávne vydania môžu používať mnoho formátov, ako napríklad GNU, pax, v7 a ustar. Decht FreeBSD sa stal predvoleným tar na takmer každom OS založenom na Berkeley Software Distribution, ako je Mac OS X. Schily decht je historicky dôležitá, pretože niekoľko jej rozšírení bolo známych. Prvýkrát bol vydaný v apríli 1997. Tarfile Python podporuje dva alebo viac formátov tar, ako napríklad gnu, pax a ustar; dokáže čítať, ale nedokáže vytvoriť rozšírené formáty SunOS tar a V7; pax je predvolený formát na vytváranie archívov. Pre používateľov je k dispozícii od roku 2003.

Navyše väčšina implementácií cpio a pax dokáže vytvoriť a prečítať dva alebo viac typov súborov tar.

Syntax príkazu tar:

 tar [options] [archive-file] [directory or file to be archived] 

Možnosti v príkaze tar

Rôzne možnosti v príkaze tar sú uvedené nižšie:

    -c:Táto možnosť sa používa na vytvorenie archívu.-f:Táto možnosť sa používa na vytvorenie archívu spolu so zadaným názvom súboru.-X:Táto možnosť sa používa na extrahovanie archívov.-v:Môže sa použiť na pridanie archívu do existujúceho archívneho súboru.-t:Používa sa na zobrazenie alebo výpis súborov v rámci archivovaného súboru.-A:Táto možnosť sa používa na zreťazenie archívnych súborov.-v:Môže sa použiť na zobrazenie podrobných informácií.-j:Používa sa na filtrovanie archívnych súborov tar pomocou tbzip.- s:Je to súbor zip a informuje príkaz tar, ktorý vytvorí súbor tar pomocou gzip.-r:Táto možnosť sa používa na aktualizáciu a pridanie adresára alebo súboru do existujúceho súboru .tar.-IN:Táto možnosť sa používa na overenie archívneho súboru.

Úvod do archívneho súboru

Archívny súbor možno definovať ako súbor, ktorý obsahuje viacero súborov s metadátami. Tieto súbory sa používajú na zhromažďovanie viac ako jedného dátového súboru spolu v samostatnom súbore pre jednoduchšie ukladanie a prenosnosť. Môže sa tiež použiť na kompresiu súborov, aby sa spotrebovalo menej úložného priestoru.

Príklady príkazu tar

Niektoré z dôležitých príkladov, ktoré sú široko používané v príkaze tar, sú nasledovné:

1. Vytvorenie nekomprimovaného archívu tar s voľbou -cvf

Táto možnosť robí súbor tar známym ako súbor.tar . Je to archív každého súboru .txt vo vnútri mydir adresár.

Príkaz je nasledovný:

 $ tar cvf file.tar *.txt 

Príkaz Tar v systéme Linux

2. Extrahovanie súborov cez archív s voľbou -xvf

Táto možnosť môže extrahovať súbory cez archívy.

Príkaz je nasledovný:

 $ tar xvf file.tar 

Príkaz Tar v systéme Linux

3. kompresia gzip cez archív tar s voľbou -z

Táto možnosť robí súbor tar známym ako súbor.tar.gz. Je to archív každého súboru .txt.

Príkaz je nasledovný:

c++ rozdelenie reťazca
 $ tar cvzf file.tar.gz *.txt 

Príkaz Tar v systéme Linux

4. Rozbaľte archív gzip tar s voľbou -xvzf

Táto možnosť môže extrahovať súbory cez archivované súbory tar file.tar.gz.

Príkaz je nasledovný:

 $ tar xvzf file.tar.gz 

Príkaz Tar v systéme Linux

5. Vytváranie komprimovaných súborov tar s voľbou -j

Táto možnosť nám pomôže vytvoriť a komprimovať archívne súbory. Dekomprimácia aj kompresia zaberie viac času v porovnaní s gzip.

Príkaz je nasledovný:

 $ tar cvfj file.tar.tbz hello1.txt 

Príkaz Tar v systéme Linux

6. Zrušte tar jeden špecifikovaný adresár alebo súbor v systéme Linux

Táto možnosť sa používa na rozbalenie ľubovoľného súboru v našom aktuálnom adresári alebo v zadanom adresári s voľbou -C.

Príkaz je nasledovný:

 $ tar -xvf file.tar -C file's path in the directory 

Príkaz Tar v systéme Linux

alebo

 $ tar -xvf file.tar 

Príkaz Tar v systéme Linux

7. Rozbalte viacero súborov .tar.tbz, .tar.gz, .tar v systéme Linux

Táto možnosť nám pomôže šírenie alebo extrahujte viac ako jeden súbor z tar.bz2, tar.gz a archívneho súboru tar.

Príklad tejto možnosti je nasledujúci:

 $ tar -jxvf file.tar.tbz 'hello1.txt' 

Príkaz Tar v systéme Linux

alebo

názov kozmetických produktov
 $ tar -zxvf file.tar.gz 'hello1.txt' 'hello2.txt' 

Príkaz Tar v systéme Linux

alebo

 $ tar -xvf file.tar 'hello1.txt' 'hello2.txt' 

Príkaz Tar v systéme Linux

8. Skontrolujte veľkosť existujúceho súboru tar.tbz, tar.gz, tar

Príkaz nám pomôže zobraziť veľkosť archívneho súboru v kilobajtoch (KB), ktorá je uvedená vyššie.

Príkaz je nasledovný:

 $ tar -czf - file2.tar.tbz | wc -c 

alebo

 $ tar -czf - file1.tar.gz | wc -c 

alebo

 $ tar -czf - file.tar | wc -c 

Príkaz Tar v systéme Linux

9. Aktualizujte existujúci súbor tar

V systéme Linux je príkaz na aktualizáciu existujúceho súboru tar nasledujúci:

 $ tar rvf file.tar *.txt 

10. Zoznam obsahu a popis súboru tar s možnosťou tf

Táto možnosť nám pomôže zobraziť celý zoznam archívnych súborov. Tiež môžeme uviesť konkrétny obsah v akomkoľvek súbore tar.

Príkaz je nasledovný:

10 z 50,00
 $ tar tf file.tar 

Príkaz Tar v systéme Linux

11. Zobrazte archív pomocou voľby -tvf

V Linuxe môžeme na zobrazenie archívu použiť voľbu -tvf.

Príkaz je nasledovný:

 $ tar -tvf file.tar 

Príkaz Tar v systéme Linux

12. Zadajte názov súboru ako argument na nájdenie súboru tar

Táto možnosť umožňuje zobraziť archivované súbory s ich informáciami.

Príkaz je nasledovný:

 $ tar tvf file.tar filename 

Príkaz Tar v systéme Linux

13. Použitie potrubia na vyvolanie príkazu 'grep' na vyhľadanie toho, čo hľadáme

Táto možnosť nám pomôže uviesť iba spomínaný obrázok alebo text priľnavosť prostredníctvom archivovaných súborov.

Príkaz je nasledovný:

 $ tar tvf file.tar | grep 'filename.file' 

alebo

 $ tar tvf file.tar | grep 'text to search' 

Príkaz Tar v systéme Linux

Úvod do zástupných znakov

Alternatívne sa zástupné znaky v Linuxe označujú ako zástupný znak alebo divoký znak. Je to symbol, ktorý sa používa na reprezentáciu alebo nahradenie viacerých znakov.

Zástupné znaky sú zvyčajne buď otáznik (?), ktorý znázorňuje jednotlivý znak, alebo hviezdička (*), ktorá znázorňuje viacero znakov.

java trieda matematiky

Príklad-

14. Nájdite obrázok vo formáte .webp

Pomôže nám to pri extrahovaní iba súborov spolu s príponou .webp z archívu file.tar. Voľba -wildcards informuje tar o interpretácii zástupných znakov v názve súboru, ktorý sa má extrahovať.

Názov súboru (*.webp) je uzavretý v jednoduchých úvodzovkách na ochranu zástupného znaku (*) v dôsledku nesprávneho rozšírenia pomocou akéhokoľvek shellu.

Príkaz je nasledovný:

 $ tar tvf file.tar --wildcards '*.webp' 

Príkaz Tar v systéme Linux

Poznámka: Vo vyššie uvedenom príkaze sa na pozíciu názvu súboru použije symbol '*', aby sa získal každý súbor dostupný v danom konkrétnom adresári.

15. Odstráňte súbory z archívu tar

Na odstránenie súborov a archívu tar môžeme použiť možnosť --delete.

Príkaz je nasledovný:

 $ tar --delete -f archive.tar file_name 

Príklad:

 tar -delete -f file.tar hello1.txt 

Výkon:

Príkaz Tar v systéme Linux

hello1.txt súbor bol odstránený z archívu file.tar:

Príkaz Tar v systéme Linux