Vad är filformatet GZ?
En .gz-fil är en komprimerad fil skapad med verktyget GNU zip (gzip). Formatet utvecklades av Jean-loup Gailly och Mark Adler för GNU-projektet, med målet att skapa en patentfri ersättare för den äldre .Z-komprimeringen som användes på UNIX-system. .gz-filer lagrar användbar metadata i sitt huvud (header) - det ursprungliga filnamnet och en tidsstämpel för ändring - vilket kan vara till hjälp om filen byter namn under komprimeringsprocessen.
Var används .gz-komprimering?
Filer i .gz-formatet påträffas ofta i programvarupaket och installerare för Unix-baserade operativsystem. Förutom installerare används .gz-formatet också ofta för att komprimera textresurser som HTML, CSS och JavaScript på webbservrar, vilket underlättar snabbare laddning av webbsidor. Likväl används denna komprimeringsmetod även för vanlig dataarkivering, så .gz-filer kan även påträffas av Windows- och macOS-användare.
Detaljer om .gz-komprimering
Komprimeringsmetoden .gz har en viktig egenskap: ett arkiv får endast innehålla en enskild fil. Standardmetoden för att kringgå denna begränsning är att först bunta ihop flera filer med arkiveringsverktyget tar och sedan komprimera resultatet - vilket skapar en .tar.gz- eller .tgz-fil. Detta tvåstegsförfarande är de facto-standard för distribution av källkod på Linux och macOS.
Säkerhet & trygghet
RISK: LOWGzip-formatet är öppet och säkert, och en .gz är bara komprimerad data som inte kan köras av sig själv. Vanlig försiktighet med arkiv gäller: en .gz/.tar.gz från en okänd källa kan innehålla körbara filer eller skript som avslöjas först efter extrahering, så skanna innehållet innan du kör något. Två tekniska anmärkningar: extremt små .gz-filer kan expandera till enorma storlekar («dekomprimeringsbomber») - var vaksam på misstänkt små arkiv; och en .tar.gz kan innehålla sökvägar med «../» (en risk för path-traversal/«tar slip») - moderna extraherare skyddar mot detta, men extrahera okända tarballs i en tom mapp.
Formatdetaljer
i ett nötskalProgram som öppnar GZ-filer
gunzip fil.gz. Tarball: tar -xzf fil.tar.gz. Förinstallerat på i stort sett alla Linux/Unix-system. Tekniska detaljer
djup specifikation| Magic bytes | `1F 8B` vid offset 0, följt av `08` (DEFLATE-metodbyte) |
| Komprimeringsalgoritm | DEFLATE (RFC 1951); metodbyte `08` är det enda värdet som används i praktiken |
| MIME-typ | `application/gzip` |
| Filer per ström | En - `.gz` komprimerar en enskild indatafil per ström |
| Metadata i huvud | Lagrar det ursprungliga filnamnet (FNAME-flagga) och tidsstämpel för senaste ändring av källfilen |
| Integritetskontroll | CRC-32-kontrollsumma av okomprimerad data, skriven i den 8 byte långa trailern och verifierad vid extrahering |
| Storleksfält | 4-byte ISIZE i trailern innehåller den ursprungliga okomprimerade storleken modulo 2³² |
| Komprimeringsnivåer | Nio nivåer (1 = snabbast/minst komprimering, 9 = långsammast/bäst); standard är nivå 6 |
| HTTP-innehållskodning | Används som `gzip` Content-Encoding i HTTP/1.1 för att komprimera webbsvar i farten |
| Strömsammanslagning | Flera `.gz`-strömmar kan slås samman; `gunzip` dekomprimerar dem som en enda kontinuerlig utdata |
| OS-identifiering | 1-byte OS-fält i huvudet (t.ex. `03` = Unix, `00` = FAT) identifierar ursprungssystemet |
| Flaggor i huvud | Flag-byte styr valfria fält: FNAME, FCOMMENT, FEXTRA och FHCRC (header CRC-16-kontroll) |
| Kryptering | Ingen inbyggd - formatet har ingen mekanism för lösenordsskydd eller kryptering |
| Konvention för flera filer | Använd `tar` först för att bunta ihop filer, komprimera sedan: `tar czf arkiv.tar.gz filer/` skapar en `.tar.gz`-tarball |
| Strömningsdesign | Komprimerar i en enda framåtriktad genomgång; kräver inte kännedom om den totala indatastorleken innan start |
| Släppt | 1992 (gzip 1.0); format standardized as RFC 1952 (1996) |
| Öppen standard | Ja · royaltyfri |
| Specifikation | www.rfc-editor.org |
GZ-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om GZ-filer.
Vanliga frågor
Hur öppnar jag en GZ-fil?
gunzip fil.gz, eller tar -xzf fil.tar.gz för en tarball.Vad är skillnaden mellan .gz och .tar.gz?
Hur öppnar jag en GZ-fil på Windows?
Kan jag skapa en GZ-fil gratis?
gzip/tar inbyggt.Varför innehåller min GZ-fil bara en fil när jag förväntade mig många?
Hur extraherar jag en .tar.gz i ett enda steg?
tar -xzf arkiv.tar.gz. I ett grafiskt gränssnitt packar PeaZip, Keka, Ark och File Roller upp både gzip- och tar-lagren i en enda extrahering.