Vil du udpakke en enkelt fil eller mappe fra et TAR- eller TAR.GZ-arkiv? Sådan kan du gøre det på Linux ved hjælp af tar-kommandoen.

En tarball (TAR eller TAR.GZ) er et sæt filer bundtet sammen som et enkelt arkiv, hvilket gør det nemt at gemme og overføre et stort antal filer lokalt eller over internettet. Når du har brug for filerne, kan du blot udpakke arkivet.

Overvej et scenario, hvor du kun kræver en enkelt fil ud af et stort arkiv. I et sådant tilfælde kan du i stedet for at udpakke hele arkivet kun udpakke den fil, du har brug for. Lad os se hvordan.

Se indholdet af en Tarball

Hvis du blot ønsker at se indholdet af en TAR- eller TAR.GZ-fil, du behøver ikke at udtrække det. Brug i stedet følgende kommando til at se, hvad der er indeni:

tar -tvf [archive.tar]
tar -ztvf [archive.tar.gz]

Dette vil udskrive listen over alle filer og mapper inde i arkivet.

Uddrag en enkelt fil fra Tarball

For at udpakke en enkelt fil fra TAR eller TAR.GZ skal du bruge følgende kommandoformat:

tar -xvf [archive.tar] [sti-til-fil]
tar -zxvf [archive.tar.gz] [sti-til-fil]
instagram viewer

Husk, at du skal angive den fulde sti til den fil, du vil udpakke. Du kan finde den fulde sti til filen eller mappen ved hjælp af tar -tvf [archive.tar] kommando.

For at udpakke en fil test1.txt fra test.tar og test.tar.gz filer, ville kommandoerne være:

tar -xvf test.tar test1.txt
tar -zxvf test.tar.gz test1.txt

...hvor:

  1. -x bruges til at udpakke filer fra arkivet
  2. -v bruges til at se fremskridt, mens de udvindes
  3. -f bruges til at angive tarball-navnet
  4. -z bruges til at dekomprimere TAR.GZ-filer

Disse kommandoer vil udpakke den angivne fil i den aktuelle terminalmappe.

Uddrag en enkelt mappe fra Tarball

På samme måde kan du også udtrække en enkelt mappe fra en tarball ved hjælp af følgende syntaks:

tar xvf [archive.tar] [sti-til-mappe]
tar -zxvf [archive.tar.gz] [sti-til-mappe]

For eksempel at udtrække en hel test 1 undermappe fra test.tar arkiv, skal du angive den fulde sti til mappen, dvs. test/test1:

tar -xvf test.tar test/test1

Dette vil udpakke hele underbiblioteket test/test1 i den aktuelle terminalmappe.

Udpak en enkelt fil eller mappe til en anden mappe

Du kan også udpak en fil eller et bibliotek fra en tarball til en anden mappe. Til dette skal du bruge samme syntaks som ovenfor, men tilføje -C valgmulighed efterfulgt af destinationsmappen:

tar -xvf [archive.tar] -C [destination_directory] [fil-eller-mappe]
tar -zxvf [archive.tar.gz] -C [destination_directory] [fil-eller-mappe]

Lad os sige, at vi vil udtrække en mappe test 2 fra test.tar arkiv til Downloads mappe i stedet for den nuværende arbejdsmappe. Kommandoen i dette tilfælde ville være:

tar -xvf test.tar -C ~/Downloads/ test/test2

Slet en enkelt fil eller mappe fra en Tarball

Hvis du har brug for at slette en enkelt fil eller mappe fra en TAR- eller TAR.GZ-fil, skal du bruge --slet mulighed med tar-kommandoen:

tar -vf [archive.tar] --slet [fil-eller-mappe]

Du kan dog ikke slette en fil eller mappe direkte fra en komprimeret tarball (TAR.GZ). Det du skal gøre er først at dekomprimere filen TAR.GZ, slette filen eller mappen og derefter komprimere den igen.

For at dekomprimere filen TAR.GZ skal du bruge følgende kommando:

gzip -d [archive.tar.gz]

Dekomprimering vil konvertere filen til en TAR. Nu kan du slette filen fra TAR-arkivet ved at bruge:

tar -vf [archive.tar] --slet [fil-eller-mappe]

Derefter skal du komprimere TAR-filen igen ved hjælp af gzip:

gzip -f [archive.tar]

Spar tid, mens du arbejder med arkiver på Linux

Udpakning af kun de nødvendige filer fra et arkiv forhindrer ikke kun rod, men sparer også tid, som ellers ville blive brugt på at søge gennem et stort antal filer.

Nogle gange resulterer oprettelse og udpakning af TAR-filer i duplikerede filer i dit system. Derfor er det en god praksis at identificere og fjerne disse dubletter med jævne mellemrum for at rydde op i din plads.