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

NAAM

bzip2, bunzip2 - een blok-sorterende bestandscompressor, v1.0.2bzcat - decomprimeert bestanden naar stdoutbzip2recover - herstelt gegevens van beschadigde bzip2-bestanden

KORTE INHOUD

bzip2 -cdfkqstvzVL123456789 bestandsnamen … bunzip2 -fkvsVL bestandsnamen … bzcat -s bestandsnamen … bzip2recover bestandsnaam

OMSCHRIJVING

bzip2 comprimeert bestanden met behulp van het Burrows-Wheeler-algoritme voor het sorteren van tekstrotatie en Huffman-codering. Compressie is over het algemeen aanzienlijk beter dan die van meer conventionele LZ77 / LZ78-gebaseerde compressoren, en benadert de prestaties van de PPM-familie van statistische compressoren.

De opdrachtregelopties lijken opzettelijk veel op die van GNU gzip, maar ze zijn niet identiek.

bzip2 verwacht een lijst met bestandsnamen bij de opdrachtregelvlaggen. Elk bestand wordt vervangen door een gecomprimeerde versie van zichzelf, met de naam "original_name.bz2". Elk gecomprimeerd bestand heeft dezelfde wijzigingsdatum, machtigingen en indien mogelijk eigendom als het corresponderende origineel, zodat deze eigenschappen correct kunnen worden hersteld tijdens de decompressietijd. Bestandsnaamafhandeling is naïef, in die zin dat er geen mechanisme is voor het behoud van originele bestandsnamen, machtigingen, eigendomsrechten of datums in bestandssystemen die deze concepten missen, of die ernstige bestandsnaamlengtebeperkingen hebben, zoals MS-DOS.

bzip2 en bunzip2 zal standaard bestaande bestanden niet overschrijven. Als u wilt dat dit gebeurt, geeft u de vlag -f op.

Als er geen bestandsnamen zijn opgegeven, bzip2 comprimeert van standaard invoer naar standaard uitvoer. In dit geval, bzip2 zal weigeren gecomprimeerde uitvoer naar een terminal te schrijven, omdat dit volledig onbegrijpelijk en daarom zinloos zou zijn.

bunzip2 (of bzip2 -d) decomprimeert alle opgegeven bestanden. Bestanden die niet zijn gemaakt door bzip2 wordt gedetecteerd en genegeerd en er wordt een waarschuwing uitgegeven. bzip2 probeert de bestandsnaam voor het gedecomprimeerde bestand als volgt te raden aan die van het gecomprimeerde bestand:

filename.bz2 wordt bestandsnaam filename.bz wordt bestandsnaam filename.tbz2 wordt bestandsnaam.tar filename.tbz wordt bestandsnaam.tar anyothername wordt anyothername.out

Als het bestand niet eindigt in een van de erkende uitgangen, .bz2, .bz, .tbz2 of .tbz, bzip2 klaagt dat het de naam van het originele bestand niet kan raden, en gebruikt de oorspronkelijke naam met .uit bijgevoegd.

Net als bij compressie veroorzaakt het leveren van geen bestandsnamen decompressie van standaardinvoer naar standaarduitvoer.

bunzip2 zal een bestand correct decomprimeren dat de aaneenschakeling is van twee of meer gecomprimeerde bestanden. Het resultaat is de aaneenschakeling van de overeenkomstige niet-gecomprimeerde bestanden. Integriteitstesten (-t) van samengevoegde gecomprimeerde bestanden worden ook ondersteund.

U kunt ook bestanden comprimeren of decomprimeren naar de standaarduitvoer door de vlag -c te geven. Meerdere bestanden kunnen op deze manier worden gecomprimeerd en gedecomprimeerd. De resulterende uitgangen worden sequentieel naar stdout gevoerd. Compressie van meerdere bestanden op deze manier genereert een stream die meerdere gecomprimeerde bestandsrepresentaties bevat. Zo'n stream kan alleen correct worden gedecomprimeerd door bzip2 versie 0.9.0 of later. Eerdere versies van bzip2 stopt na het decomprimeren van het eerste bestand in de stream.

bzcat (of bzip2 -dc) decomprimeert alle opgegeven bestanden naar de standaarduitvoer.

bzip2 zal argumenten uit de omgevingsvariabelen lezen BZIP2 en bzip, in die volgorde, en zal ze verwerken voordat argumenten worden gelezen van de opdrachtregel. Dit biedt een handige manier om standaardargumenten te leveren.

Compressie wordt altijd uitgevoerd, zelfs als het gecomprimeerde bestand iets groter is dan het origineel. Bestanden van minder dan ongeveer honderd bytes hebben de neiging groter te worden, aangezien het compressiemechanisme een constante overhead heeft in het gebied van 50 bytes. Willekeurige gegevens (inclusief de uitvoer van de meeste bestandscompressoren) zijn gecodeerd op ongeveer 8,05 bits per byte, wat een uitzetting van ongeveer 0,5% oplevert.

Als een zelfcontrole voor uw bescherming, bzip2 maakt gebruik van 32-bit CRC's om ervoor te zorgen dat de gedecomprimeerde versie van een bestand identiek is aan het origineel. Dit biedt bescherming tegen beschadiging van de gecomprimeerde gegevens en tegen ongedetecteerde fouten in bzip2 (hopelijk zeer onwaarschijnlijk). De kans dat datacorruptie onopgemerkt blijft, is microscopisch, ongeveer één kans op vier miljard voor elk verwerkt bestand. Houd er echter rekening mee dat de controle op decompressie plaatsvindt, zodat deze u alleen kan vertellen dat er iets mis is. Het kan u niet helpen de originele ongecomprimeerde gegevens te herstellen. Je kunt gebruiken bzip2recover om gegevens te herstellen van beschadigde bestanden.

Retourwaarden: 0 voor een normale exit, 1 voor milieuproblemen (bestand niet gevonden, ongeldige vlaggen, I / O-fouten, & c), 2 om een ​​corrupt gecomprimeerd bestand aan te geven, 3 voor een interne consistentiefout (bijv. Bug) die heeft veroorzaakt bzip2 in paniek raken.

OPTIES

-c --stdout

Comprimeer of decomprimeer naar standaarduitvoer.

-d --decomprimeren

Forceer decompressie. bzip2, bunzip2 en bzcat zijn in feite hetzelfde programma, en de beslissing over welke acties moeten worden ondernomen, wordt gedaan op basis van welke naam wordt gebruikt. Deze vlag heft dit mechanisme op en dwingt bzip2 decomprimeren.

-z --comprimeren

De aanvulling op -d: forceert compressie, ongeacht de naam van de aanroeping.

-t - test

Controleer de integriteit van het / de opgegeven bestand (en), maar decomprimeer ze niet. Dit voert echt een proefdecompressie uit en gooit het resultaat weg.

-f --force

Forceer overschrijven van uitvoerbestanden. Normaal gesproken, bzip2 zal bestaande uitvoerbestanden niet overschrijven. Ook krachten bzip2 om harde koppelingen naar bestanden te verbreken, wat het anders niet zou doen.

bzip2 weigert normaal om bestanden te decomprimeren die niet over de juiste magic header bytes beschikken. Indien geforceerd (-f), zal het dergelijke bestanden echter ongewijzigd doorgeven. Dit is hoe GNU gzip zich gedraagt.

-k - hou

Bewaar (verwijder niet) invoerbestanden tijdens compressie of decompressie.

-s - klein

Minder geheugengebruik, voor compressie, decompressie en testen. Bestanden worden gedecomprimeerd en getest met behulp van een aangepast algoritme dat slechts 2,5 bytes per blokbyte nodig heeft. Dit betekent dat elk bestand kan worden gedecomprimeerd in 2300.000 geheugen, zij het met ongeveer de helft van de normale snelheid.

Tijdens de compressie selecteert -s een blokgrootte van 200.000, waardoor het geheugengebruik tot ongeveer hetzelfde cijfer wordt beperkt, ten koste van uw compressieverhouding. Kortom, als uw machine weinig geheugen heeft (8 megabytes of minder), gebruikt u -s voor alles. Zie GEHEUGENBEHEER hieronder.

-q - rustig

Onderdruk niet-essentiële waarschuwingsberichten. Berichten met betrekking tot I / O-fouten en andere kritieke gebeurtenissen worden niet onderdrukt.

-v --verbose

Uitgebreide modus - toon de compressieverhouding voor elk verwerkt bestand. Verdere -v's verhogen het breedsprakigheidsniveau en spuwen veel informatie uit die vooral van belang is voor diagnostische doeleinden.

-L --licentie -V - versie

Toon de softwareversie, licentievoorwaarden.

-1 (of --fast) to -9 (of --best)

Stel de blokgrootte in op 100 k, 200 k … 900 k wanneer u comprimeert. Heeft geen effect bij het decomprimeren. Zie GEHEUGENBEHEER hieronder. De --fast en - beste aliassen zijn hoofdzakelijk voor GNU gzip-compatibiliteit. In het bijzonder maakt --fast het niet veel sneller. En --best selecteert alleen het standaardgedrag.

Behandelt alle volgende argumenten als bestandsnamen, zelfs als ze beginnen met een liggend streepje. Dit is zodat u bestanden kunt behandelen met namen die beginnen met een streepje, bijvoorbeeld: bzip2 - -mybestandsnaam.

- repetitief - snel - bestendig - best

Deze vlaggen zijn overbodig in versie 0.9.5 en hoger. Ze zorgden in eerdere versies voor wat grofkorrelige controle over het gedrag van het sorteeralgoritme, wat soms handig was. 0.9.5 en hoger hebben een verbeterd algoritme dat deze vlaggen irrelevant maakt.

Belangrijk: Gebruik de man commando ( % man ) om te zien hoe een opdracht wordt gebruikt op uw specifieke computer.

gerelateerde artikelen

  • Linux Command: comprimeren
  • Voorbeeldgebruik van de Linux shell-opdracht "bzip2"