Android

Tar-opdracht in linux (archieven maken en uitpakken)

How to create,extract,compress tar files in linux ubuntu [ Explained ]

How to create,extract,compress tar files in linux ubuntu [ Explained ]

Inhoudsopgave:

Anonim

De opdracht tar wordt gebruikt om tar-archieven te maken door een groep bestanden om te zetten in een archief. Het heeft ook de mogelijkheid om tar-archieven te extraheren, een lijst van de bestanden in het archief weer te geven, extra bestanden aan een bestaand archief toe te voegen, evenals verschillende andere soorten bewerkingen.

Tar is oorspronkelijk ontworpen voor het maken van archieven om bestanden op magnetische tape op te slaan. Daarom heeft het de naam " T ape AR bieslook".

In deze zelfstudie laten we u zien hoe u de opdracht tar gebruikt om tar-archieven te extraheren, op te lijsten en te maken door praktische voorbeelden en gedetailleerde uitleg van de meest voorkomende tar-opties.

Tar Command Syntax

Er zijn twee versies van tar, BSD tar en GNU tar met enkele functionele verschillen tussen. De meeste Linux-systemen worden standaard geleverd met GNU-tar.

De algemene syntaxis voor de opdracht tar is als volgt:

tar

  • OPERATION - Slechts één bewerkingsargument is toegestaan ​​en vereist. De meest gebruikte bewerkingen zijn:
    • --create ( -c ) - Maak een nieuw tar-archief. --extract ( -x ) - Extraheer het hele archief of een of meer bestanden uit een archief. --list ( -t ) - Geef een lijst weer van de bestanden die in het archief zijn opgenomen
    OPTIONS - De meest gebruikte bewerkingen zijn:
    • --verbose ( -v ) - Toon de bestanden die worden verwerkt met de opdracht tar. --file=archive=name ( -f archive-name ) - Specificeert de naam van het archiefbestand.
    ARCHIVE_NAME - De naam van het archief. FILE_NAME(s) - Een door spaties gescheiden lijst met bestandsnamen die uit het archief moeten worden geëxtraheerd. Indien niet opgegeven, wordt het volledige archief uitgepakt.

Bij het uitvoeren van tar-opdrachten kunt u de lange of korte vorm van de tar bewerkingen en -opties gebruiken. De lange formulieren zijn beter leesbaar, terwijl de korte formulieren sneller te typen zijn. De lange vormopties worden voorafgegaan door een dubbel streepje ( -- ). De korte vormopties worden voorafgegaan door een enkel streepje ( - ) dat kan worden weggelaten.

Tar-archief maken

Tar ondersteunt een breed scala aan compressieprogramma's zoals gzip , bzip2 , lzip , lzma , lzop , xz en compress . Bij het maken van gecomprimeerde tar-archieven is het een geaccepteerde conventie om het compressie-achtervoegsel toe te voegen aan de archiefbestandsnaam. Als een archief bijvoorbeeld is gecomprimeerd met gzip , moet het archive.tar.gz worden genoemd.

Om een ​​tar-archief te maken, gebruikt u de optie -c gevolgd door -f en de naam van het archief.

Als u bijvoorbeeld een archief met de naam archive.tar van de bestanden met de naam file1 , file2 , file3 , voert u de volgende opdracht uit:

tar -cf archive.tar file1 file2 file3

Hier is de equivalente opdracht die de lange-vormopties gebruikt:

tar --create --file=archive.tar file1 file2 file3

U kunt archieven maken op basis van de inhoud van een of meer mappen of bestanden. Standaard worden mappen recursief gearchiveerd tenzij de optie --no-recursion is opgegeven.

In het volgende voorbeeld wordt een archief met de naam user_backup.tar van de map /home/user :

tar -cf backup.tar /home/user

Gebruik de optie -v als u de bestanden wilt zien die worden verwerkt.

Tar Gz-archief maken

Gzip is het meest populaire algoritme voor het comprimeren van tar-bestanden. Bij het comprimeren van tar-archieven met gzip moet de archiefnaam eindigen op tar.gz of tgz .

De optie -z vertelt tar dat het archief moet worden gecomprimeerd met behulp van het gzip algoritme terwijl het wordt gemaakt. Als u bijvoorbeeld een tar.gz-archief van bepaalde bestanden wilt maken, gebruikt u de volgende opdracht:

tar -czf archive.tar.gz file1 file2

Tar Bz2-archief maken

Een ander populair algoritme voor het comprimeren van tar-bestanden is bzip2. Bij het comprimeren van tar-archieven met bzip2 moet de archiefnaam eindigen op tar.bz2 of tbz .

Wanneer de optie -j is opgegeven, gebruikt tar het algoritme bzip2 om het archief te comprimeren. De volgende opdracht maakt een tar.bz2 archief van de gegeven bestanden:

tar -cjf archive.tar.bz2 file1 file2

Lijst met teerarchieven

In combinatie met de optie --list ( -t ) geeft de opdracht tar de inhoud van een tar-archief weer zonder deze uit te pakken. De onderstaande opdracht geeft de inhoud van het bestand archive.tar :

tar -tf archive.tar De uitvoer toont de namen van alle bestanden in het archief:

file1 file2 file3

Gebruik de optie --verbose ( -v ) voor meer informatie, zoals de bestandseigenaar, de bestandsgrootte en de tijdstempel:

tar -tvf archive.tar

-rw-r--r-- linuxize/users 0 2018-09-08 01:19 file1 -rw-r--r-- linuxize/users 0 2018-09-08 01:19 file2 -rw-r--r-- linuxize/users 0 2018-09-08 01:19 file3

Teerarchief extraheren

De meeste gearchiveerde bestanden in Linux worden gearchiveerd en gecomprimeerd met een tar of tar.gz-indeling. Weten hoe deze bestanden uit de opdrachtregel moeten worden gehaald, is belangrijk.

Om een ​​tar-archief uit te pakken, gebruikt u de optie --extract ( -x ) gevolgd door de archiefnaam:

tar -xf archive.tar

Het is ook gebruikelijk om de optie -v toe te voegen om de namen van de uitgepakte bestanden af ​​te drukken.

tar -xvf archive.tar

Tar-archief uitpakken in een andere map

Standaard extraheert tar de archiefinhoud in de huidige werkmap. Gebruik de --directory ( -C ) om archiefbestanden in een specifieke map uit te pakken:

Als u bijvoorbeeld de inhoud van het archief naar de map /opt/files wilt extraheren, kunt u het volgende gebruiken:

tar -xf archive.tar -C /opt/files

Tar Gz- en Tar Bz2-archieven uitpakken

Bij het extraheren van gecomprimeerde archieven zoals tar.gz of tar.bz2 hoeft u geen decompressieoptie op te geven. De opdracht is hetzelfde als bij het extraheren van tar archief:

tar -xf archive.tar.gz

tar -xf archive.tar.bz2

Specifieke bestanden uitpakken uit een teerarchief

Soms hoeft u in plaats van het hele archief uit te pakken, er slechts enkele bestanden uit te halen.

Om een ​​specifiek bestand (en) uit een tar-archief te extraheren, voegt u een door spaties gescheiden lijst met bestandsnamen toe die moeten worden uitgepakt na de archiefnaam:

tar -xf archive.tar file1 file2

Bij het uitpakken van bestanden moet u hun exacte namen --list , inclusief het pad, zoals afgedrukt door --list ( -t ).

Het extraheren van een of meer mappen uit een archief is hetzelfde als het extraheren van bestanden:

tar -xf archive.tar dir1 dir2

tar -xf archive.tar README

tar: README: Not found in archive tar: Exiting with failure status due to previous errors

Bestanden uit een Tar Archive extraheren met Wildcard

Om bestanden uit een archief te extraheren op basis van een wildcard-patroon, gebruikt u de schakelaar --wildcards en citeert u het patroon om te voorkomen dat de shell het interpreteert.

Als u bijvoorbeeld bestanden wilt uitpakken waarvan de naam eindigt op .js (JavaScript-bestanden), kunt u het volgende gebruiken:

tar -xf archive.tar --wildcards '*.js'

Bestanden toevoegen aan bestaand Tar Archive

Gebruik de --append ( -r ) om bestanden of mappen toe te voegen aan een bestaand tar-archief.

Als u bijvoorbeeld een bestand met de naam newfile aan archive.tar wilt toevoegen, voert u het volgende uit:

tar -rvf archive.tar newfile

Bestanden verwijderen uit een Tar Archive

Gebruik de bewerking --delete om bestanden uit een archief te verwijderen.

Het volgende voorbeeld laat zien hoe het bestand file1 uit archive.tar kan worden verwijderd:

tar --delete -f archive.tar file1

Conclusie

Het meest voorkomende gebruik van de opdracht tar is het maken en extraheren van een tar-archief. Gebruik bij het extraheren van een archief de opdracht tar -xf gevolgd door de archiefnaam en om een ​​nieuwe te maken, gebruik tar -czf gevolgd door de archiefnaam en de bestanden en mappen die u aan het archief wilt toevoegen.

Raadpleeg de Gnu tar-documentatiepagina voor meer informatie over de opdracht tar.

teerterminal