logo

Tar naredba u Linuxu/Unixu s primjerima

Naredba tar je skraćenica za trakasta arhiva u Linuxu. Ova se naredba koristi za stvaranje arhive i izdvajanje arhivskih datoteka. U Linux , to je jedna od bitnih naredbi koje olakšavaju funkcionalnost arhiviranja. Ovu naredbu možemo koristiti za stvaranje nekomprimiranih i komprimiranih arhivskih datoteka te ih također mijenjati i održavati.

Tar je uslužni program računalnog softvera za prikupljanje nekoliko datoteka u jednu arhivsku datoteku u računalstvu. Često je poznat kao tarball za potrebe sigurnosne kopije i distribucije. Naslov je preuzet iz 'tape archive' jer je zapravo razvijen za specificiranje podataka o sekvencijalnim I/O uređajima koji ne koriste niti jedan od svojih datotečnih sustava. Grupe arhivskih podataka koje je napravio tar uključuju mnoge parametre datotečnog sustava kao što su organizacija direktorija, dopuštenje pristupa datoteci, vlasništvo, vremenske oznake i ime. U korist paxa, POSIX je napustio tar, ali tar se još uvijek koristi.

Prvo je najavljen u verziji 7 Unixa u siječnju 1979., zamjenjujući program tp. Da bi se pohranili podaci, struktura datoteke standardizirana je u POSIX.1-1988 i kasnije u POSIX.1-2001 i postala je obrazac koji podržavaju gotovo svi moderni sustavi za arhiviranje datoteka. Operativni sustavi slični Unixu općenito sadrže alate za podršku tar datotekama i pomoćne programe koji se koriste za njihovo sažimanje, poput bzip2 i gzip.
Od Microsoftovog ažuriranja od 10. travnja 2018., BSD-tar je sadržan u sustavu Microsoft Windows, a postoje dva ili više alata trećih strana za čitanje i pisanje ovih uzoraka u sustavu Windows.

Formati datoteka tar

Dostupni su mnogi tar formati datoteka, uključujući trenutne i povijesne. U POSIX-u su napisana dva tar formata: pax i ustar.

Zaglavlje

Zapis zaglavlja datoteke uključuje metapodatke datoteke. U zapisu zaglavlja, informacije su kodirane u ASCII standardima kako bi se osigurala fleksibilnost u različitim arhitekturama korištenjem različitih redoslijeda bajtova. Dakle, ako je svaka datoteka ASCII tekstualna datoteka u arhivi i sadrži ASCII nazive, arhiva je ASCII tekstualna datoteka (ima nekoliko NUL znakova).

U sljedećoj tablici spominje se nekoliko polja, definiranih stvarnim Unix tar formatom. Tablica tipa datoteka veze/indikatora sadrži nekoliko modernih proširenja. Polje je ispunjeno raznim NUL bajtovima ako se ne koristi.

mia khalifa doba

Prije POSIX.1-1988 tar zaglavlje:

Polje Veličina polja Pomak polja
Naziv datoteke 100 0
Način datoteke 8 100
Brojčani korisnički ID vlasnika 8 108
Brojčani ID korisnika grupe 8 116
Veličina datoteke u bajtu 12 124
Vrijeme zadnje izmjene u obliku numeričkog Unix vremena 12 136
Kontrolni zbroj za zapis zaglavlja 8 148
Indikator veze 1 156
Naziv povezane datoteke 100 157

Ustart format

U Ustar formatu, gotovo svaki moderni tar program piše i čita arhive, što je najavio standard POSIX IEEE P1003.1 iz 1988. Uveo je dodatna polja zaglavlja. Prethodni tar programi bi izbjegli dodatne informacije, ali novi programi će provjeriti prisutnost 'Ustar' niza kako bi odlučili je li noviji format u upotrebi.

Polje Veličina polja Pomak polja
Mnogo polja, kao u prethodnom formatu 156 0
Upišite zastavu 1 156
Slično polje kao u prethodnom formatu 100 157
'ustar' Indikator Ustar, zatim NUL 6 257
'00' Ustar verzija 2 263
Korisničko ime vlasnika 32 265
Naziv grupe vlasnika 32 297
Glavni broj uređaja 8 329
Manji broj uređaja 8 337
Prefiks naziva datoteke 155 3. 4. 5

POSIX.1-2001/pax

Sun je 1997. predložio tehniku ​​dodavanja ekstenzija tar formatu. Kasnije je odobrena za standard POSIX.1-2001. Format se naziva pax format ili prošireni tar format. Neke oznake specificirane su standardom POSIX, uključujući mtime, atime, linkpath, gname, uname, sizes, gid, uid i definiciju skupa znakova za imena grupa/korisnika i imena staza.

Ključne implementacije tar

Ključne implementacije navedene su redoslijedom podrijetla:

    solaris katran dolazi kao zadani na Solaris OS, temeljen na stvarnom Unix V7. GNU tar je zadana na gotovo svakoj distribuciji Linuxa. Temelji se na implementaciji pdtar-a u javnoj domeni koja je započela 1987. Najnovija izdanja mogu koristiti mnoge formate, kao što su GNU, pax, v7 i ustar. FreeBSD tar je postao zadani tar na gotovo svakom operativnom sustavu temeljenom na Berkeley Software Distribution, kao što je Mac OS X. Schily katran je povijesno važan jer je nekoliko njegovih proširenja bilo poznato. Prvi put je objavljen u travnju 1997. Python tar datoteka podržava dva ili više tar formata, kao što su gnu, pax i ustar; može čitati, ali ne i stvarati SunOS tar extended i V7 formate; pax je zadani format za stvaranje arhive. Korisnicima je dostupan od 2003. godine.

Dodatno, većina cpio i pax implementacija može stvoriti i čitati dvije ili više vrsta tar datoteka.

Sintaksa naredbe tar:

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

Opcije u naredbi tar

Dolje su navedene različite opcije u naredbi tar:

    -c:Ova opcija se koristi za kreiranje arhive.-f:Ova se opcija koristi za stvaranje arhive zajedno s navedenim nazivom datoteke.-x:Ova opcija se koristi za izdvajanje arhiva.-u:Može se koristiti za dodavanje arhive postojećoj arhivskoj datoteci.-t:Koristi se za prikaz ili popis datoteka unutar arhivirane datoteke.-A:Ova se opcija koristi za ulančavanje arhivskih datoteka.-u:Može se koristiti za prikaz detaljnih informacija.-j:Koristi se za filtriranje arhivskih tar datoteka uz pomoć tbzipa.-S:To je zip datoteka i obavještava tar naredbu koja stvara tar datoteku uz pomoć gzipa.-r:Ova se opcija koristi za ažuriranje i dodavanje direktorija ili datoteke u postojeću .tar datoteku.-U:Ova opcija se koristi za provjeru arhivske datoteke.

Uvod u arhivsku datoteku

Arhivska datoteka može se definirati kao datoteka koja sadrži više datoteka s metapodacima. Ove se datoteke koriste za prikupljanje više od jedne podatkovne datoteke zajedno u pojedinačnu datoteku radi lakše pohrane i prenosivosti. Također se može koristiti za komprimiranje datoteka kako bi se potrošilo manje prostora za pohranu.

Primjeri naredbe tar

Neki od važnih primjera koji se široko koriste u naredbama tar su sljedeći:

enum tostring java

1. Izrada nekomprimirane tar arhive s -cvf opcijom

Ova opcija čini tar datoteku poznatu kao datoteka.tar . To je arhiva svake .txt datoteke unutra mojdir imenik.

Naredba je sljedeća:

 $ tar cvf file.tar *.txt 

Tar naredba u Linuxu

2. Raspakivanje datoteka kroz arhivu s -xvf opcijom

Ova opcija može izdvojiti datoteke kroz arhive.

Naredba je sljedeća:

 $ tar xvf file.tar 

Tar naredba u Linuxu

3. gzip kompresija preko tar arhive s -z opcijom

Ova opcija čini tar datoteku poznatu kao datoteka.tar.gz. To je arhiva svake .txt datoteke.

Naredba je sljedeća:

 $ tar cvzf file.tar.gz *.txt 

Tar naredba u Linuxu

4. Izdvajanje gzip tar arhive s -xvzf opcijom

Ova opcija može izdvojiti datoteke kroz file.tar.gz tar arhivirane datoteke.

Naredba je sljedeća:

 $ tar xvzf file.tar.gz 

Tar naredba u Linuxu

5. Izrada komprimiranih tar datoteka s -j opcijom

Ova opcija će nam pomoći da stvorimo i komprimiramo arhivske datoteke. Za dekompresiju i kompresiju potrebno je više vremena u usporedbi s gzipom.

Naredba je sljedeća:

 $ tar cvfj file.tar.tbz hello1.txt 

Tar naredba u Linuxu

6. Raspakujte pojedinačni navedeni direktorij ili datoteku u Linuxu

Ova se opcija koristi za detariziranje bilo koje datoteke u našem trenutnom direktoriju ili unutar navedenog direktorija s opcijom -C.

Naredba je sljedeća:

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

Tar naredba u Linuxu

Ili,

 $ tar -xvf file.tar 

Tar naredba u Linuxu

7. Raspakujte više .tar.tbz, .tar.gz, .tar datoteka u Linuxu

Ova opcija će nam pomoći da širenje ili ekstrahirajte više od jedne datoteke iz tar.bz2, tar.gz i tar arhivske datoteke.

Primjer ove opcije je sljedeći:

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

Tar naredba u Linuxu

Ili,

 $ tar -zxvf file.tar.gz 'hello1.txt' 'hello2.txt' 

Tar naredba u Linuxu

Ili,

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

Tar naredba u Linuxu

8. Provjerite veličinu postojeće tar.tbz, tar.gz, tar datoteke

Naredba će nam pomoći da prikažemo gore spomenutu veličinu arhivske datoteke u kilobajtima (KB).

Naredba je sljedeća:

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

Ili,

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

Ili,

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

Tar naredba u Linuxu

9. Ažurirajte postojeću tar datoteku

U Linuxu, naredba za ažuriranje postojeće tar datoteke je sljedeća:

 $ tar rvf file.tar *.txt 

10. Popis sadržaja i opis tar datoteke s tf opcijom

Ova opcija će nam pomoći da ispišemo cijeli popis arhivskih datoteka. Također, možemo ispisati određeni sadržaj unutar bilo koje tar datoteke.

Naredba je sljedeća:

t ff
 $ tar tf file.tar 

Tar naredba u Linuxu

11. Pregledajte arhivu s -tvf opcijom

U Linuxu možemo koristiti opciju -tvf za pregled arhive.

Naredba je sljedeća:

 $ tar -tvf file.tar 

Tar naredba u Linuxu

12. Proslijedite naziv datoteke kao argument za pronalaženje tar datoteke

Ova opcija može vidjeti arhivirane datoteke s njihovim podacima.

Naredba je sljedeća:

 $ tar tvf file.tar filename 

Tar naredba u Linuxu

13. Korištenje cijevi za bacanje 'grep naredbe' za traženje onoga što tražimo

Ova opcija će nam pomoći da upišemo samo spomenutu sliku ili tekst zahvat kroz arhivirane datoteke.

Naredba je sljedeća:

pretvaranje int u niz
 $ tar tvf file.tar | grep 'filename.file' 

Ili,

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

Tar naredba u Linuxu

Uvod u zamjenske znakove

Alternativno, zamjenski znakovi se u Linuxu nazivaju zamjenski znak ili zamjenski znak. To je simbol koji se koristi za predstavljanje ili zamjenu više znakova.

Obično su zamjenski znakovi ili upitnik (?) koji ilustrira pojedinačni znak ili zvjezdica (*) koja ilustrira više znakova.

Primjer-

14. Pronađite sliku u formatu .webp

Pomoći će nam za izdvajanje samo datoteka zajedno s nastavkom .webp iz arhive file.tar. Opcija -zamjenski znakovi obavještava tar za tumačenje zamjenskih znakova u nazivu datoteke koju treba izdvojiti.

Naziv datoteke (*.webp) nalazi se unutar jednostrukih navodnika radi zaštite zamjenskog znaka (*) od neispravnog proširenja bilo kojom ljuskom.

Naredba je sljedeća:

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

Tar naredba u Linuxu

Napomena: U gornjoj naredbi, simbol '*' primjenjuje se na mjesto naziva datoteke za preuzimanje svake datoteke dostupne u tom specifičnom direktoriju.

15. Izbrišite datoteke iz tar arhive

Možemo koristiti opciju --delete za uklanjanje datoteka i tar arhive.

Naredba je sljedeća:

 $ tar --delete -f archive.tar file_name 

Primjer:

 tar -delete -f file.tar hello1.txt 

Izlaz:

Tar naredba u Linuxu

zdravo1.txt datoteka je uklonjena iz arhive file.tar:

Tar naredba u Linuxu