Tar kommandoen er en forkortelse for båndarkiv i Linux. Denne kommando bruges til at oprette arkiv og udpakke arkivfilerne. I Linux , er det en af de væsentlige kommandoer, som letter arkiveringsfunktionaliteten. Vi kan bruge denne kommando til at oprette ukomprimerede og komprimerede arkivfiler og også ændre og vedligeholde dem.
Tar er et værktøj til computersoftware til at samle flere filer i en enkelt arkivfil i computere. Ofte er det kendt som tarball til backup- og distributionsformål. Titlen er hentet fra 'tape archive', fordi den faktisk blev udviklet til at specificere data på sekventielle I/O-enheder, der ikke bruger nogen af deres filsystemer. Arkivdatagrupperne lavet af tar inkluderer mange filsystemparametre som biblioteksorganisation, filadgangstilladelse, ejerskab, tidsstempler og navn. Til fordel for pax, POSIX forladt tjære, tjære ser alligevel udbredt brug.
Først blev det annonceret i Version 7 Unix i januar 1979, der erstattede tp-programmet. For at gemme dataene blev filstrukturen standardiseret i POSIX.1-1988 og senere POSIX.1-2001 og blev et mønster understøttet af næsten alle moderne filarkiveringssystemer. Unix-lignende operativsystemer indeholder generelt værktøjer til at understøtte tar-filer og hjælpeprogrammer, der bruges til at komprimere dem, såsom bzip2 og gzip.
Siden Microsoft 10. april 2018-opdateringen har BSD-tar været indeholdt i Microsoft Windows, og der er to eller flere tredjepartsværktøjer til at læse og skrive disse mønstre på Windows.
Filformater af tar
Der er mange tar-filformater tilgængelige, inklusive nuværende og historiske. To tar-formater er skrevet i POSIX: pax og ustar.
Header
Filhovedposten inkluderer metadata for en fil. I header-posten er informationen kodet i ASCII-standarderne for at sikre fleksibilitet på tværs af forskellige arkitekturer ved hjælp af distinkte byte-bestillinger. Derfor, hvis hver fil er en ASCII-tekstfil i et arkiv og indeholder ASCII-navne, er arkivet en ASCII-tekstfil (med flere NUL-tegn).
Flere felter er nævnt i følgende tabel, defineret af det faktiske Unix-tar-format. Tabellen med linkfil/indikatortype indeholder et par moderne udvidelser. Et felt er udfyldt med forskellige NUL-bytes, hvis det er ubrugt.
Pre-POSIX.1-1988 tjæreoverskrift:
Mark | Feltstørrelse | Feltforskydning |
---|---|---|
Filnavn | 100 | 0 |
Filtilstand | 8 | 100 |
Numerisk bruger-id for ejeren | 8 | 108 |
Numerisk bruger-id for gruppen | 8 | 116 |
Byte filstørrelse | 12 | 124 |
Sidste ændringstid i form af numerisk Unix-tid | 12 | 136 |
Kontrolsum for overskriftsposten | 8 | 148 |
Link indikator | 1 | 156 |
Linket filnavn | 100 | 157 |
Ustart format
I Ustar-formatet skriver og læser næsten alle moderne tar-programmer arkiver, annonceret af POSIX IEEE P1003.1-standarden fra 1988. Det introducerede ekstra header-felter. Tidligere tar-programmer ville undgå de yderligere oplysninger, men nye programmer vil kontrollere 'Ustar'-strengens tilstedeværelse for at afgøre, om det nyere format er i brug.
Mark | Feltstørrelse | Feltforskydning |
---|---|---|
Mange felter, som i det tidligere format | 156 | 0 |
Skriv flag | 1 | 156 |
Lignende felt som i det forrige format | 100 | 157 |
'ustar' Ustar-indikator, derefter NUL | 6 | 257 |
'00' Ustar-version | 2 | 263 |
Brugernavn på ejeren | 32 | 265 |
Ejerens gruppenavn | 32 | 297 |
Enhedens hovednummer | 8 | 329 |
Mindre nummer på enheden | 8 | 337 |
Filnavns præfiks | 155 | 3. 4. 5 |
POSIX.1-2001/pax
Sun foreslog en teknik til at tilføje udvidelser til et tar-format i 1997. Senere blev det godkendt til POSIX.1-2001-standarden. Formatet kaldes pax-format eller udvidet tar-format. Nogle tags er specificeret af POSIX-standarden, herunder mtime, atime, linkpath, gname, uname, sizes, gid, uid og en tegnsætdefinition for gruppe-/brugernavne og stinavne.
Nøgleimplementeringer af tjære
Nøgleimplementeringerne er nævnt i oprindelsesrækkefølgen:
Derudover kan de fleste cpio- og pax-implementeringer oprette og læse to eller flere tar-filtyper.
Syntaks for tar-kommando:
tar [options] [archive-file] [directory or file to be archived]
Indstillinger i tar-kommandoen
Forskellige muligheder i tar-kommandoen er angivet nedenfor:
Introduktion til arkivfil
Arkivfilen kan defineres som en fil, der indeholder flere filer med metadata. Disse filer bruges til at samle mere end én datafil sammen i en individuel fil for lettere opbevaring og portabilitet. Det kan også bruges til at komprimere filer for at forbruge mindre lagerplads.
Eksempler på tar-kommando
Nogle af de vigtige eksempler, der er meget brugt i tar-kommando, er som følger:
1. Lav et ukomprimeret tar-arkiv med -cvf-mulighed
Denne mulighed gør en tar-fil kendt som file.tar . Det er arkivet for hver .txt-fil indeni mydir vejviser.
Kommandoen er som følger:
$ tar cvf file.tar *.txt
2. Udpakning af filer gennem arkivet med -xvf option
Denne mulighed kan udpakke filer gennem arkiver.
Kommandoen er som følger:
$ tar xvf file.tar
3. gzip-komprimering over tar-arkiv med -z mulighed
Denne mulighed gør en tar-fil kendt som file.tar.gz. Det er arkivet for hver .txt-fil.
Kommandoen er som følger:
$ tar cvzf file.tar.gz *.txt
4. Udpakning af gzip tar-arkivet med -xvzf option
Denne mulighed kan udpakke filerne gennem file.tar.gz tar arkiverede filer.
Kommandoen er som følger:
$ tar xvzf file.tar.gz
5. Lave komprimerede tar-filer med -j-indstillingen
Denne mulighed hjælper os med at oprette og komprimere arkivfiler. Både dekomprimering og komprimering tager længere tid sammenlignet med gzip.
Kommandoen er som følger:
$ tar cvfj file.tar.tbz hello1.txt
6. Fjern en enkelt specificeret mappe eller fil i Linux
Denne mulighed bruges til at fjerne tarering af enhver fil i vores nuværende mappe eller inde i den angivne mappe med -C-indstillingen.
Kommandoen er som følger:
$ tar -xvf file.tar -C file's path in the directory
Eller,
$ tar -xvf file.tar
7. Fjern flere .tar.tbz-, .tar.gz-, .tar-filer i Linux
Denne mulighed vil hjælpe os til spredning eller udpak mere end én fil fra tar.bz2, tar.gz og en tar-arkivfil.
Eksemplet på denne mulighed er som følger:
$ tar -jxvf file.tar.tbz 'hello1.txt'
Eller,
$ tar -zxvf file.tar.gz 'hello1.txt' 'hello2.txt'
Eller,
$ tar -xvf file.tar 'hello1.txt' 'hello2.txt'
8. Tjek størrelsen på den eksisterende tar.tbz, tar.gz, tar-fil
Kommandoen hjælper os med at vise arkivfilens størrelse i kilobytes (KB), som er nævnt ovenfor.
Kommandoen er som følger:
$ tar -czf - file2.tar.tbz | wc -c
Eller,
$ tar -czf - file1.tar.gz | wc -c
Eller,
$ tar -czf - file.tar | wc -c
9. Opdater den eksisterende tar-fil
I Linux er kommandoen til opdatering af en eksisterende tar-fil som følger:
til loop java
$ tar rvf file.tar *.txt
10. Indholdsliste og beskriv tar-filen med tf-indstillingen
Denne mulighed hjælper os med at liste hele arkivfilens liste. Vi kan også angive bestemt indhold i enhver tar-fil.
Kommandoen er som følger:
$ tar tf file.tar
11. Se arkivet med muligheden -tvf
I Linux kan vi bruge -tvf-indstillingen til at se arkivet.
Kommandoen er som følger:
$ tar -tvf file.tar
12. Send filnavnet som argument for at finde en tar-fil
Denne mulighed kan se de arkiverede filer med deres oplysninger.
Kommandoen er som følger:
$ tar tvf file.tar filename
13. Brug af pipe til at kaste 'grep-kommando' til at søge efter det, vi søger efter
Denne mulighed hjælper os med kun at vise det nævnte billede eller den nævnte tekst greb gennem arkiverede filer.
Kommandoen er som følger:
$ tar tvf file.tar | grep 'filename.file'
Eller,
$ tar tvf file.tar | grep 'text to search'
Introduktion til jokertegn
Alternativt omtales jokertegn som jokertegn eller jokertegn i Linux. Det er et symbol, der bruges til at repræsentere eller erstatte flere tegn.
Typisk er jokertegn enten et spørgsmålstegn (?), som illustrerer et individuelt tegn, eller en stjerne (*), der illustrerer flere tegn.
Eksempel-
14. Find et billede i .webp-format
Det vil hjælpe os til kun at udpakke filer sammen med .webp-udvidelsen fra file.tar-arkivet. Indstillingen -wildcards informerer tar om fortolkning af jokertegn i filnavnet, der skal udpakkes.
Navnet på filen (*.webp) er indesluttet i de enkelte anførselstegn for at beskytte jokertegnet (*) ved at blive ukorrekt udvidet af enhver shell.
Kommandoen er som følger:
$ tar tvf file.tar --wildcards '*.webp'
Bemærk: I ovenstående kommando anvendes '*'-symbolet i positionen for navnet på filen for at tage hver fil tilgængelig i den specifikke mappe.
15. Slet filer fra tar-arkivet
Vi kan bruge --delete-indstillingen til at fjerne filer og et tar-arkiv.
Kommandoen er som følger:
$ tar --delete -f archive.tar file_name
Eksempel:
tar -delete -f file.tar hello1.txt
Produktion:
hej1.txt filen er blevet fjernet fra file.tar-arkivet: