logo

„Tar“ komanda „Linux“ / „Unix“ su pavyzdžiais

Tar komanda yra trumpinys juostos archyvas Linux sistemoje. Ši komanda naudojama archyvui kurti ir archyvo failams išskleisti. Į Linux , tai viena iš esminių komandų, palengvinančių archyvavimo funkciją. Šią komandą galime naudoti kurdami nesuspaustus ir suglaudintus archyvo failus, taip pat juos modifikuoti ir prižiūrėti.

Tar yra kompiuterinės programinės įrangos įrankis, skirtas surinkti kelis failus į vieną archyvo failą. Dažnai jis žinomas kaip tarball atsarginės kopijos ir platinimo tikslais. Pavadinimas gautas iš „juostos archyvo“, nes jis iš tikrųjų buvo sukurtas siekiant nurodyti duomenis apie nuoseklius įvesties / išvesties įrenginius, nenaudojančius nė vienos jų failų sistemos. Tar sukurtos archyvo duomenų grupės apima daugybę failų sistemos parametrų, tokių kaip katalogų organizavimas, failų prieigos leidimas, nuosavybės teisė, laiko žymos ir pavadinimas. Pax, POSIX atsisakyta dervos, dervos vis dar plačiai naudojamos.

Pirma, apie tai buvo paskelbta Unix 7 versijoje 1979 m. sausio mėn., pakeičiant tp programą. Duomenims saugoti failų struktūra buvo standartizuota POSIX.1-1988 ir vėliau POSIX.1-2001 ir tapo modeliu, kurį palaiko beveik visos šiuolaikinės failų archyvavimo sistemos. „Unix“ tipo operacinėse sistemose paprastai yra įrankių, skirtų palaikyti tar failus ir jiems suglaudinti naudojamas priemones, pvz., bzip2 ir gzip.
Nuo „Microsoft“ 2018 m. balandžio 10 d. atnaujinimo „Microsoft Windows“ yra BSD-tar ir yra du ar daugiau trečiųjų šalių įrankių šiems šablonams skaityti ir rašyti sistemoje „Windows“.

Tar failų formatai

Yra daug tar failų formatų, įskaitant dabartinius ir istorinius. POSIX yra parašyti du tar formatai: pax ir ustar.

Antraštė

Failo antraštės įrašas apima failo metaduomenis. Antraštės įraše informacija užkoduota ASCII standartuose, siekiant užtikrinti lankstumą skirtingose ​​architektūrose naudojant skirtingus baitų išdėstymus. Taigi, jei kiekvienas failas yra ASCII tekstinis failas archyve ir jame yra ASCII pavadinimai, archyvas yra ASCII tekstinis failas (turintis kelis NUL simbolius).

Šioje lentelėje paminėti keli laukai, apibrėžti tikrojo Unix tar formato. Nuorodos failo / indikatoriaus tipo lentelėje yra keletas modernių plėtinių. Laukas užpildomas įvairiais NUL baitais, jei jis nenaudojamas.

Pre-POSIX.1-1988 tar antraštė:

Laukas Lauko dydis Lauko poslinkis
Failo pavadinimas 100 0
Failų režimas 8 100
Skaitinis savininko vartotojo ID 8 108
Skaitinis grupės vartotojo ID 8 116
Failo dydis baitais 12 124
Paskutinio modifikavimo laikas skaitiniu Unix laiku 12 136
Antraštės įrašo kontrolinė suma 8 148
Nuorodos indikatorius 1 156
Susieto failo pavadinimas 100 157

Ustart formatas

Ustar formatu beveik kiekviena šiuolaikinė tar programa rašo ir skaito archyvus, paskelbtus POSIX IEEE P1003.1 standartu nuo 1988 m. Jis pristatė papildomus antraštės laukus. Ankstesnėse tar programose būtų išvengta papildomos informacijos, tačiau naujos programos patikrins, ar yra „Ustar“ eilutė, kad nuspręstų, ar naudojamas naujesnis formatas.

Laukas Lauko dydis Lauko poslinkis
Daug laukų, kaip ir ankstesniame formate 156 0
Įveskite vėliavą 1 156
Panašus laukas kaip ir ankstesniame formate 100 157
„ustar“ Ustar indikatorius, tada NUL 6 257
'00' Ustar versija 2 263
Savininko vartotojo vardas 32 265
Savininko grupės pavadinimas 32 297
Pagrindinis įrenginio numeris 8 329
Nedidelis įrenginio numeris 8 337
Failo vardo priešdėlis 155 3. 4. 5

POSIX.1-2001/pax

„Sun“ 1997 m. pasiūlė techniką, kaip pridėti prie tar formato plėtinių. Vėliau jis buvo patvirtintas POSIX.1-2001 standartui. Formatas vadinamas pax formatu arba išplėstiniu tar formatu. Kai kurias žymas nurodo POSIX standartas, įskaitant mtime, atime, linkpath, gname, uname, sizes, gid, uid ir simbolių rinkinio apibrėžimą, skirtą grupių / vartotojų vardams ir kelių pavadinimams.

Pagrindiniai dervos įgyvendinimai

Pagrindiniai diegimai paminėti kilmės tvarka:

    solaris derva Solaris OS yra numatytasis, remiantis tikruoju Unix V7. GNU derva yra numatytasis beveik kiekviename „Linux“ paskirstyme. Jis pagrįstas viešojo domeno diegimo pdtar, kuris prasidėjo 1987 m. Naujausiuose leidimuose galima naudoti daugybę formatų, tokių kaip GNU, pax, v7 ir ustar. FreeBSD tar tapo numatytuoju dervu beveik visose „Berkeley Software Distribution“ pagrindu veikiančiose OS, tokiose kaip „Mac OS X“. Schily tar yra istoriškai svarbus, nes keli jo priestatai buvo žinomi. Pirmą kartą jis buvo išleistas 1997 m. balandžio mėn. Python tarfile palaiko du ar daugiau tar formatų, tokių kaip gnu, pax ir ustar; ji gali nuskaityti, bet nesudaryti SunOS tar išplėstinio ir V7 formato; pax yra numatytasis archyvo kūrimo formatas. Jis buvo prieinamas vartotojams nuo 2003 m.

Be to, dauguma cpio ir pax diegimų gali sukurti ir nuskaityti du ar daugiau tar failų tipų.

Tar komandos sintaksė:

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

Parinktys komandoje tar

Toliau pateikiamos įvairios tar komandos parinktys:

    -c:Ši parinktis naudojama kuriant archyvą.-f:Ši parinktis naudojama kuriant archyvą kartu su pateiktu failo pavadinimu.-x:Ši parinktis naudojama archyvams išgauti.-į:Jis gali būti naudojamas norint pridėti archyvą prie esamo archyvo failo.-t:Jis naudojamas archyvuoto failo failams rodyti arba įtraukti į sąrašą.-A:Ši parinktis naudojama archyvo failams sujungti.-į:Jis gali būti naudojamas išsamiai informacijai rodyti.-j:Jis naudojamas archyvo tar failams filtruoti naudojant tbzip.-Su:Tai zip failas ir informuoja tar komandą, kuri sukuria tar failą gzip pagalba.-r:Ši parinktis naudojama atnaujinti ir įtraukti katalogą arba failą į esamą .tar failą.-IN:Ši parinktis naudojama archyvo failui patikrinti.

Įvadas į archyvo failą

Archyvo failą galima apibrėžti kaip failą, kuriame yra keli failai su metaduomenimis. Šie failai naudojami daugiau nei vienam duomenų failui surinkti į atskirą failą, kad būtų lengviau saugoti ir perkelti. Jis taip pat gali būti naudojamas failams suspausti, kad sunaudotų mažiau vietos saugykloje.

Tar komandos pavyzdžiai

Kai kurie svarbūs pavyzdžiai, plačiai naudojami tar komandoje, yra šie:

1. Sukurkite nesuspaustą tar archyvą su -cvf parinktimi

Ši parinktis padaro tar failą žinomą kaip failas.tar . Tai kiekvieno viduje esančio .txt failo archyvas mydir katalogas.

Komanda yra tokia:

 $ tar cvf file.tar *.txt 

„Tar“ komanda „Linux“.

2. Failų ištraukimas per archyvą su -xvf parinktimi

Ši parinktis gali išskleisti failus per archyvus.

Komanda yra tokia:

nemokama ipconfig
 $ tar xvf file.tar 

„Tar“ komanda „Linux“.

3. gzip suspaudimas per tar archyvą su -z parinktimi

Ši parinktis padaro tar failą žinomą kaip failas.tar.gz. Tai kiekvieno .txt failo archyvas.

Komanda yra tokia:

 $ tar cvzf file.tar.gz *.txt 

„Tar“ komanda „Linux“.

4. Išskleiskite gzip tar archyvą su -xvzf parinktimi

Ši parinktis gali išskleisti failus per file.tar.gz tar archyvuotus failus.

Komanda yra tokia:

 $ tar xvzf file.tar.gz 

„Tar“ komanda „Linux“.

5. Suspaustų tar failų kūrimas naudojant -j parinktį

Ši parinktis padės mums sukurti ir suspausti archyvo failus. Tiek išskleisti, tiek suspausti užtrunka daugiau laiko, palyginti su gzip.

Komanda yra tokia:

 $ tar cvfj file.tar.tbz hello1.txt 

„Tar“ komanda „Linux“.

6. Pašalinkite vieną nurodytą katalogą arba failą Linux sistemoje

Ši parinktis naudojama norint panaikinti bet kurį failą dabartiniame kataloge arba nurodytame kataloge naudojant parinktį -C.

Komanda yra tokia:

java programavimo kalbos pamoka
 $ tar -xvf file.tar -C file's path in the directory 

„Tar“ komanda „Linux“.

arba

 $ tar -xvf file.tar 

„Tar“ komanda „Linux“.

7. Atjunkite kelis .tar.tbz, .tar.gz, .tar failus Linux sistemoje

Ši parinktis mums padės plisti arba išskleiskite daugiau nei vieną failą iš tar.bz2, tar.gz ir tar archyvo failo.

Šios parinkties pavyzdys yra toks:

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

„Tar“ komanda „Linux“.

arba

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

„Tar“ komanda „Linux“.

arba

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

„Tar“ komanda „Linux“.

8. Patikrinkite esamo tar.tbz, tar.gz, tar failo dydį

Komanda padės mums parodyti aukščiau paminėtą archyvo failo dydį kilobaitais (KB).

Komanda yra tokia:

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

arba

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

arba

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

„Tar“ komanda „Linux“.

9. Atnaujinkite esamą tar failą

Linux sistemoje esamo tar failo atnaujinimo komanda yra tokia:

 $ tar rvf file.tar *.txt 

10. Turinio sąrašą ir apibūdinkite tar failą naudodami tf parinktį

Ši parinktis padės mums sudaryti visą archyvo failų sąrašą. Be to, galime įtraukti tam tikrą turinį bet kuriame tar faile.

Komanda yra tokia:

 $ tar tf file.tar 

„Tar“ komanda „Linux“.

11. Peržiūrėkite archyvą naudodami -tvf parinktį

„Linux“ archyvui peržiūrėti galime naudoti parinktį -tvf.

Komanda yra tokia:

blokuoti skelbimus youtube android
 $ tar -tvf file.tar 

„Tar“ komanda „Linux“.

12. Norėdami rasti tar failą, nurodykite failo pavadinimą kaip argumentą

Ši parinktis gali peržiūrėti archyvuotus failus su jų informacija.

Komanda yra tokia:

 $ tar tvf file.tar filename 

„Tar“ komanda „Linux“.

13. Pipe naudojimas 'grep komandos' įvedimui ieškoti to, ko ieškome

Ši parinktis padės mums pateikti tik minėtą vaizdą ar tekstą sukibimas per archyvuotus failus.

Komanda yra tokia:

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

arba

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

„Tar“ komanda „Linux“.

Įvadas į pakaitos simbolius

Arba „Linux“ pakaitos simboliai vadinami pakaitos simboliu arba pakaitos simboliu. Tai simbolis, naudojamas keliems simboliams pavaizduoti arba pakeisti.

Paprastai pakaitos simboliai yra klaustukas (?), iliustruojantis atskirą simbolį, arba žvaigždutė (*), iliustruojanti kelis simbolius.

Pavyzdys-

14. Raskite .webp formato vaizdą

Tai padės mums iš failo.tar archyvo išskleisti tik failus su .webp plėtiniu. Parinktis -wildcards informuoja tar, kad būtų galima interpretuoti pakaitos simbolius failo pavadinime, kurį reikia išgauti.

Failo pavadinimas (*.webp) yra įtrauktas į atskiras kabutes, kad apsaugotų pakaitos simbolį (*), nes jis neteisingai išplečiamas bet kokiu apvalkalu.

Komanda yra tokia:

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

„Tar“ komanda „Linux“.

Pastaba: Aukščiau pateiktoje komandoje simbolis „*“ taikomas failo pavadinimo vietoje, kad būtų galima paimti kiekvieną failą, esantį tame konkrečiame kataloge.

15. Ištrinkite failus iš tar archyvo

Failams ir tar archyvui pašalinti galime naudoti parinktį --delete.

Komanda yra tokia:

 $ tar --delete -f archive.tar file_name 

Pavyzdys:

 tar -delete -f file.tar hello1.txt 

Išvestis:

„Tar“ komanda „Linux“.

labas1.txt failas buvo pašalintas iš failo.tar archyvo:

„Tar“ komanda „Linux“.