logo

Tar komanda Linux/Unix ar piemēriem

Tar komanda ir saīsinājums lentes arhīvs operētājsistēmā Linux. Šo komandu izmanto, lai izveidotu arhīvu un izvilktu arhīva failus. In Linux , tā ir viena no galvenajām komandām, kas atvieglo arhivēšanas funkcionalitāti. Mēs varam izmantot šo komandu, lai izveidotu nesaspiestus un saspiestus arhīva failus, kā arī tos modificēt un uzturēt.

Tar ir datoru programmatūras utilīta, lai apkopotu vairākus failus vienā arhīva failā skaitļošanā. Bieži dublēšanas un izplatīšanas nolūkos to sauc par tarbolu. Nosaukums ir iegūts no “lenšu arhīva”, jo tas faktiski tika izstrādāts, lai norādītu datus par secīgām I/O ierīcēm, neizmantojot nevienu no to failu sistēmām. Arhīva datu grupās, ko veido tar, ir iekļauti daudzi failu sistēmas parametri, piemēram, direktoriju organizācija, faila piekļuves atļauja, īpašumtiesības, laikspiedoli un nosaukums. Par labu pax, POSIX atteicās no darvas, darvas joprojām tiek plaši izmantotas.

Pirmkārt, tas tika paziņots Unix 7. versijā 1979. gada janvārī, aizstājot tp programmu. Lai saglabātu datus, failu struktūra tika standartizēta POSIX.1-1988 un vēlāk POSIX.1-2001 un kļuva par modeli, ko atbalsta gandrīz visas mūsdienu failu arhivēšanas sistēmas. Unix līdzīgas operētājsistēmas parasti satur rīkus tar failu atbalstam un to saspiešanai izmantotās utilītas, piemēram, bzip2 un gzip.
Kopš Microsoft 2018. gada 10. aprīļa atjauninājuma BSD-tar ir ietverts sistēmā Microsoft Windows, un ir divi vai vairāki trešo pušu rīki, lai lasītu un rakstītu šīs shēmas operētājsistēmā Windows.

Darvas failu formāti

Ir pieejami daudzi darvas failu formāti, tostarp pašreizējie un vēsturiskie. POSIX ir rakstīti divi darvas formāti: pax un ustar.

Virsraksts

Faila galvenes ierakstā ir iekļauti faila metadati. Galvenes ierakstā informācija tiek kodēta ASCII standartos, lai nodrošinātu elastību dažādās arhitektūrās, izmantojot atšķirīgus baitu secības. Tādējādi, ja katrs fails ir ASCII teksta fails arhīvā un satur ASCII nosaukumus, arhīvs ir ASCII teksta fails (ar vairākām NUL rakstzīmēm).

Nākamajā tabulā ir minēti vairāki lauki, ko nosaka faktiskais Unix tar formāts. Saites faila/rādītāja tipa tabulā ir daži moderni paplašinājumi. Lauks tiek aizpildīts ar dažādiem NUL baitiem, ja tas nav izmantots.

Darvas galvene pirms POSIX.1-1988:

Lauks Lauka izmērs Lauka nobīde
Faila nosaukums 100 0
Failu režīms 8 100
Īpašnieka skaitliskais lietotāja ID 8 108
Grupas skaitliskais lietotāja ID 8 116
Baitu faila lielums 12 124
Pēdējās modifikācijas laiks skaitliskā Unix laika formā 12 136
Galvenes ieraksta kontrolsumma 8 148
Saites indikators 1 156
Saistītā faila nosaukums 100 157

Ustart formāts

Ustar formātā gandrīz katra modernā tar programma raksta un lasa arhīvus, par ko paziņoja 1988. gada POSIX IEEE P1003.1 standarts. Tas ieviesa papildu galvenes laukus. Iepriekšējās darvas programmas izvairītos no papildu informācijas, taču jaunās programmas pārbaudīs 'Ustar' virknes klātbūtni, lai izlemtu, vai tiek izmantots jaunāks formāts.

Lauks Lauka izmērs Lauka nobīde
Daudzi lauki, tāpat kā iepriekšējā formātā 156 0
Ierakstiet karogu 1 156
Līdzīgs lauks kā iepriekšējā formātā 100 157
'ustar' Ustar indikators, pēc tam NUL 6 257
'00' Ustar versija 2 263
Īpašnieka lietotājvārds 32 265
Īpašnieka grupas nosaukums 32 297
Ierīces galvenais numurs 8 329
Neliels ierīces numurs 8 337
Faila nosaukuma prefikss 155 3. 4. 5

POSIX.1-2001/pax

Sun 1997. gadā ierosināja paņēmienu, kā pievienot paplašinājumus darvas formātam. Vēlāk tā tika apstiprināta standartam POSIX.1-2001. Formātu sauc par pax formātu vai paplašinātu tar formātu. Dažus tagus nosaka POSIX standarts, tostarp mtime, atime, linkpath, gname, uname, sizes, gid, uid un rakstzīmju kopas definīciju grupu/lietotāju nosaukumiem un ceļu nosaukumiem.

Galvenās darvas ieviešanas iespējas

Galvenās ieviešanas ir minētas izcelsmes secībā:

bezmaksas vs bezmaksas
    solaris darva Solaris OS ir noklusējuma iestatījums, pamatojoties uz faktisko Unix V7. GNU darva ir noklusējuma iestatījums gandrīz katrā Linux izplatīšanā. Tas ir balstīts uz publiskā domēna ieviešanas pdtar, kas sākās 1987. gadā. Jaunākajos izdevumos var izmantot daudzus formātus, piemēram, GNU, pax, v7 un ustar. FreeBSD darva ir kļuvusi par noklusējuma darvu gandrīz katrā uz Berkeley Software Distribution balstītajā OS, piemēram, Mac OS X. Šilī darva ir vēsturiski nozīmīgs, jo daži no tās paplašinājumiem bija slaveni. Pirmo reizi tas tika izlaists 1997. gada aprīlī. Python tarfile atbalsta divus vai vairākus darvas formātus, piemēram, gnu, pax un ustar; tas var lasīt, bet nevar izveidot SunOS tar paplašināto un V7 formātu; pax ir noklusējuma formāts arhīva izveidei. Tas ir pieejams lietotājiem kopš 2003. gada.

Turklāt lielākā daļa cpio un pax implementāciju var izveidot un nolasīt divus vai vairākus tar failu tipus.

Tar komandas sintakse:

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

Iespējas komandā tar

Tālāk ir norādītas dažādas tar komandas opcijas:

    -c:Šī opcija tiek izmantota arhīva izveidei.-f:Šī opcija tiek izmantota, lai izveidotu arhīvu kopā ar norādīto faila nosaukumu.-x:Šī opcija tiek izmantota arhīvu izvilkšanai.-in:To var izmantot, lai esošajam arhīva failam pievienotu arhīvu.-t:To izmanto, lai parādītu vai uzskaitītu failus arhivētajā failā.-A:Šī opcija tiek izmantota arhīva failu savienošanai.-in:To var izmantot, lai parādītu detalizētu informāciju.-j:To izmanto arhīva tar failu filtrēšanai ar tbzip palīdzību.- ar:Tas ir zip fails un informē tar komandu, kas izveido tar failu ar gzip palīdzību.-r:Šī opcija tiek izmantota, lai atjauninātu un pievienotu direktoriju vai failu esošajā .tar failā.-IN:Šī opcija tiek izmantota arhīva faila pārbaudei.

Ievads arhīva failā

Arhīva failu var definēt kā failu, kurā ir vairāki faili ar metadatiem. Šie faili tiek izmantoti vairāk nekā viena datu faila apkopošanai atsevišķā failā, lai atvieglotu glabāšanu un pārnesamību. To var izmantot arī failu saspiešanai, lai patērētu mazāk vietas.

Tar komandas piemēri

Daži no svarīgiem piemēriem, kas tiek plaši izmantoti tar komandā, ir šādi:

zemsvītras piezīmes

1. Nesaspiesta darvas arhīva izveide ar opciju -cvf

Šī opcija padara tar failu pazīstamu kā file.tar . Tas ir katra .txt faila arhīvs mydir direktoriju.

Komanda ir šāda:

 $ tar cvf file.tar *.txt 

Tar komanda operētājsistēmā Linux

2. Failu izvilkšana caur arhīvu ar opciju -xvf

Šī opcija var iegūt failus, izmantojot arhīvus.

Komanda ir šāda:

 $ tar xvf file.tar 

Tar komanda operētājsistēmā Linux

3. gzip saspiešana pa tar arhīvu ar opciju -z

Šī opcija padara tar failu pazīstamu kā file.tar.gz. Tas ir katra .txt faila arhīvs.

Komanda ir šāda:

 $ tar cvzf file.tar.gz *.txt 

Tar komanda operētājsistēmā Linux

4. Gzip tar arhīva izvilkšana ar opciju -xvzf

Šī opcija var izvilkt failus, izmantojot file.tar.gz tar arhivētos failus.

Komanda ir šāda:

 $ tar xvzf file.tar.gz 

Tar komanda operētājsistēmā Linux

5. Saspiestu darvas failu izveide ar opciju -j

Šī opcija mums palīdzēs izveidot un saspiest arhīva failus. Gan atspiešana, gan saspiešana aizņem vairāk laika, salīdzinot ar gzip.

Komanda ir šāda:

 $ tar cvfj file.tar.tbz hello1.txt 

Tar komanda operētājsistēmā Linux

6. Attīriet vienu norādīto direktoriju vai failu operētājsistēmā Linux

Šī opcija tiek izmantota, lai attīrītu jebkuru failu mūsu pašreizējā direktorijā vai norādītajā direktorijā ar opciju -C.

Komanda ir šāda:

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

Tar komanda operētājsistēmā Linux

vai,

 $ tar -xvf file.tar 

Tar komanda operētājsistēmā Linux

7. Attīriet vairākus .tar.tbz, .tar.gz, .tar failus operētājsistēmā Linux

Šī opcija mums palīdzēs izplatība vai izņemiet vairāk nekā vienu failu no tar.bz2, tar.gz un tar arhīva faila.

Šīs opcijas piemērs ir šāds:

robotu sastāvdaļas
 $ tar -jxvf file.tar.tbz 'hello1.txt' 

Tar komanda operētājsistēmā Linux

vai,

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

Tar komanda operētājsistēmā Linux

vai,

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

Tar komanda operētājsistēmā Linux

8. Pārbaudiet esošā tar.tbz, tar.gz, tar faila lielumu

Komanda palīdzēs mums parādīt arhīva faila lielumu kilobaitos (KB), kas minēts iepriekš.

Komanda ir šāda:

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

vai,

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

vai,

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

Tar komanda operētājsistēmā Linux

9. Atjauniniet esošo tar failu

Operētājsistēmā Linux esošā tar faila atjaunināšanas komanda ir šāda:

 $ tar rvf file.tar *.txt 

10. Satura sarakstu un aprakstiet tar failu ar opciju tf

Šī opcija mums palīdzēs izveidot visu arhīva failu sarakstu. Mēs varam arī uzskaitīt noteiktu saturu jebkurā tar failā.

Komanda ir šāda:

 $ tar tf file.tar 

Tar komanda operētājsistēmā Linux

11. Apskatiet arhīvu ar opciju -tvf

Operētājsistēmā Linux mēs varam izmantot opciju -tvf, lai skatītu arhīvu.

Komanda ir šāda:

 $ tar -tvf file.tar 

Tar komanda operētājsistēmā Linux

12. Norādiet faila nosaukumu kā argumentu, lai atrastu tar failu

Šī opcija var skatīt arhivētos failus ar to informāciju.

Komanda ir šāda:

 $ tar tvf file.tar filename 

Tar komanda operētājsistēmā Linux

13. Caurules izmantošana 'grep komandas' izmešanai, lai meklētu to, ko mēs meklējam

Šī opcija mums palīdzēs uzskaitīt tikai minēto attēlu vai tekstu saķere izmantojot arhivētos failus.

Komanda ir šāda:

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

vai,

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

Tar komanda operētājsistēmā Linux

Ievads aizstājējzīmēs

Alternatīvi, aizstājējzīmes tiek apzīmētas kā aizstājējzīmes vai aizstājējzīmes operētājsistēmā Linux. Tas ir simbols, ko izmanto, lai attēlotu vai aizstātu vairākas rakstzīmes.

Parasti aizstājējzīmes ir vai nu jautājuma zīme (?), kas ilustrē atsevišķu rakstzīmi, vai zvaigznīte (*), kas ilustrē vairākas rakstzīmes.

Piemērs-

14. Atrodiet .webp formāta attēlu

Tas mums palīdzēs no file.tar arhīva izvilkt tikai failus kopā ar paplašinājumu .webp. Opcija -wildcards informē taru par aizstājējzīmju interpretāciju izņemamā faila nosaukumā.

Faila nosaukums (*.webp) ir iekļauts atsevišķās pēdiņās, lai aizsargātu aizstājējzīmi (*), jo to nepareizi izvērš jebkurš apvalks.

Komanda ir šāda:

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

Tar komanda operētājsistēmā Linux

Piezīme. Iepriekš minētajā komandā simbols “*” tiek lietots faila nosaukuma vietā, lai aizņemtu katru šajā konkrētajā direktorijā pieejamo failu.

15. Dzēsiet failus no darvas arhīva

Failu un darvas arhīva noņemšanai varam izmantot opciju --delete.

Komanda ir šāda:

lietotājvārda piemērs
 $ tar --delete -f archive.tar file_name 

Piemērs:

 tar -delete -f file.tar hello1.txt 

Izvade:

Tar komanda operētājsistēmā Linux

sveiks1.txt fails ir noņemts no file.tar arhīva:

Tar komanda operētājsistēmā Linux