Bunzip2 Linux-kommando: Sådan bruges det

Hvad skal man vide

  • Brug kommandoindstillingen -c --stdout at komprimere/dekomprimere til standard output og -d --dekomprimere at fremtvinge dekompression.
  • Brug -t --test for at kontrollere integriteten af ​​specificerede filer. Brug -f --kraft for at tvinge overskrivning af outputfiler. Brug -k --behold for at beholde inputfiler.
  • Brug -s --lille for at sænke hukommelsesforbrug og -q --stille for at undertrykke advarselsmeddelelser. Brug -v --verbose for at vise filkomprimeringsforhold.

Denne artikel forklarer, hvordan du bruger Linux bunzip2 kommando, som er en bloksorterende filkompressor, der kan bruges til både at komprimere og dekomprimere data. Når du udfører bzip2 kommando uden nogen muligheder, komprimerer systemet dataene som standard. bunzip2 dekomprimerer som standard, og bzcat dekomprimerer til stdout.

Bunzip2 Linux-kommandoindstillinger

Liste over bunzip2 kommandoindstillinger
Mulighed Forklaring
-c --stdout Komprimer eller dekomprimer til standard output.
-d --dekomprimere Tving dekompression. bzip2, bunzip2 og bzcat er reelt det samme program, og beslutningen om, hvilke handlinger der skal foretages, sker på grundlag af hvilket navn der bruges. Dette flag tilsidesætter denne mekanisme og tvinger bzip2 til at dekomprimere.
-z --komprimere Komplementet til -d: fremtvinger komprimering, uanset påkaldelsesnavnet.
-t --test Tjek integriteten af ​​de(n) angivne fil(er), men dekomprimer dem ikke. Dette udfører virkelig en prøvedekompression og kaster resultatet væk.
-f --kraft

Tving overskrivning af outputfiler. Normalt vil bzip2 ikke overskrive eksisterende outputfiler. Tvinger også bzip2 til at bryde hårde links til filer, hvilket den ellers ikke ville gøre.

bzip2 afviser normalt at dekomprimere filer, som ikke har de korrekte magiske header-bytes. Hvis tvunget (-f), vil den imidlertid sende sådanne filer uændret igennem. Sådan opfører GNU gzip sig.

-k --behold Behold (slet ikke) inputfiler under komprimering eller dekomprimering.
-s --lille

Reducer hukommelsesforbrug til komprimering, dekompression og test. Filer dekomprimeres og testes ved hjælp af en modificeret algoritme, som kun kræver 2,5 bytes pr. blokbyte. Dette betyder, at enhver fil kan dekomprimeres i 2300k hukommelse, omend med cirka halvdelen af ​​den normale hastighed.

Under komprimering vælger -s en blokstørrelse på 200k, hvilket begrænser hukommelsesforbruget til omkring det samme tal, på bekostning af dit komprimeringsforhold. Kort sagt, hvis din maskine mangler hukommelse (8 megabyte eller mindre), skal du bruge -s til alt. Se MEMORY MANAGEMENT nedenfor.

-q --stille Undertrykk ikke-væsentlige advarselsmeddelelser. Meddelelser vedrørende I/O-fejl og andre kritiske hændelser vil ikke blive undertrykt.
-v --verbose Ordrig mode -- vis komprimeringsforholdet for hver fil behandlet. Yderligere -v'er øger omfangsgraden og udsender masser af information, som primært er af interesse til diagnostiske formål.
-L --licens Vis softwareversionen, licensvilkår og -betingelser.
-V --version
Vis softwareversionen, licensvilkår og -betingelser.
-1 eller -9

Indstil blokstørrelsen til 100 k, 200 k.. 900 k ved komprimering. Har ingen effekt ved dekomprimering.
--hurtig (alias for -1) og --bedst (alias for -9) er primært til GNU gzip-kompatibilitet. I særdeleshed, --hurtig gør ikke tingene væsentligt hurtigere. Og --bedst vælger blot standardadfærden.

Behandler alle efterfølgende argumenter som filnavne, selvom de starter med en bindestreg. Dette er så du kan håndtere filer med navne, der begynder med en bindestreg, for eksempel: bzip2 -- -mitfilnavn.

--gentagende-hurtig og --gentagende-bedst er overflødige i version 0.9.5 og nyere. De gav en vis grov kontrol over sorteringsalgoritmens adfærd i tidligere versioner, hvilket nogle gange var nyttigt. 0.9.5 og derover har en forbedret algoritme, som gør disse flag irrelevante.

Brug mands kommando (% mand) for at se, hvordan en kommando bruges på netop din computer.

Udforsker komprimeringen af ​​bunzip2

bzip2 komprimerer filer ved hjælp af Burrows-Wheeler bloksorterings-tekstkomprimeringsalgoritmen og Huffman-kodning. Kompression er generelt betydeligt bedre end det, der opnås med mere konventionelle LZ77/LZ78-baserede kompressorer og nærmer sig ydeevnen af ​​PPM-familien af ​​statistiske kompressorer.

Kommandolinjeindstillingerne er bevidst meget lig dem fra GNU gzip, men de er ikke identiske.

bzip2 forventer, at en liste over filnavne ledsager kommandolinjeflag. Hver fil erstattes af en komprimeret version af sig selv med navnet "original_name.bz2". Hver komprimeret fil har samme ændringsdato, tilladelser og, når det er muligt, ejerskab som den tilsvarende original, så disse egenskaber kan gendannes korrekt på dekomprimeringstidspunktet.

Linux bunzip2

Hvornår skal du bruge -f-flaget

Filnavnehåndtering er naiv i den forstand, at der ikke er nogen mekanisme til at bevare originale filnavne, tilladelser, ejerskaber eller datoer i filsystemer, som mangler disse begreber eller har alvorlige begrænsninger for filnavnslængde, som f.eks. MS-DOS.

bzip2 og bunzip2 vil som standard ikke overskrive eksisterende filer. Hvis du ønsker, at dette skal ske, skal du angive -f flag.

Hvis der ikke er angivet nogen filnavne, bzip2 komprimerer fra standard input til standard output. I dette tilfælde, bzip2 vil afvise at skrive komprimeret output til en terminal, da dette ville være fuldstændig uforståeligt og derfor meningsløst.

Linux bunzip2 flere filer

bunzip2 (eller bzip2 -d) dekomprimerer alle specificerede filer. Filer, som ikke er oprettet af bzip2 vil blive opdaget og ignoreret, og der udsendes en advarsel. bzip2 forsøger at gætte filnavnet for den dekomprimerede fil fra filnavnet for den komprimerede fil som følger:

  • filnavn.bz2 bliver filnavn
  • filnavn.bz bliver filnavn
  • filnavn.tbz2 bliver filnavn.tar
  • filnavn.tbz bliver filnavn.tar
  • anyothername bliver anyothername.out

Hvis filen ikke ender i en af ​​de genkendte filtypenavneBZ2, BZ, TBZ2 eller TBZbzip2 klager over, at den ikke kan gætte navnet på den originale fil, og bruger det originale navn med .ud vedhæftet.

Linux bunzip2 dekomprimerer tarball

Ligesom med komprimering forårsager ikke at angive et filnavn dekomprimering fra standardinput til standardoutput.

bunzip2 vil korrekt dekomprimere en fil, som er sammenkædningen af ​​to eller flere komprimerede filer. Resultatet er sammenkædningen af ​​de tilsvarende ukomprimerede filer. Integritetstest (-t) af sammenkædede komprimerede filer understøttes også.

Brug af -c-flaget til standardoutput

Du kan også komprimere eller dekomprimere filer til standardoutput ved at give -c flag. Flere filer kan komprimeres og dekomprimeres på denne måde. De resulterende udgange føres sekventielt til stdout. Komprimering af flere filer på denne måde genererer en strøm, der indeholder flere komprimerede filrepræsentationer.

En sådan strøm kan kun dekomprimeres korrekt ved bzip2version 0.9.0 eller nyere. Tidligere versioner af bzip2 stopper efter at have dekomprimeret den første fil i strømmen.

bzip2 dekompression

bzcat (eller bzip2 -dc) dekomprimerer alle specificerede filer til standardoutput.

bzip2 vil læse argumenter fra miljøvariablerne BZIP2 og BZIP, i den rækkefølge, og vil behandle dem før eventuelle argumenter læses fra kommandolinjen. Dette giver en bekvem måde at levere standardargumenter på.

Komprimering udføres altid, selvom den komprimerede fil er lidt større end originalen. Filer på mindre end omkring 100 bytes har en tendens til at blive større, fordi komprimeringsmekanismen har en konstant overhead i området på 50 bytes. Tilfældige data (inklusive output fra de fleste filkompressorer) er kodet med omkring 8,05 bits pr. byte, hvilket giver en udvidelse på omkring 0,5 procent.

bzip2 og CRC'er

Som et selvtjek for din beskyttelse, bzip2 bruger 32-bit CRC'er for at sikre, at den dekomprimerede version af en fil er identisk med originalen. Dette beskytter mod korruption af de komprimerede data og mod uopdagede fejl i bzip2 (forhåbentlig meget usandsynligt).

Chancerne for, at datakorruption bliver uopdaget, er mikroskopisk, omkring en chance ud af fire milliarder for hver fil, der behandles. Vær dog opmærksom på, at kontrollen sker ved dekompression, så den kan kun fortælle dig, at der er noget galt. Det kan ikke hjælpe dig med at gendanne de originale ukomprimerede data.

Du kan bruge bzip2recover for at forsøge at gendanne data fra beskadigede filer.