Hur man öppnar .gz- och .tgz-filer i Linux

Att packa upp filer, särskilt i Linux-miljön, är en rutinuppgift. Med den frekventa användningen av .gz- och .tgz-filer är det avgörande att förstå nyanserna hos dessa filtyper och de verktyg som används för att hantera dem. Den här guiden kommer att gräva djupt in i världen av GZ- och TGZ-filer, och erbjuda insikter och steg-för-steg-instruktioner om hur du hanterar dem effektivt.

Förstå filkomprimering i Linux

Filkomprimering är avgörande för att optimera lagring och säkerställa effektiv dataöverföring. I Linux uppnås detta med hjälp av olika verktyg och filformat, alla med unika egenskaper.

Vad gör TAR-, GZ- och TGZ-filer unika?

  • TAR-filer förklaras
    • TAR står för Tape Archive. Dess primära funktion är att bunta ihop flera filer till en enda enhet känd som en TAR-fil. Intressant nog komprimerar inte TAR dessa filer; det bara grupperar dem, vilket säkerställer att deras ursprungliga storlek förblir oförändrad.
  • Dyka in i GZ-filer
    • GZ-filer kommer från Gzip-komprimeringsverktyget. Till skillnad från TAR komprimerar Gzip filen, vilket minskar dess storlek. Det är dock värt att notera att Gzip komprimerar enskilda filer. Så om du har flera filer kommer Gzip att producera ett motsvarande antal GZ-filer. Denna komprimeringsmetod är en stapelvara i Linux- och Unix-system.
  • The Fusion: TAR.GZ-filer
    • En TAR.GZ-fil är i huvudsak en TAR-fil som har komprimerats med Gzip. Det är en hybrid som kombinerar TAR:s grupperingsförmåga med Gzips kompressionsförmåga. Denna filtyp finns främst i Linux- och Unix-system.
  • TGZ: En synonym för TAR.GZ
    • TAR.GZ-filer kallas ofta TGZ-filer. De är i huvudsak samma, bara namngivna annorlunda för bekvämlighets skull.
  • ZIP-filer: En snabböversikt
    • ZIP-filer, som TAR, paketerar flera filer. Men de komprimerar också dessa filer, liknande GZ. Även om ZIP-filer finns överallt i olika operativsystem, är de oftast associerade med Windows.

Tarball eller Tarfile: Vad finns i ett namn?

Termen tarball eller tarfile används i vardagsspråk för att beskriva arkivfiler i specifika TAR-format:

  • TAR-fil: I huvudsak en bandarkivfil.
  • TAR.GZ eller TGZ-fil: Det är när TAR-filen genomgår Gzip-komprimering.
  • TAR.BZ2- eller TBZ-fil: Detta format uppstår när Bzip2-komprimering tillämpas på TAR-filen.

En tarball är i grunden en samling filer buntade tillsammans. Tar kommandot producerar dessa filer. Även om tar inte i sig stöder komprimering, samarbetar den ofta med komprimeringsverktyg som Gzip eller Bzip2 för att spara diskutrymme. Dessa verktyg komprimerar vanligtvis enstaka filer, så de samverkar med tar för att skapa en enda fil från flera filer.

Tar & Gzip/Gunzip för GZ & TGZ-filer i Linux

Tar och Gzip är trogna i Linux-ekosystemet, kända för sina filarkiverings- och komprimeringsmöjligheter. Även om de ofta arbetar i tandem, tjänar de olika syften:

  • Tar Utilitys roll
    • Tar sammanför flera filer till ett enda arkiv, ofta kallat en tarball. Detta arkiv behåller de inkapslade filernas filsystemattribut, såsom behörigheter och ägande. Efter skapandet kan användare fortfarande ändra arkivet, lägga till eller ta bort filer eller justera filnamn om det inte är komprimerat. De tar kommandot är utgångspunkten för att hantera TAR- och TAR.GZ-filer i Linux, vilket underlättar deras skapande, modifiering och extrahering.
    • Historiskt sett var tarballs det föredragna backupmediet, överfört till lokala bandenheter, därav namnet Tape Archive (Tar). Även om Tar inte komprimerar filer, innebär modern användning undantagslöst komprimering för att spara diskutrymme och underlätta överföringar mellan system.
    • Tjära är mångsidig och stöder en uppsjö av kompressionsmetoder. Verktygen Gzip/Gunzip och Bzip2/Bunzip2 dominerar, med Tar-Gzip-alliansen som växer fram som den främsta filarkiveringslösningen för Linux.
  • Gzip i Linux-landskapet
    • Gzip är Linuxs främsta filkomprimeringsverktyg. Det kan fungera oberoende och komprimera enskilda filer. När Gzip komprimerar en fil föder den en ny komprimerad variant, medan originalet vanligtvis kasseras. Den resulterande komprimerade filen har inte tillägget GZ. Följaktligen, när Gzip samarbetar med Tar, antar det komprimerade arkivet tillägget TAR.GZ eller TGZ.
    • Gzip vs. Zip: Medan Gzip använder samma komprimeringsalgoritm som det välkända Windows-verktyget Zip, finns det en grundläggande skillnad. Gzip komprimerar enstaka filer. Således anropas Tar först för att producera en tarball, som Gzip komprimerar. Omvänt komprimerar Zip varje fil innan den arkiveras, vilket resulterar i en marginellt större arkivstorlek. Denna komprimeringsmetod komplicerar extraheringen av enskilda filer utan att först dekomprimera hela tarballen.

Skapa och dekomprimera GZ- och TGZ-filer i Linux

Med kommandona Tar och Gzip/Gunzip kan systemadministratörer enkelt skapa och dekomprimera GZ- och TGZ-filer. I likhet med deras Linux-motsvarigheter inkluderar dessa verktyg en mängd olika flaggor som förbättrar deras funktionalitet och möjliggör anpassad användning. Eftersom Gzip/Gunzip och Tar är integrerade i de flesta Linux-distributioner, är allt som behövs SSH-åtkomst och grundläggande Linux-kommandoradskunskap.

Använder Gzip och Gunzip för .gz-filhantering

Medan kommandona Gzip och Gunzip kan dekomprimera GZ-filer i Linux, men de vacklar när de konfronteras med komprimerade Tar-arkiv. Till exempel kräver en TAR.GZ-fil, trots att den är ett Gzip-komprimerat TAR-arkiv, Tar-kommandot för dekomprimering och filextrahering.

Komprimera filer med Gzip

Gzip underlättar komprimeringen av enskilda filer, producerar en ny GZ-förlängd variant samtidigt som den ursprungliga filens behörigheter och äganderätt behålls. Som standard kasseras originalfilen efter komprimering. Detta beteende är dock föränderligt.

Låt oss utforska komprimeringen av tre filer som finns i den aktuella katalogen med hjälp av Gzip:

# Compress multiple files with GZIP
gzip -kv example1 example2 example3

Här säkerställer -k-flaggan att originalfilerna förblir intakta, medan -v-alternativet ger en realtidskomprimeringsprocent och filnamnsvisning. Kommandot ger tre nya GZ-filer i katalogen. I scenarier där -k-flaggan är otillämplig, kan -c-alternativet anropas för att bevara den ursprungliga filen.

Flaggan -c kan också användas för att ändra katalogen för den nyligen komprimerade filen eller till och med byta namn på den:

# Compress a file without deletion and relocate it to a different directory
gzip -c example1 > /home/temp/compressed_example1.gz

Inspektera GZ-filer utan dekomprimering

zcat-kommandot i Linux erbjuder en tjuvtitt på innehållet i en komprimerad fil utan att behöva dekomprimera:

# Display the contents of a GZIP compressed file
zcat compressed_example1.gz

Dekomprimerar GZ-filer

GZ-filer kan dekomprimeras i Linux genom att lägga till flaggan -d till kommandot Gzip/Gunzip. Alla tidigare diskuterade flaggor förblir tillämpliga. Som standard kasseras GZ-filen efter dekomprimering om inte -k-flaggan anropas. Låt oss dekomprimera GZ-filerna som vi tidigare komprimerade i samma katalog:

# Decompress GZ file
gzip -dv compressed_example1.gz

I detta sammanhang är följande kommandon synonyma:

Använd kommandot gunzip:

# Decompress GZ file
gunzip example.gz

Använd kommandot gzip -d:

# Decompress GZ file
gzip -d example.gz

Använda Tar för TGZ-filhantering

Tar-kommandot är avgörande för att hantera TGZ-filer i Linux. Användare kan dekomprimera ett helt arkiv eller välja specifika filer eller kataloger.

Skapa ett tar.gz-arkiv

Innan du skapar ett Gzip-komprimerat Tar-arkiv, identifiera filerna som ska inkluderas och besluta om deras grupperingsstrategi. Du kan antingen välja filer manuellt eller arkivera en hel katalog med dess underkataloger. Till skillnad från Gzip, som fungerar på enskilda filer, raderas inte originalfilerna genom att skapa ett Gzip-komprimerat Tar-arkiv.

# Construct a TGZ archive of a directory and relocate it to a different folder
tar -czvf archive.tar.gz directory_name -C /home/temp

I detta kommando:

  • c initierar arkivskapande.
  • z utlöser Gzip-komprimering.
  • v aktiverar verbose mode, erbjuder en detaljerad kommandoexekveringsutgång.
  • f anger det nya arkivets filnamn.
  • C anger en alternativ målkatalog.

Granska arkivinnehåll

Flaggan -t underlättar granskningen av innehållet i en befintlig TGZ-arkivfil. Dessutom kan användare använda pipes för att lokalisera specifika filer, särskilt i expansiva arkiv:

# Enumerate the contents of a TGZ archive
tar -tvf archive.tar.gz

Dekomprimerar tar.gz-filer

Gzip-komprimerade Tar-arkiv kan dekomprimeras med hjälp av flaggan -x (extrahera) som tillhandahålls av kommandot tar. Som standard extraherar Tar TGZ-filens innehåll och skickar dem till den aktuella arbetskatalogen. Användare kan dock ange en alternativ katalog för extrahering:

# Decompress Tar Gz file and relocate uncompressed files to a different directory
tar -xzvf archive.tar.gz -C /home/temp

Ofta kan användare behöva extrahera specifika filer eller mappar från ett TGZ-arkiv. De tar kommandot underlättar detta:

# Validate the desired file's presence in the archive
tar -tvf archive.tar.gz | grep desired_file

Eftersom filen finns i den arkiverade katalogen är direkt extrahering utan att återställa hela katalogen utmanande. Alternativet strip-components kringgår detta hinder, vilket gör att användare kan extrahera önskade filer eller kataloger utan sina överordnade mappar. Användare måste ange filen eller katalogens fullständiga sökväg för extrahering:

# Extract a specific file from the Tar Gz archive
tar -xzvf archive.tar.gz path/to/desired_file --strip-components=2

Slutsats

Att hantera GZ- och TGZ-filer är en integrerad färdighet för Linux-användare. Dessa filformat är avgörande för datakomprimering och arkivering i Linux-ekosystem. Genom att behärska Gzip- och Tar-kommandona kan användare effektivt hantera, komprimera och dekomprimera sina data, vilket säkerställer optimal lagring och dataöverföring. Oavsett om du är en erfaren Linux-användare eller nybörjare, kan förståelse av dessa kommandon och deras nyanser avsevärt effektivisera dina uppgifter och förbättra din Linux-upplevelse.

Joshua James
Följ mig
Senaste inläggen av Joshua James (se alla)

Lämna en kommentar