logo

Tar ukaz v Linuxu/Unixu s primeri

Ukaz tar je okrajšava za tračni arhiv v sistemu Linux. Ta ukaz se uporablja za ustvarjanje arhiva in ekstrahiranje arhivskih datotek. notri Linux , je eden od bistvenih ukazov, ki olajšajo funkcionalnost arhiviranja. Ta ukaz lahko uporabimo za ustvarjanje nestisnjenih in stisnjenih arhivskih datotek ter jih tudi spreminjamo in vzdržujemo.

Tar je pripomoček računalniške programske opreme za zbiranje več datotek v eno samo arhivsko datoteko v računalništvu. Pogosto je znan kot tarball za namene varnostnega kopiranja in distribucije. Naslov je pridobljen iz 'tračnega arhiva', ker je bil dejansko razvit za določanje podatkov o zaporednih V/I napravah, ki ne uporabljajo nobenega od svojih datotečnih sistemov. Skupine arhivskih podatkov, ki jih naredi tar, vključujejo številne parametre datotečnega sistema, kot so organizacija imenika, dovoljenje za dostop do datoteke, lastništvo, časovni žigi in ime. V prid paxu je POSIX opustil tar, vendar se tar še vedno uporablja.

Najprej je bil objavljen v različici 7 Unixa januarja 1979 in je nadomestil program tp. Za shranjevanje podatkov je bila struktura datoteke standardizirana v POSIX.1-1988 in pozneje v POSIX.1-2001 in je postala vzorec, ki ga podpirajo skoraj vsi sodobni sistemi za arhiviranje datotek. Unixu podobni operacijski sistemi na splošno vsebujejo orodja za podporo datotekam tar in pripomočke za njihovo stiskanje, kot sta bzip2 in gzip.
Od Microsoftove posodobitve 10. aprila 2018 je BSD-tar vključen v Microsoft Windows in obstajata dve ali več orodij tretjih oseb za branje in pisanje teh vzorcev v sistemu Windows.

Formati datotek tar

Na voljo je veliko formatov datotek tar, vključno s trenutnimi in preteklimi. V POSIX-u sta zapisana dva formata tar: pax in ustar.

Glava

Zapis glave datoteke vključuje metapodatke datoteke. V zapisu glave so informacije kodirane v standardih ASCII, da se zagotovi prilagodljivost med različnimi arhitekturami z uporabo različnih vrstnih redov bajtov. Če je torej vsaka datoteka besedilna datoteka ASCII v arhivu in vsebuje imena ASCII, je arhiv besedilna datoteka ASCII (z več znaki NUL).

kako odstraniti prvi znak v excelu

V naslednji tabeli je omenjenih več polj, opredeljenih z dejanskim formatom tar Unix. Tabela vrste povezovalne datoteke/indikatorja vsebuje nekaj sodobnih razširitev. Polje je napolnjeno z različnimi bajti NUL, če ni uporabljeno.

Glava tar pred POSIX.1-1988:

Polje Velikost polja Odmik polja
Ime datoteke 100 0
Datotečni način 8 100
Številčni ID uporabnika lastnika 8 108
Številčni ID uporabnika skupine 8 116
Velikost datoteke v bajtih 12 124
Čas zadnje spremembe v obliki numeričnega časa Unix 12 136
Kontrolna vsota za zapis glave 8 148
Indikator povezave 1 156
Ime povezane datoteke 100 157

Oblika Ustart

V formatu Ustar skoraj vsak sodoben program tar piše in bere arhive, kar je napovedal standard POSIX IEEE P1003.1 iz leta 1988. Uvedel je dodatna polja glave. Prejšnji programi tar bi se izognili dodatnim informacijam, novi programi pa bodo preverili prisotnost niza 'Ustar', da se odločijo, ali je novejši format v uporabi.

Polje Velikost polja Odmik polja
Veliko polj, kot v prejšnji obliki 156 0
Vrsta zastave 1 156
Podobno polje kot v prejšnji obliki 100 157
'ustar' Indikator Ustar, nato NUL 6 257
'00' Različica Ustar 2 263
Uporabniško ime lastnika 32 265
Ime skupine lastnika 32 297
Glavna številka naprave 8 329
Manjša številka naprave 8 337
Predpona imena datoteke 155 3. 4. 5

POSIX.1-2001/pax

Sun je leta 1997 predlagal tehniko za dodajanje razširitev formatu tar. Kasneje je bila odobrena za standard POSIX.1-2001. Oblika se imenuje oblika pax ali razširjena oblika tar. Nekatere oznake so določene s standardom POSIX, vključno z mtime, atime, linkpath, gname, uname, sizes, gid, uid in definicijo nabora znakov za imena skupin/uporabnikov in imena poti.

Ključne izvedbe tar

Ključne izvedbe so omenjene v vrstnem redu izvora:

    solaris tar je privzeto na voljo v OS Solaris, ki temelji na dejanskem Unixu V7. GNU tar je privzeta na skoraj vsaki distribuciji Linuxa. Temelji na implementaciji pdtar v javni domeni, ki se je začela leta 1987. Zadnje izdaje lahko uporabljajo številne formate, kot so GNU, pax, v7 in ustar. FreeBSD tar je postal privzeti tar v skoraj vseh operacijskih sistemih, ki temeljijo na Berkeley Software Distribution, kot je Mac OS X. Schily katran je zgodovinsko pomemben, saj je bilo nekaj njegovih razširitev znanih. Prvič je bil izdan aprila 1997. Python tar datoteka podpira dva ali več formatov tar, kot so gnu, pax in ustar; lahko bere formate SunOS tar extended in V7, vendar ne ustvarja; pax je privzeti format za ustvarjanje arhivov. Uporabnikom je na voljo od leta 2003.

Poleg tega lahko večina implementacij cpio in pax ustvari in prebere dve ali več vrst datotek tar.

Sintaksa ukaza tar:

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

Možnosti v ukazu tar

Spodaj so navedene različne možnosti v ukazu tar:

    -c:Ta možnost se uporablja za ustvarjanje arhiva.-f:Ta možnost se uporablja za ustvarjanje arhiva skupaj s podanim imenom datoteke.-x:Ta možnost se uporablja za ekstrahiranje arhivov.-v:Uporablja se lahko za dodajanje arhiva v obstoječo arhivsko datoteko.-t:Uporablja se za prikaz ali seznam datotek znotraj arhivirane datoteke.-A:Ta možnost se uporablja za združevanje arhivskih datotek.-v:Uporablja se lahko za prikaz podrobnih informacij.-j:Uporablja se za filtriranje arhivskih datotek tar s pomočjo tbzip.-Z:Je datoteka zip in obvešča ukaz tar, ki naredi datoteko tar s pomočjo gzipa.-r:Ta možnost se uporablja za posodabljanje in dodajanje imenika ali datoteke v obstoječo datoteko .tar.-IN:Ta možnost se uporablja za preverjanje arhivske datoteke.

Uvod v arhivsko datoteko

Arhivsko datoteko lahko definiramo kot datoteko, ki vsebuje več datotek z metapodatki. Te datoteke se uporabljajo za zbiranje več kot ene podatkovne datoteke skupaj v posamezni datoteki za lažje shranjevanje in prenosljivost. Uporablja se lahko tudi za stiskanje datotek, da porabi manj prostora za shranjevanje.

Primeri ukaza tar

Nekateri pomembni primeri, ki se pogosto uporabljajo v ukazu tar, so naslednji:

10 od 50

1. Izdelava nestisnjenega arhiva tar z možnostjo -cvf

S to možnostjo se datoteka tar imenuje datoteka.tar . Je arhiv vsake datoteke .txt znotraj mojdir imenik.

Ukaz je naslednji:

 $ tar cvf file.tar *.txt 

Tar ukaz v Linuxu

2. Ekstrahiranje datotek skozi arhiv z možnostjo -xvf

Ta možnost lahko ekstrahira datoteke skozi arhive.

Ukaz je naslednji:

 $ tar xvf file.tar 

Tar ukaz v Linuxu

3. stiskanje gzip prek arhiva tar z možnostjo -z

S to možnostjo se datoteka tar imenuje datoteka.tar.gz. Je arhiv vsake datoteke .txt.

Ukaz je naslednji:

 $ tar cvzf file.tar.gz *.txt 

Tar ukaz v Linuxu

4. Ekstrahiranje arhiva gzip tar z možnostjo -xvzf

Ta možnost lahko ekstrahira datoteke prek file.tar.gz arhiviranih datotek tar.

Ukaz je naslednji:

 $ tar xvzf file.tar.gz 

Tar ukaz v Linuxu

5. Izdelava stisnjenih datotek tar z možnostjo -j

Ta možnost nam bo pomagala pri ustvarjanju in stiskanju arhivskih datotek. Tako dekompresija kot stiskanje zahtevata več časa kot gzip.

Ukaz je naslednji:

 $ tar cvfj file.tar.tbz hello1.txt 

Tar ukaz v Linuxu

6. Razpakirajte posamezen določen imenik ali datoteko v Linuxu

Ta možnost se uporablja za raztapljanje katere koli datoteke v našem trenutnem imeniku ali v določenem imeniku z možnostjo -C.

Ukaz je naslednji:

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

Tar ukaz v Linuxu

ali pa

 $ tar -xvf file.tar 

Tar ukaz v Linuxu

7. Razpakirajte več datotek .tar.tbz, .tar.gz, .tar v Linuxu

Ta možnost nam bo pomagala pri širjenje ali ekstrahirajte več kot eno datoteko iz tar.bz2, tar.gz in arhivske datoteke tar.

Primer te možnosti je naslednji:

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

Tar ukaz v Linuxu

ali pa

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

Tar ukaz v Linuxu

ali pa

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

Tar ukaz v Linuxu

8. Preverite velikost obstoječe datoteke tar.tbz, tar.gz, tar

Ukaz nam bo pomagal prikazati zgoraj omenjeno velikost arhivske datoteke v kilobajtih (KB).

Ukaz je naslednji:

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

ali pa

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

ali pa

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

Tar ukaz v Linuxu

9. Posodobite obstoječo datoteko tar

V Linuxu je ukaz za posodobitev obstoječe datoteke tar naslednji:

 $ tar rvf file.tar *.txt 

10. Seznam vsebine in opis datoteke tar z možnostjo tf

Ta možnost nam bo pomagala prikazati seznam celotne arhivske datoteke. Prav tako lahko navedemo določeno vsebino znotraj katere koli datoteke tar.

kako vrniti matriko java

Ukaz je naslednji:

 $ tar tf file.tar 

Tar ukaz v Linuxu

11. Oglejte si arhiv z možnostjo -tvf

V Linuxu lahko za ogled arhiva uporabimo možnost -tvf.

Ukaz je naslednji:

 $ tar -tvf file.tar 

Tar ukaz v Linuxu

12. Podajte ime datoteke kot argument za iskanje datoteke tar

S to možnostjo si lahko ogledate arhivirane datoteke z njihovimi informacijami.

Ukaz je naslednji:

volk ​​ali lisica
 $ tar tvf file.tar filename 

Tar ukaz v Linuxu

13. Uporaba cevi za vnos ukaza grep za iskanje tistega, kar iščemo

Ta možnost nam bo pomagala, da vpišemo samo omenjeno sliko ali besedilo prijem prek arhiviranih datotek.

Ukaz je naslednji:

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

ali pa

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

Tar ukaz v Linuxu

Uvod v nadomestne znake

Namesto tega se nadomestni znaki v Linuxu imenujejo nadomestni znak ali nadomestni znak. Je simbol, ki se uporablja za predstavitev ali zamenjavo več znakov.

Običajno so nadomestni znaki vprašaj (?), ki ponazarja posamezen znak, ali zvezdica (*), ki ponazarja več znakov.

primer-

14. Poiščite sliko v formatu .webp

Pomagal nam bo pri ekstrahiranju samo datotek s končnico .webp iz arhiva file.tar. Možnost -wildcards obvesti tar za interpretacijo nadomestnih znakov v imenu datoteke, ki jo je treba ekstrahirati.

Ime datoteke (*.webp) je v enojnih narekovajih zaradi zaščite nadomestnega znaka (*) pred nepravilno razširitvijo s katero koli lupino.

Ukaz je naslednji:

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

Tar ukaz v Linuxu

Opomba: V zgornjem ukazu je simbol '*' uporabljen na mestu imena datoteke za prevzem vsake datoteke, ki je na voljo v določenem imeniku.

15. Izbrišite datoteke iz arhiva tar

Za odstranjevanje datotek in arhiva tar lahko uporabimo možnost --delete.

Ukaz je naslednji:

 $ tar --delete -f archive.tar file_name 

primer:

 tar -delete -f file.tar hello1.txt 

Izhod:

Tar ukaz v Linuxu

hello1.txt datoteka je bila odstranjena iz arhiva file.tar:

Tar ukaz v Linuxu