logo

Comanda Tar în Linux/Unix cu exemple

Comanda tar este prescurtarea pentru arhiva de casete în Linux. Această comandă este utilizată pentru crearea arhivei și extragerea fișierelor de arhivă. În Linux , este una dintre comenzile esențiale care facilitează funcționalitatea de arhivare. Putem folosi această comandă pentru a crea fișiere de arhivă necomprimate și comprimate și pentru a le modifica și menține, de asemenea.

Tar este un utilitar de software de calculator pentru a colecta mai multe fișiere într-un singur fișier de arhivă în calcul. Adesea, este cunoscut ca tarball în scopuri de backup și distribuție. Titlul este achiziționat din „arhiva de bandă”, deoarece a fost de fapt dezvoltat pentru a specifica date pe dispozitivele I/O secvențiale care nu folosesc niciunul dintre sistemele lor de fișiere. Grupurile de date de arhivă create de tar includ mulți parametri ai sistemului de fișiere, cum ar fi organizarea directoarelor, permisiunea de acces la fișiere, proprietatea, marcajele de timp și numele. În favoarea pax, POSIX a abandonat gudronul, gudronul este încă utilizat pe scară largă.

Mai întâi, a fost anunțat în versiunea 7 Unix în ianuarie 1979, înlocuind programul tp. Pentru a stoca datele, structura fișierelor a fost standardizată în POSIX.1-1988 și ulterior POSIX.1-2001 și a devenit un model susținut de aproape toate sistemele moderne de arhivare a fișierelor. Sistemele de operare asemănătoare Unix conțin în general instrumente pentru suportul fișierelor tar și utilitare utilizate pentru comprimarea lor, cum ar fi bzip2 și gzip.
De la Actualizarea Microsoft din 10 aprilie 2018, BSD-tar a fost conținut în Microsoft Windows și există două sau mai multe instrumente terțe pentru a citi și scrie aceste modele pe Windows.

Formate de fișiere tar

Există multe formate de fișiere tar disponibile, inclusiv cele actuale și istorice. Două formate tar sunt scrise în POSIX: pax și ustar.

Antet

Înregistrarea antetului fișierului include metadatele unui fișier. În înregistrarea antet, informațiile sunt codificate în standardele ASCII pentru a asigura flexibilitatea în arhitecturi distincte, folosind ordonări distincte de octeți. Prin urmare, dacă fiecare fișier este un fișier text ASCII dintr-o arhivă și conține nume ASCII, arhiva este un fișier text ASCII (având mai multe caractere NUL).

În tabelul următor sunt menționate mai multe câmpuri, definite de formatul tar Unix real. Tabelul de tip fișier de link/indicator conține câteva extensii moderne. Un câmp este umplut cu diferiți octeți NUL dacă nu este utilizat.

Antet tar pre-POSIX.1-1988:

Camp Dimensiunea campului Compensarea câmpului
Nume de fișier 100 0
Modul fișier 8 100
ID-ul de utilizator numeric al proprietarului 8 108
ID-ul de utilizator numeric al grupului 8 116
Dimensiunea fișierului de octeți 12 124
Ora ultimei modificări sub formă de timp numeric Unix 12 136
Sumă de control pentru înregistrarea antetului 8 148
Indicator de legătură 1 156
Numele fișierului legat 100 157

Formatul Ustart

În formatul Ustar, aproape fiecare program tar modern scrie și citește arhive, anunțat de standardul POSIX IEEE P1003.1 din 1988. A introdus câmpuri de antet suplimentare. Programele tar anterioare ar evita informațiile suplimentare, dar programele noi vor verifica prezența șirului „Ustar” pentru a decide dacă este utilizat formatul mai nou.

shloka mehta
Camp Dimensiunea campului Compensarea câmpului
Multe câmpuri, ca în formatul anterior 156 0
Tip steag 1 156
Câmp similar ca în formatul anterior 100 157
„ustar” indicator Ustar, apoi NUL 6 257
Versiunea „00” Ustar 2 263
Numele de utilizator al proprietarului 32 265
Numele de grup al proprietarului 32 297
Numărul major al dispozitivului 8 329
Număr minor al dispozitivului 8 337
Prefixul numelui fișierului 155 3. 4. 5

POSIX.1-2001/pax

Sun a propus o tehnică de adăugare a extensiilor la un format tar în 1997. Ulterior, a fost aprobată pentru standardul POSIX.1-2001. Formatul se numește format pax sau format tar extins. Unele etichete sunt specificate de standardul POSIX, inclusiv mtime, atime, linkpath, gname, uname, sizes, gid, uid și o definiție de set de caractere pentru nume de grup/utilizator și de cale.

Implementări cheie ale tar

Implementările cheie sunt menționate în ordinea originii:

    solaris tar vine implicit pe sistemul de operare Solaris, bazat pe Unix V7 real. GNU tar este implicit pentru aproape fiecare distribuție Linux. Se bazează pe o implementare de domeniul public pdtar care a început în 1987. Edițiile recente pot folosi multe formate, cum ar fi GNU, pax, v7 și ustar. FreeBSD gudron a devenit un gudron implicit pe aproape toate sistemele de operare bazate pe Berkeley Software Distribution, cum ar fi Mac OS X. Gudron Schily este important din punct de vedere istoric, deoarece câteva dintre extensiile sale au fost celebre. A fost lansat pentru prima dată în aprilie 1997. Fișier tar Python acceptă două sau mai multe formate tar, cum ar fi gnu, pax și ustar; poate citi, dar nu poate face SunOS tar extins și formatele V7; pax este un format implicit pentru crearea arhivei. Este disponibil pentru utilizatori din 2003.

În plus, majoritatea implementărilor cpio și pax pot crea și citi două sau mai multe tipuri de fișiere tar.

Sintaxa comenzii tar:

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

Opțiuni din comanda tar

Mai jos sunt enumerate diferite opțiuni din comanda tar:

    -c:Această opțiune este utilizată pentru crearea arhivei.-f:Această opțiune este utilizată pentru a crea o arhivă împreună cu numele furnizat al fișierului.-X:Această opțiune este folosită pentru extragerea arhivelor.-în:Poate fi folosit pentru adăugarea unei arhive la fișierul arhivă existent.-t:Este folosit pentru afișarea sau listarea fișierelor în interiorul fișierului arhivat.-A:Această opțiune este utilizată pentru concatenarea fișierelor de arhivă.-în:Poate fi folosit pentru a afișa informații detaliate.-j:Este folosit pentru filtrarea fișierelor de arhivă tar cu ajutorul tbzip.-Cu:Este un fișier zip și informează comanda tar care face un fișier tar cu ajutorul gzip.-r:Această opțiune este utilizată pentru actualizarea și adăugarea unui director sau fișier într-un fișier .tar existent.-ÎN:Această opțiune este utilizată pentru verificarea fișierului arhivă.

Introducere în fișierul arhivă

Fișierul arhivă poate fi definit ca un fișier care conține mai multe fișiere cu metadate. Aceste fișiere sunt utilizate pentru a colecta mai mult de un fișier de date împreună într-un fișier individual pentru o stocare și o portabilitate mai ușoare. Poate fi folosit și pentru comprimarea fișierelor pentru a consuma mai puțin spațiu de stocare.

Exemple de comandă tar

Unele dintre exemplele importante care sunt utilizate pe scară largă în comanda tar sunt următoarele:

1. Realizarea unei arhive tar necomprimate cu opțiunea -cvf

Această opțiune face un fișier tar cunoscut ca fişier.tar . Este arhiva fiecărui fișier .txt din interior mydir director.

Comanda este următoarea:

 $ tar cvf file.tar *.txt 

Comanda tar în Linux

2. Extragerea fișierelor prin arhivă cu opțiunea -xvf

Această opțiune poate extrage fișiere prin arhive.

Comanda este următoarea:

 $ tar xvf file.tar 

Comanda tar în Linux

3. compresie gzip peste arhiva tar cu opțiunea -z

Această opțiune face un fișier tar cunoscut ca file.tar.gz. Este arhiva fiecărui fișier .txt.

Comanda este următoarea:

string.substring java
 $ tar cvzf file.tar.gz *.txt 

Comanda tar în Linux

4. Extragerea arhivei gzip tar cu opțiunea -xvzf

Această opțiune poate extrage fișierele prin fișierele arhivate file.tar.gz tar.

Comanda este următoarea:

 $ tar xvzf file.tar.gz 

Comanda tar în Linux

5. Realizarea de fișiere tar comprimate cu opțiunea -j

Această opțiune ne va ajuta să creăm și să comprimăm fișiere de arhivă. Atât decomprimarea, cât și comprimarea durează mai mult timp în comparație cu gzip.

Comanda este următoarea:

 $ tar cvfj file.tar.tbz hello1.txt 

Comanda tar în Linux

6. Anulați un singur director sau fișier specificat în Linux

Această opțiune este folosită pentru a dezarhiva orice fișier din directorul nostru curent sau din directorul specificat cu opțiunea -C.

Comanda este următoarea:

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

Comanda tar în Linux

Sau,

 $ tar -xvf file.tar 

Comanda tar în Linux

7. Untar mai multe fișiere .tar.tbz, .tar.gz, .tar în Linux

Această opțiune ne va ajuta răspândire sau extrageți mai mult de un fișier din tar.bz2, tar.gz și dintr-un fișier arhivă tar.

Exemplul acestei opțiuni este următorul:

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

Comanda tar în Linux

Sau,

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

Comanda tar în Linux

Sau,

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

Comanda tar în Linux

8. Verificați dimensiunea fișierului tar.tbz, tar.gz, tar existent

Comanda ne va ajuta să arătăm dimensiunea fișierului arhivă în kiloocteți (KB), care este menționat mai sus.

Comanda este următoarea:

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

Sau,

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

Sau,

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

Comanda tar în Linux

9. Actualizați fișierul tar existent

În Linux, comanda pentru actualizarea unui fișier tar existent este următoarea:

 $ tar rvf file.tar *.txt 

10. Lista de conținut și descrieți fișierul tar cu opțiunea tf

Această opțiune ne va ajuta să listăm întreaga listă a fișierelor arhive. De asemenea, putem enumera un anumit conținut în orice fișier tar.

Comanda este următoarea:

 $ tar tf file.tar 

Comanda tar în Linux

11. Vizualizați arhiva cu opțiunea -tvf

În Linux, putem folosi opțiunea -tvf pentru a vizualiza arhiva.

Comanda este următoarea:

 $ tar -tvf file.tar 

Comanda tar în Linux

12. Transmite numele fișierului ca argument pentru a găsi un fișier tar

Această opțiune poate vizualiza fișierele arhivate cu informațiile lor.

șir de lungime

Comanda este următoarea:

 $ tar tvf file.tar filename 

Comanda tar în Linux

13. Folosind pipe pentru a lansa „comanda grep” pentru a căuta ceea ce căutăm

Această opțiune ne va ajuta să listăm doar imaginea sau textul menționat prindere prin fisiere arhivate.

Comanda este următoarea:

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

Sau,

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

Comanda tar în Linux

Introducere în Wildcards

Alternativ, metacaracterele sunt denumite un caracter wildcard sau un caracter wild în Linux. Este un simbol care este folosit pentru reprezentarea sau înlocuirea mai multor caractere.

cum să împerechezi căștile beats

De obicei, metacaracterele sunt fie un semn de întrebare (?) care ilustrează un caracter individual, fie un asterisc (*) care ilustrează mai multe caractere.

Exemplu-

14. Găsiți o imagine în format .webp

Ne va ajuta să extragem numai fișiere împreună cu extensia .webp din arhiva file.tar. Opțiunea -wildcards informează tar pentru interpretarea wildcards în numele fișierului care urmează să fie extras.

Numele fișierului (*.webp) este inclus în ghilimele simple pentru a proteja wildcard (*) prin extinderea incorect de către orice shell.

Comanda este următoarea:

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

Comanda tar în Linux

Notă: În comanda de mai sus, simbolul „*” este aplicat în poziția numelui fișierului pentru preluarea fiecărui fișier disponibil în acel director specific.

15. Ștergeți fișierele din arhiva tar

Putem folosi opțiunea --delete pentru a elimina fișiere și o arhivă tar.

Comanda este următoarea:

 $ tar --delete -f archive.tar file_name 

Exemplu:

 tar -delete -f file.tar hello1.txt 

Ieșire:

Comanda tar în Linux

salut1.txt fișierul a fost eliminat din arhiva file.tar:

Comanda tar în Linux