Skip to main content

Bunzip2 - Linux Command

Compressing with Gzip and Bzip2 in Linux (Juni 2026)

Compressing with Gzip and Bzip2 in Linux (Juni 2026)
Anonim

NAMN

bzip2, bunzip2 - en block-sortering filkompressor, v1.0.2bzcat - dekomprimerar filer till stdoutbzip2recover - återställer data från skadade bzip2-filer

SYNOPSIS

bzip2 -cdfkqstvzVL123456789 filnamn … bunzip2 -fkvsVL filnamn … bzcat -s filnamn … bzip2recover filnamn

BESKRIVNING

bzip2 komprimerar filer med hjälp av Burrows-Wheeler-block sorteringstextkomprimeringsalgoritmen och Huffman-kodning. Komprimering är i allmänhet betydligt bättre än den som uppnås av mer konventionella LZ77 / LZ78-baserade kompressorer, och närmar sig prestanda hos PPM-familjen för statistiska kompressorer.

Kommandoradsalternativen är medvetet mycket liknar GNU gzip, men de är inte identiska.

bzip2 förväntar sig en lista med filnamn som ska följa kommandoradsflaggarna. Varje fil ersätts av en komprimerad version av sig själv, med namnet "original_name.bz2". Varje komprimerad fil har samma ändringsdatum, behörigheter och, när det är möjligt, ägande som motsvarande original, så att dessa egenskaper kan återställas korrekt vid dekompressionstiden. Filnamnhantering är naiv i den meningen att det inte finns någon mekanism för att bevara ursprungliga filnamn, behörigheter, äganderätt eller datum i filsystem som saknar dessa begrepp eller har allvarliga filnamnslängdsbegränsningar, som MS-DOS.

bzip2 och bunzip2 kommer som standard inte skriva över befintliga filer. Om du vill att detta ska hända, ange -f-flaggan.

Om inga filnamn anges, bzip2 komprimerar från standardinmatning till standardutgång. I detta fall, bzip2 kommer att minska för att skriva komprimerad utgång till en terminal, eftersom detta skulle vara helt oförståeligt och därför meningslöst.

bunzip2 (eller bzip2-d) dekomprimerar alla angivna filer. Filer som inte skapades av bzip2 kommer att upptäckas och ignoreras och en varning utfärdas. bzip2 försöker gissa filnamnet för den dekomprimerade filen från den komprimerade filen enligt följande:

filename.bz2 blir filnamn filnamn.bz blir filnamn filename.tbz2 blir filename.tar filename.tbz blir filename.tar anyothername blir anyothername.out

Om filen inte slutar i en av de erkända slutet, .bz2, .bz, .tbz2 eller .tbz, bzip2 klagar på att den inte kan gissa namnet på den ursprungliga filen och använder det ursprungliga namnet med .ut bifogas.

Precis som vid komprimering orsakar leverans av inga filnamn dekompression från standardinmatning till standardutmatning.

bunzip2 kommer korrekt dekomprimera en fil som är sammanbindningen av två eller flera komprimerade filer. Resultatet är sammanlänkningen av motsvarande okomprimerade filer. Integritetsprovning (-t) av sammanlänkade komprimerade filer stöds också.

Du kan också komprimera eller dekomprimera filer till standardutmatningen genom att ge -c-flaggan. Flera filer kan komprimeras och dekomprimeras så här. De resulterande utgångarna matas i följd till stdout. Komprimering av flera filer på detta sätt genererar en ström innehållande flera komprimerade filrepresentationer. En sådan ström kan dekomprimeras korrekt endast av bzip2 version 0.9.0 eller senare. Tidigare versioner av bzip2 kommer att sluta efter dekomprimering av den första filen i strömmen.

bzcat (eller bzip2-dc) dekomprimerar alla angivna filer till standardutmatningen.

bzip2 kommer att läsa argument från miljövariablerna bZIP2 och bzip, i den ordningen, och kommer att bearbeta dem innan några argument läses från kommandoraden. Detta ger ett bekvämt sätt att leverera standardargument.

Komprimering utförs alltid, även om den komprimerade filen är något större än originalet. Filer med mindre än cirka hundra byte tenderar att bli större, eftersom komprimeringsmekanismen har en konstant överhead i området 50 byte. Slumpmässiga data (inklusive utsignalen från de flesta filkompressorer) kodas vid cirka 8,05 bitar per byte, vilket ger en expansion på omkring 0,5%.

Som självkontroll för ditt skydd, bzip2 använder 32-bitars CRC för att se till att den dekomprimerade versionen av en fil är identisk med originalen. Detta väcker mot korruption av komprimerade data, och mot oupptäckta buggar i bzip2 (förhoppningsvis mycket osannolikt). Chanserna att data korruption går oupptäckt är mikroskopisk, ungefär en chans i fyra miljarder för varje fil som behandlas. Var dock medveten om att kontrollen inträffar vid dekompression, så det kan bara säga att något är fel. Det kan inte hjälpa dig att återställa den ursprungliga okomprimerade data. Du kan använda bzip2recover för att försöka återställa data från skadade filer.

Returvärden: 0 för en normal utgång, 1 för miljöproblem (filen hittades inte, ogiltiga flaggor, I / O-fel, & c), 2 för att ange en korrupt komprimerad fil, 3 för ett internt konsekvensfel (t.ex. bzip2 att få panik.

ALTERNATIV

-c -stdout

Komprimera eller dekomprimera till standardutgång.

-d -decompress

Force dekompression. bzip2, bunzip2 och bzcat är verkligen samma program, och beslutet om vilka åtgärder som ska vidtas görs på grundval av vilket namn som används. Denna flagga åsidosätter den mekanismen och krafterna bzip2 att dekomprimera.

-z - komprimera

Komplementet till -d: tvingar komprimering, oavsett anropsnamnet.

-t-testet

Kontrollera integriteten för den angivna filen, men dekomprimera dem inte. Detta utför verkligen en provkomprimering och slänger resultatet.

-f - force

Kraftöverstrykning av utdatafiler. I vanliga fall, bzip2 kommer inte skriva över befintliga utdatafiler. Tvingar också bzip2 att bryta hårda länkar till filer, vilket det annars inte skulle göra.

bzip2 avtar vanligtvis att dekomprimera filer som inte har rätt magiska headerbyte. Om det tvingas (-f), kommer det att passera sådana filer genom omodifierad. Det här är hur GNU gzip beter sig.

-k-keep

Håll (ta inte bort) inmatningsfiler under komprimering eller dekomprimering.

-s -small

Minska minnesanvändningen, för komprimering, dekompression och testning. Filerna dekomprimeras och testas med en modifierad algoritm som endast kräver 2,5 byte per blockbyte. Det betyder att alla filer kan dekomprimeras i 2300 k minne, om än vid ungefär hälften av normalhastigheten.

Under komprimering väljer -s en blockstorlek på 200k, vilket begränsar minnesanvändningen till ungefär samma bild, på bekostnad av kompressionsförhållandet. Kort sagt, om din maskin är låg i minnet (8 megabyte eller mindre), använd-för allt. Se MEMORY MANAGEMENT nedan.

-q -quiet

Undertryck icke-väsentliga varningsmeddelanden. Meddelanden om I / O-fel och andra kritiska händelser kommer inte att undertryckas.

-v -verbose

Verbose mode - visa kompressionsförhållandet för varje bearbetad fil. Vidare -V ökar verbositetsnivån, spyder ut mycket information som främst är av intresse för diagnostiska ändamål.

-L-licens -V -version

Visa mjukvaruversionen, licensvillkoren.

-1 (eller - fast) till -9 (eller -best)

Ställ blockstorleken till 100 k, 200 k .. 900 k vid komprimering. Har ingen effekt vid dekomprimering. Se MEMORY MANAGEMENT nedan. De "fasta och" bästa aliasen är främst för GNU gzip-kompatibilitet. I synnerhet gör - fast inte sakerna betydligt snabbare. Och - Best väljer bara standardbeteendet.

Behandlar alla efterföljande argument som filnamn, även om de börjar med ett streck. Det här är så att du kan hantera filer med namn som börjar med ett streck, till exempel: bzip2 - -myfilename.

--repetitiv-snabb - upprepad bäst

Dessa flaggor är överflödiga i versionerna 0.9.5 och senare. De gav en viss grov kontroll över beteendet hos sorteringsalgoritmen i tidigare versioner, vilket ibland var användbart. 0,9,5 och högre har en förbättrad algoritm som gör dessa flaggor irrelevanta.

Viktig: Använd man kommando ( % man ) för att se hur ett kommando används på din dator.

relaterade artiklar

  • Linux Command: komprimera
  • Exempel användning av Linux-skalet Kommando "bzip2"