Hur man packar upp en tar.gz-fil
Om du använder programvara med öppen källkod är det troligt att du kommer att stöta på en .tar-fil någon gång. Verktyget för öppen källkodstjärna har funnits sedan 1979 , så det är verkligen allestädes närvarande i POSIX-världen. Syftet är enkelt: Det tar en eller flera filer och ”slår” dem in i en fristående fil, kallad ett bandarkiv, för när tjära uppfanns användes den för att placera data på lagringstejp.
Människor som är nya i tjäraformatet likställer det vanligtvis med en .zip-fil, men ett tjärarkiv är särskilt inte komprimerat. Tjäraformatet skapar bara en behållare för filer, men filerna kan komprimeras med separata verktyg. Vanliga komprimeringar som tillämpas på en .tar-fil är Gzip, bzip2 och xz. Det är därför du sällan bara ser en .tar-fil och oftare stöter på .tar.gz- eller .tgz-filer.
Installera tjära
På Linux, BSD, Illumos och till och med Mac OS är tar-kommandot redan installerat åt dig.
På Windows är det enklaste sättet att hantera .tar-filer är att insta Låt LGPL-källkodens 7-Zip-verktyg användas. Namnet antyder att det är ett ”zip-verktyg”, men det fungerar också med tjärarkiv, och till och med ger kommandon för cmd-kommandoradsgränssnittet.
Om du verkligen vill ha ett verkligt tjärverktyg på Windows är GNU-tjära kan installeras via WSL på Windows 10 eller via Cygwin.
Skapa en tarball
Ett tjärarkiv kallas ofta för en tarball, förmodligen för att vi hackare älskar att förkorta ord till så få stavelser. som möjligt, och ”tarball” är kortare och enklare än ”tar-arkiv.”
I ett GUI är att skapa en tarball högst en trestegsprocess. Jag använder KDE, men processen är i princip densamma på Gnome eller XFCE:
- Skapa en katalog
- Placera dina filer i katalogen
- Högerklicka på katalogen och välj ”Komprimera”
compress.jpg
Skapa en tarball
I ett skal är det i princip samma process.
Att samla en gr upp filer i ett arkiv, placera dina filer i en katalog och anropa sedan tar, ge ett namn för arkivet som du vill skapa och katalogen du vill arkivera:
Tjärverktyget är unikt bland kommandon, eftersom det inte kräver bindestreck framför sina korta alternativ, så att kraftanvändare kan förkorta komplexa kommandon så här:
Du behöver inte lägga in filer i en katalog innan du arkiverar dem, men det anses vara dålig etikett att inte göra det, för ingen vill att 50 filer ska spridas ut på skrivbordet när de tar bort arkivet i en katalog. Dessa typer av arkiv kallas ibland en tarbomb, men inte alltid med en negativ konnotation. Tarbombs är användbara för korrigeringsfiler och programvaruinstallatörer; det handlar bara om att veta när man ska använda dem och när man ska undvika dem.
Komprimera arkiv
Att skapa ett tjärarkiv komprimerar inte dina filer, det gör dem bara lättare att flytta runt som en blob. För komprimering kan du låta tjäranrop Gzip eller bzip:
$ tar --create --bzip2 --file foo.tar.bz2 myfiles
$ tar --create --gzip --file foo.tar.gz myfiles
Vanliga tillägg är tar.gz och .tgz för en zippad tjära och .tbz och .tar.bz2 för en bzipped tar-fil.
Extrahera arkiv
Om du har fått en tarball från en vän eller ett mjukvaruprojekt kan du extrahera det antingen på ditt GUI-skrivbord eller i ett skal. I ett användargränssnitt högerklickar du på det arkiv du vill extrahera och väljer ”Extrahera.”
extract_0.jpg
Extrahera ett arkiv
Dolphin-filhanteraren erbjuder en funktion för att automatiskt upptäcka om filerna som extraheras från ett arkiv finns i en katalog eller om en ny katalog behöver skapas för dem. Jag använder det här alternativet så att när jag extraherar filer från en tarbomb förblir de snygga och innehållna.
I ett skal är kommandot att extrahera ett arkiv ganska intuitivt:
Power-användare förkortar detta till:
Du kan till och med använda tjärverktyget för att packa upp .zip-filer:
Avancerad tjära
Tjärverktygen är mycket robusta och flexibla. När du väl är nöjd med grunderna är det användbart att utforska andra funktioner.
Lägg till en fil eller katalog i en befintlig tarball
Om du har en befintlig tarball och vill lägg till en ny fil i den, du behöver inte arkivera allt bara för att lägga till en ny fil.
De flesta Linux- och BSD-datorer levereras med ett grafiskt arkivverktyg. Med den kan du öppna ett tjärarkiv som om det vore någon annan katalog, titta inuti, extrahera enskilda filer, lägg till filer i den och till och med förhandsgranska textfiler och bilder som den innehåller.
ark.jpg
Ark arkivverktyg
I skalet kan du lägga till en fil eller katalog i ett tararkiv så länge den inte är komprimerad. Om ditt arkiv har komprimerats måste du packa upp det, men du behöver inte ta bort arkivet.
Till exempel om ett arkiv har komprimerats med Gzip:
$ gunzip archive.tar.gz
$ ls
archive.tar
Nu när du har ett okomprimerat tjärarkiv, lägg till en fil och en katalog till den:
$ tar --append --file archive.tar foo.txt
$ tar --append --file archive.tar bar/
Den kortare versionen:
$ tar rf archive.tar foo.txt
$ tar rf archive.tar bar/
Visa en lista över filer i en tarball
För att se filerna i ett arkiv, komprimerat eller okomprimerat, använd – listalternativ:
$ tar --list --file archive.tar.gz
myfiles/
myfiles/one
myfiles/two
myfiles/three
bar/
bar/four
foo.txt
Power-användare förkortar detta till:
Extrahera bara en fil eller katalog
Ibland behöver du inte alla filerna i ett arkiv, du vill bara extrahera en eller två. När du har listat innehållet i ett tjärarkiv använder du det vanliga tjaraxtraktkommandot tillsammans med sökväg till filen du vill extrahera:
$ tar xvf archive.tar.gz bar/four
bar/four
Extrahera flera filer eller kataloger är i princip densamma:
$ tar xvf archive.tar.gz myfiles/one bar/four
myfiles/one
bar/four
Du kan till och med använda jokertecken:
$ tar xvf archive.tar.gz --wildcards "*.txt"
foo.txt
Extrahera en tarball till en annan katalog
Tidigare nämnde jag att vissa tarballs var tarbombar som lämnade filer spridda runt din dator. Om du listar ett tjärarkiv och ser att dess filer inte finns i en katalog kan du skapa en målkatalog för dem:
$ tar --list --file archive.tar.gz
foo
bar
baz
$ mkdir newfiles
$ tar xvf archive.tar.gz -C newfiles
Detta placerar alla filerna i arkivet prydligt i katalogen ”newfiles”.
Destinationskatalogalternativet är användbart för mycket mer än bara att hålla extraherade filer snygga, till exempel för att distribuera filer som är avsedda att kopieras till en befintlig katalogstruktur. Om du arbetar på en webbplats och vill skicka administratören några nya filer kan du göra det på flera olika sätt. Det uppenbara sättet är att skicka filerna till webbplatsadministratören tillsammans med lite text som förklarar var varje fil ska vara placerad: ”Den bifogade index.php-filen går till /var/www/example.com/store, och filen vouchers.php går till /var/www/example.com/deals …”
Det effektivare sättet skulle vara att skapa ett tjärarkiv:
Med tanke på denna struktur kan webbplatsadministratören extrahera ditt inkommande arkiv direkt till serverns rotkatalog. Tjärverktyget upptäcker automatiskt förekomsten av /var/www/exempel.com såväl som underkatalogens butik, erbjudanden och bilder och distribuerar filerna i rätt kataloger. Det är masskopiering och klistra in, görs snabbt och enkelt.
GNU-tjära och BSD-tjära
Tjärformatet är bara ett format och det är ett öppet format, så det kan skapas med mer än bara ett verktyg.
Det finns två vanliga tjärverktyg: GNU-tarverktyget, installerat som standard på Linux-system och BSD-tarverktyget, installerat som standard på BSD, Mac OS och några Linux-system. För allmänt bruk kommer antingen tjära att göra. Alla exempel i den här artikeln fungerar till exempel på antingen GNU- eller BSD-tjära. De två verktygen har emellertid några mindre skillnader, så när du väl känner dig bekväm med den ena bör du prova den andra.
Du kommer antagligen att behöva installera den ”andra” tjäran (vad det än kan vara på ditt system) manuellt. För att undvika förvirring mellan verktyg kallas GNU tar ofta gtar och BSD tar heter bsdtar, med kommandot tjära som en symlink eller ett alias till den som förinstallerades på din dator.