Bunzip2 Linux-kommando: Slik bruker du den
Hva du bør vite
- Bruk kommandoalternativet -c --stdout å komprimere/dekomprimere til standard utgang og -d --dekomprimere å tvinge dekompresjon.
- Bruk -t --test for å sjekke integriteten til spesifiserte filer. Bruk -f --kraft for å tvinge overskriving av utdatafiler. Bruk -k --behold for å beholde inndatafiler.
- Bruk -s --liten for å redusere minnebruken og -q --stille for å undertrykke advarselsmeldinger. Bruk -v --verbose for å vise filkomprimeringsforhold.
Denne artikkelen forklarer hvordan du bruker Linux bunzip2 kommando, som er en blokksorterende filkompressor som kan brukes til både å komprimere og dekomprimere data. Når du utfører bzip2 kommando uten noen alternativer, komprimerer systemet dataene som standard. bunzip2 dekomprimerer som standard, og bzcat dekomprimerer til stdout.
Bunzip2 Linux-kommandoalternativer
Liste over kommandoalternativer for bunzip2 | |
---|---|
Alternativ | Forklaring |
-c --stdout | Komprimer eller dekomprimer til standard utgang. |
-d --dekomprimere | Tving dekompresjon. bzip2, bunzip2 og bzcat er egentlig det samme programmet, og beslutningen om hvilke handlinger som skal utføres gjøres på grunnlag av hvilket navn som brukes. Dette flagget overstyrer den mekanismen, og tvinger bzip2 til å dekomprimere. |
-z --komprimere | Komplementet til -d: fremtvinger komprimering, uavhengig av påkallingsnavnet. |
-t --test | Sjekk integriteten til de angitte filen(e), men ikke dekomprimer dem. Dette utfører virkelig en prøvedekompresjon og kaster bort resultatet. |
-f --kraft |
Tving overskriving av utdatafiler. Normalt vil ikke bzip2 overskrive eksisterende utdatafiler. Tvinger også bzip2 til å bryte harde lenker til filer, noe den ellers ikke ville gjort. bzip2 nekter normalt å dekomprimere filer som ikke har de riktige magiske header-bytene. Hvis tvungen (-f), vil den imidlertid sende slike filer gjennom uendret. Dette er hvordan GNU gzip oppfører seg. |
-k --behold | Behold (ikke slett) inndatafiler under komprimering eller dekomprimering. |
-s --liten |
Reduser minnebruk for komprimering, dekompresjon og testing. Filer dekomprimeres og testes ved hjelp av en modifisert algoritme som bare krever 2,5 byte per blokkbyte. Dette betyr at enhver fil kan dekomprimeres i 2300k minne, om enn med omtrent halvparten av normal hastighet. Under komprimering velger -s en blokkstørrelse på 200k, som begrenser minnebruken til omtrent samme tall, på bekostning av komprimeringsforholdet ditt. Kort sagt, hvis maskinen din har lite minne (8 megabyte eller mindre), bruk -s for alt. Se MINNESTYRING nedenfor. |
-q --stille | Undertrykk ikke-essensielle advarselsmeldinger. Meldinger knyttet til I/O-feil og andre kritiske hendelser vil ikke bli undertrykt. |
-v --verbose | Utførlig modus -- vis komprimeringsforholdet for hver fil som behandles. Ytterligere -v øker omfangsnivået, og spyr ut mye informasjon som først og fremst er av interesse for diagnostiske formål. |
-L --lisens | Vis programvareversjonen, lisensvilkårene. |
-V --versjon |
Vis programvareversjonen, lisensvilkårene. |
-1 eller -9 |
Sett blokkstørrelsen til 100 k, 200 k.. 900 k ved komprimering. Har ingen effekt ved dekomprimering. Behandler alle påfølgende argumenter som filnavn, selv om de starter med en bindestrek. Dette er slik at du kan håndtere filer med navn som begynner med en bindestrek, for eksempel: bzip2 -- -filnavnet mitt. |
--repetitiv-rask og --repetitiv-best er overflødige i versjon 0.9.5 og nyere. De ga litt grov kontroll over oppførselen til sorteringsalgoritmen i tidligere versjoner, noe som noen ganger var nyttig. 0.9.5 og høyere har en forbedret algoritme som gjør disse flaggene irrelevante.
Bruke mann kommando (% Mann) for å se hvordan en kommando brukes på din spesielle datamaskin.
Utforsker komprimeringen av bunzip2
bzip2 komprimerer filer ved hjelp av Burrows-Wheeler blokksorteringstekstkomprimeringsalgoritmen og Huffman-koding. Komprimering er generelt betydelig bedre enn det som oppnås med mer konvensjonelle LZ77/LZ78-baserte kompressorer og nærmer seg ytelsen til PPM-familien av statistiske kompressorer.
Kommandolinjealternativene er bevisst veldig like de til GNU gzip, men de er ikke identiske.
bzip2 forventer at en liste over filnavn følger med kommandolinjeflaggene. Hver fil erstattes av en komprimert versjon av seg selv, med navnet "original_name.bz2". Hver komprimert fil har samme endringsdato, tillatelser og, når det er mulig, eierskap som den tilsvarende originalen, slik at disse egenskapene kan gjenopprettes på riktig måte ved dekompresjonstidspunktet.

Når du skal bruke -f-flagget
Filnavnhåndtering er naiv i den forstand at det ikke er noen mekanisme for å bevare originale filnavn, tillatelser, eierskap, eller datoer i filsystemer som mangler disse konseptene eller har alvorlige filnavnlengdebegrensninger, som f.eks. MS-DOS.
bzip2 og bunzip2 vil som standard ikke overskrive eksisterende filer. Hvis du vil at dette skal skje, spesifiser -f flagg.
Hvis ingen filnavn er spesifisert, bzip2 komprimerer fra standard input til standard output. I dette tilfellet, bzip2 vil avslå å skrive komprimert utgang til en terminal siden dette ville være helt uforståelig og derfor meningsløst.

bunzip2 (eller bzip2 -d) dekomprimerer alle spesifiserte filer. Filer som ikke ble opprettet av bzip2 vil bli oppdaget og ignorert, og en advarsel utstedes. bzip2 prøver å gjette filnavnet for den dekomprimerte filen fra filnavnet til den komprimerte filen som følger:
- filnavn.bz2 blir filnavn
- filnavn.bz blir filnavn
- filnavn.tbz2 blir filnavn.tar
- filnavn.tbz blir filnavn.tar
- anyothername blir anyothername.out
Hvis filen ikke ender i en av de gjenkjente filutvidelser — BZ2, BZ, TBZ2 eller TBZ — bzip2 klager over at den ikke kan gjette navnet på den originale filen, og bruker det opprinnelige navnet med .ute vedlagt.

Som med komprimering, forårsaker det å ikke oppgi et filnavn dekomprimering fra standard input til standard output.
bunzip2 vil korrekt dekomprimere en fil som er sammenkoblingen av to eller flere komprimerte filer. Resultatet er sammenkoblingen av de tilsvarende ukomprimerte filene. Integritetstesting (-t) av sammenkoblede komprimerte filer støttes også.
Bruke -c-flagget for standardutdata
Du kan også komprimere eller dekomprimere filer til standardutdata ved å gi -c flagg. Flere filer kan komprimeres og dekomprimeres på denne måten. De resulterende utgangene mates sekvensielt til stdout. Komprimering av flere filer på denne måten genererer en strøm som inneholder flere komprimerte filrepresentasjoner.
En slik strøm kan dekomprimeres riktig bare av bzip2versjon 0.9.0 eller nyere. Tidligere versjoner av bzip2 vil stoppe etter å ha dekomprimert den første filen i strømmen.
bzip2 dekompresjon
bzcat (eller bzip2 -dc) dekomprimerer alle spesifiserte filer til standardutdata.
bzip2 vil lese argumenter fra miljøvariablene BZIP2 og BZIP, i den rekkefølgen, og vil behandle dem før eventuelle argumenter leses fra kommandolinjen. Dette gir en praktisk måte å levere standardargumenter.
Komprimering utføres alltid, selv om den komprimerte filen er litt større enn originalen. Filer på mindre enn omtrent 100 byte har en tendens til å bli større fordi komprimeringsmekanismen har en konstant overhead i området 50 byte. Tilfeldige data (inkludert utdata fra de fleste filkompressorer) er kodet med omtrent 8,05 biter per byte, noe som gir en utvidelse på rundt 0,5 prosent.
bzip2 og CRC-er
Som en egensjekk for din beskyttelse, bzip2 bruker 32-biters CRC-er for å sikre at den dekomprimerte versjonen av en fil er identisk med originalen. Dette beskytter mot korrupsjon av de komprimerte dataene og mot uoppdagede feil i bzip2 (forhåpentligvis svært usannsynlig).
Sjansene for at datakorrupsjon blir uoppdaget er mikroskopiske, omtrent en sjanse av fire milliarder for hver fil som behandles. Vær imidlertid oppmerksom på at kontrollen skjer ved dekompresjon, så den kan bare fortelle deg at noe er galt. Det kan ikke hjelpe deg med å gjenopprette de originale ukomprimerte dataene.
Du kan bruke bzip2recover for å prøve å gjenopprette data fra skadede filer.