Het tar-commando is een afkorting van tape-archief onder Linux. Deze opdracht wordt gebruikt voor het maken van een archief en het uitpakken van de archiefbestanden. In Linux , het is een van de essentiële opdrachten die de archiveringsfunctionaliteit vergemakkelijken. We kunnen deze opdracht gebruiken voor het maken van ongecomprimeerde en gecomprimeerde archiefbestanden en deze ook wijzigen en onderhouden.
Tar is een hulpprogramma van computersoftware om verschillende bestanden in één computerarchiefbestand te verzamelen. Vaak staat het bekend als tarball voor back-up- en distributiedoeleinden. De titel is ontleend aan 'tape archive' omdat het feitelijk is ontwikkeld om gegevens op sequentiële I/O-apparaten te specificeren die geen van hun bestandssystemen gebruiken. De archiefgegevensgroepen die door tar zijn gemaakt, bevatten veel bestandssysteemparameters, zoals maporganisatie, toegangsrechten voor bestanden, eigendom, tijdstempels en naam. Ten gunste van pax heeft POSIX teer verlaten, maar teer wordt nog steeds op grote schaal gebruikt.
Ten eerste werd het aangekondigd in versie 7 Unix in januari 1979, ter vervanging van het tp-programma. Om de gegevens op te slaan, werd de bestandsstructuur gestandaardiseerd in POSIX.1-1988 en later POSIX.1-2001 en werd het een patroon dat door vrijwel alle moderne bestandsarchiveringssystemen werd ondersteund. Unix-achtige besturingssystemen bevatten over het algemeen tools voor het ondersteunen van tar-bestanden en hulpprogramma's die worden gebruikt om deze te comprimeren, zoals bzip2 en gzip.
Sinds Microsoft Update van 10 april 2018 is BSD-tar opgenomen in Microsoft Windows, en er zijn twee of meer tools van derden om deze patronen op Windows te lezen en te schrijven.
Bestandsformaten van tar
Er zijn veel tar-bestandsformaten beschikbaar, inclusief huidige en historische formaten. Er zijn twee tar-formaten geschreven in POSIX: pax en ustar.
Koptekst
Het bestandskoprecord bevat de metagegevens van een bestand. In het headerrecord wordt de informatie gecodeerd in de ASCII-standaarden om flexibiliteit tussen verschillende architecturen te garanderen met behulp van verschillende byte-ordeningen. Als elk bestand dus een ASCII-tekstbestand in een archief is en ASCII-namen bevat, is het archief een ASCII-tekstbestand (met verschillende NUL-tekens).
In de volgende tabel worden verschillende velden genoemd, gedefinieerd door het feitelijke Unix-tar-formaat. De linkbestand/indicatortypetabel bevat enkele moderne extensies. Een veld wordt gevuld met verschillende NUL-bytes als het niet wordt gebruikt.
Tar-header van vóór POSIX.1-1988:
Veld | Veld grootte | Veldcompensatie |
---|---|---|
Bestandsnaam | 100 | 0 |
Bestandsmodus | 8 | 100 |
Numerieke gebruikers-ID van de eigenaar | 8 | 108 |
Numerieke gebruikers-ID van de groep | 8 | 116 |
Byte-bestandsgrootte | 12 | 124 |
Laatste wijzigingstijd in de vorm van numerieke Unix-tijd | 12 | 136 |
Controlesom voor het headerrecord | 8 | 148 |
Link-indicator | 1 | 156 |
Gekoppelde bestandsnaam | 100 | 157 |
Ustart-formaat
In het Ustar-formaat schrijft en leest bijna elk modern tar-programma archieven, aangekondigd door de POSIX IEEE P1003.1-standaard uit 1988. Het introduceerde extra headervelden. Eerdere tar-programma's zouden de aanvullende informatie vermijden, maar nieuwe programma's zullen de aanwezigheid van de 'Ustar'-reeks controleren om te beslissen of het nieuwere formaat in gebruik is.
Veld | Veld grootte | Veldcompensatie |
---|---|---|
Veel velden, zoals in het vorige formaat | 156 | 0 |
Typ vlag | 1 | 156 |
Een soortgelijk veld als in het vorige formaat | 100 | 157 |
'ustar' Ustar-indicator, daarna NUL | 6 | 257 |
'00' Ustar-versie | 2 | 263 |
Gebruikersnaam van de eigenaar | 32 | 265 |
Groepsnaam van de eigenaar | 32 | 297 |
Hoofdnummer van het apparaat | 8 | 329 |
Klein nummer van het apparaat | 8 | 337 |
Voorvoegsel van bestandsnaam | 155 | 3. 4. 5 |
POSIX.1-2001/pax
Sun stelde in 1997 een techniek voor om extensies aan een tar-formaat toe te voegen. Later werd het goedgekeurd voor de POSIX.1-2001-standaard. Het formaat wordt pax-formaat of uitgebreid tar-formaat genoemd. Sommige tags worden gespecificeerd door de POSIX-standaard, waaronder mtime, atime, linkpath, gname, uname,sizes, gid, uid en een tekensetdefinitie voor groeps-/gebruikersnamen en padnamen.
Belangrijkste implementaties van teer
De belangrijkste implementaties worden vermeld in de oorsprongsvolgorde:
Bovendien kunnen de meeste cpio- en pax-implementaties twee of meer tar-bestandstypen maken en lezen.
Syntaxis van tar-opdracht:
tar [options] [archive-file] [directory or file to be archived]
Opties in de tar-opdracht
Hieronder vindt u verschillende opties in de tar-opdracht:
Inleiding tot archiefbestand
Het archiefbestand kan worden gedefinieerd als een bestand dat meerdere bestanden met metagegevens bevat. Deze bestanden worden gebruikt om meer dan één gegevensbestand samen te verzamelen in een individueel bestand, voor eenvoudigere opslag en draagbaarheid. Het kan ook worden gebruikt voor het comprimeren van bestanden om minder opslagruimte te verbruiken.
Voorbeelden van tar-opdrachten
Enkele van de belangrijke voorbeelden die veel worden gebruikt in de tar-opdracht zijn als volgt:
1. Een ongecomprimeerd tar-archief maken met de optie -cvf
Deze optie maakt een tar-bestand bekend als bestand.tar . Het is het archief van elk .txt-bestand erin mijn map.
De opdracht is als volgt:
stapel in ds
$ tar cvf file.tar *.txt
2. Bestanden uitpakken via het archief met de optie -xvf
Met deze optie kunnen bestanden via archieven worden uitgepakt.
De opdracht is als volgt:
$ tar xvf file.tar
3. gzip-compressie via tar-archief met -z optie
Deze optie maakt een tar-bestand bekend als bestand.tar.gz. Het is het archief van elk .txt-bestand.
De opdracht is als volgt:
$ tar cvzf file.tar.gz *.txt
4. Het gzip tar-archief uitpakken met de optie -xvzf
Met deze optie kunnen de bestanden worden uitgepakt via file.tar.gz tar-gearchiveerde bestanden.
De opdracht is als volgt:
$ tar xvzf file.tar.gz
5. Gecomprimeerde tar-bestanden maken met de optie -j
Deze optie helpt ons bij het maken en comprimeren van archiefbestanden. Zowel decomprimeren als comprimeren kost meer tijd vergeleken met gzip.
De opdracht is als volgt:
$ tar cvfj file.tar.tbz hello1.txt
6. Untar een enkele gespecificeerde map of bestand in Linux
Deze optie wordt gebruikt om elk bestand in onze huidige map of in de opgegeven map uit te pakken met de optie -C.
De opdracht is als volgt:
alya manasa
$ tar -xvf file.tar -C file's path in the directory
Of,
$ tar -xvf file.tar
7. Untar meerdere .tar.tbz-, .tar.gz-, .tar-bestanden in Linux
Deze optie zal ons daarbij helpen spreiding of extraheer meer dan één bestand uit tar.bz2, tar.gz en een tar-archiefbestand.
Het voorbeeld van deze optie is als volgt:
$ tar -jxvf file.tar.tbz 'hello1.txt'
Of,
$ tar -zxvf file.tar.gz 'hello1.txt' 'hello2.txt'
Of,
$ tar -xvf file.tar 'hello1.txt' 'hello2.txt'
8. Controleer de grootte van het bestaande tar.tbz-, tar.gz-, tar-bestand
De opdracht helpt ons om de hierboven genoemde grootte van het archiefbestand in kilobytes (KB) weer te geven.
De opdracht is als volgt:
$ tar -czf - file2.tar.tbz | wc -c
Of,
$ tar -czf - file1.tar.gz | wc -c
Of,
$ tar -czf - file.tar | wc -c
9. Werk het bestaande tar-bestand bij
In Linux is de opdracht voor het bijwerken van een bestaand tar-bestand als volgt:
$ tar rvf file.tar *.txt
10. Inhoudslijst en beschrijf het tar-bestand met de tf-optie
Deze optie helpt ons om de lijst van het hele archiefbestand weer te geven. We kunnen ook bepaalde inhoud in elk tar-bestand vermelden.
De opdracht is als volgt:
verklaring dekking
$ tar tf file.tar
11. Bekijk het archief met de optie -tvf
In Linux kunnen we de optie -tvf gebruiken om het archief te bekijken.
De opdracht is als volgt:
$ tar -tvf file.tar
12. Geef de bestandsnaam door als argument om een tar-bestand te vinden
Met deze optie kunnen de gearchiveerde bestanden met hun informatie worden bekeken.
De opdracht is als volgt:
$ tar tvf file.tar filename
13. Pipe gebruiken voor het genereren van 'grep-commando' om te zoeken waarnaar we zoeken
Deze optie helpt ons om alleen de genoemde afbeelding of tekst weer te geven greep via gearchiveerde bestanden.
De opdracht is als volgt:
$ tar tvf file.tar | grep 'filename.file'
Of,
$ tar tvf file.tar | grep 'text to search'
Inleiding tot jokertekens
Als alternatief worden jokertekens in Linux een jokerteken of wild-teken genoemd. Het is een symbool dat wordt gebruikt voor het vertegenwoordigen of vervangen van meerdere tekens.
Jokertekens zijn doorgaans een vraagteken (?) dat een individueel teken illustreert, of een asterisk (*) dat meerdere tekens illustreert.
Voorbeeld-
14. Zoek een afbeelding in .webp-indeling
Het zal ons helpen om alleen bestanden samen met de .webp-extensie uit het file.tar-archief te extraheren. De optie -wildcards informeert tar over de interpretatie van jokertekens in de uit te pakken bestandsnaam.
De naam van het bestand (*.webp) wordt tussen enkele aanhalingstekens geplaatst om het jokerteken (*) te beschermen tegen onjuist uitvouwen door een shell.
De opdracht is als volgt:
$ tar tvf file.tar --wildcards '*.webp'
Opmerking: In de bovenstaande opdracht wordt het symbool '*' toegepast op de positie van de naam van het bestand om elk bestand dat beschikbaar is in die specifieke map te nemen.
15. Verwijder bestanden uit het tar-archief
We kunnen de optie --delete gebruiken voor het verwijderen van bestanden en een tar-archief.
De opdracht is als volgt:
$ tar --delete -f archive.tar file_name
Voorbeeld:
tar -delete -f file.tar hello1.txt
Uitgang:
hallo1.txt bestand is verwijderd uit het file.tar-archief: