Ukaz bunzip2 Linux: kako ga uporabljati
Kaj je treba vedeti
- Uporabite ukazno možnost -c --stdout stisniti/dekomprimirati na standardni izhod in -d --razpakirajte za prisilno dekompresijo.
- Uporaba -t --test preverite celovitost določenih datotek. Uporaba -f --sila za prisilno prepisovanje izhodnih datotek. Uporaba -k --ohraniti za ohranitev vhodnih datotek.
- Uporaba -s --majhen zmanjšati porabo pomnilnika in -q --tiho za zatiranje opozorilnih sporočil. Uporaba -v --podrobno za prikaz razmerja stiskanja datotek.
Ta članek pojasnjuje, kako uporabljati Linux bunzip2 ukaz, ki je kompresor datotek za razvrščanje blokov, ki se lahko uporablja za stiskanje in dekompresijo podatkov. Ko izvedete bzip2 ukaz brez možnosti, sistem privzeto stisne podatke. bunzip2 privzeto dekomprimira in bzcat dekompresira v stdout.
Možnosti ukaza Bunzip2 Linux
Seznam možnosti ukazov bunzip2 | |
---|---|
Možnost | Pojasnilo |
-c --stdout | Stisnite ali dekomprimirajte na standardni izhod. |
-d --razpakirajte | Prisilna dekompresija. bzip2, bunzip2 in bzcat so res isti program in odločitev o tem, katera dejanja je treba izvesti, se sprejme na podlagi uporabljenega imena. Ta zastavica preglasi ta mehanizem in prisili bzip2 v dekompresijo. |
-z --stisni | Dopolnilo k -d: prisili stiskanje, ne glede na ime priklica. |
-t --test | Preverite celovitost navedenih datotek, vendar jih ne razpakirajte. To resnično izvede poskusno dekompresijo in zavrže rezultat. |
-f --sila |
Prisilno prepisovanje izhodnih datotek. Običajno bzip2 ne bo prepisal obstoječih izhodnih datotek. Prav tako prisili bzip2, da prekine trde povezave do datotek, česar sicer ne bi storil. bzip2 običajno zavrne razpakiranje datotek, ki nimajo pravilnih magičnih bajtov glave. Če je prisiljen (-f), bo prenesel takšne datoteke skozi nespremenjene. Tako se obnaša GNU gzip. |
-k --ohraniti | Med stiskanjem ali dekompresijo ohranite (ne brišite) vhodnih datotek. |
-s --majhen |
Zmanjšajte porabo pomnilnika za stiskanje, dekompresijo in testiranje. Datoteke so dekomprimirane in testirane z uporabo spremenjenega algoritma, ki zahteva le 2,5 bajta na blok bajta. To pomeni, da je mogoče katero koli datoteko dekompresirati v 2300 k pomnilniku, čeprav s približno polovico običajne hitrosti. Med stiskanjem -s izbere velikost bloka 200 k, kar omejuje uporabo pomnilnika na približno enako vrednost, na račun vašega razmerja stiskanja. Skratka, če v vašem računalniku primanjkuje pomnilnika (8 megabajtov ali manj), uporabite -s za vse. Glejte UPRAVLJANJE POMNILA spodaj. |
-q --tiho | Zaščiti nebistvena opozorila. Sporočila, ki se nanašajo na V/I napake in druge kritične dogodke, ne bodo zakrita. |
-v --podrobno | Večno način -- prikaže razmerje stiskanja za vsako obdelano datoteko. Nadaljnji -v povečajo raven natančnosti in izbruhnejo veliko informacij, ki so zanimive predvsem za diagnostične namene. |
-L --licenca | Prikažite različico programske opreme, licenčne pogoje in določila. |
-V --različica |
Prikažite različico programske opreme, licenčne pogoje in določila. |
-1 oz -9 |
Velikost bloka nastavite na 100 k, 200 k. 900 k pri stiskanju. Pri dekompresiji nima učinka. Vse nadaljnje argumente obravnava kot imena datotek, tudi če se začnejo s pomišljajem. Tako lahko obdelate datoteke z imeni, ki se začnejo s pomišljajem, na primer: bzip2 -- -myfilename. |
--ponavljajoče-hitro in --ponavljajoče-najboljše so v različicah 0.9.5 in novejših odveč. Zagotovili so nekaj grobega nadzora nad obnašanjem algoritma razvrščanja v prejšnjih različicah, kar je bilo včasih koristno. 0.9.5 in novejše imajo izboljšan algoritem, zaradi katerega so te zastave nepomembne.
Uporabi moški ukaz (% človek), da vidite, kako se ukaz uporablja v vašem računalniku.
Raziskovanje stiskanja bunzip2
bzip2 stisne datoteke z uporabo algoritma stiskanja besedila za razvrščanje blokov Burrows-Wheeler in Huffmanovega kodiranja. Stiskanje je na splošno bistveno boljši od tistega, ki ga dosežejo bolj običajni kompresorji na osnovi LZ77/LZ78 in se približuje zmogljivosti družine statističnih kompresorjev PPM.
Možnosti ukazne vrstice so namerno zelo podobne tistim v GNU gzip, vendar niso enaki.
bzip2 pričakuje seznam imen datotek, ki bo spremljal zastavice ukazne vrstice. Vsako datoteko nadomesti njena stisnjena različica z imenom "izvirno_ime.bz2". Vsaka stisnjena datoteka ima enak datum spremembe, dovoljenja in, če je mogoče, lastništvo kot ustrezni izvirnik, tako da je te lastnosti mogoče pravilno obnoviti v času dekompresije.

Kdaj uporabiti zastavo -f
Obravnavanje imen datotek je naivno v smislu, da ni mehanizma za ohranjanje izvirnih imen datotek, dovoljenj, lastništva ali datumi v datotečnih sistemih, ki nimajo teh konceptov ali imajo resne omejitve dolžine imen datotek, kot je npr MS-DOS.
bzip2 in bunzip2 privzeto ne bo prepisal obstoječih datotek. Če želite, da se to zgodi, navedite -f zastavo.
Če ni podanih imen datotek, bzip2 stisne iz standardnega vhoda v standardni izhod. V tem primeru, bzip2 bo zavrnil pisanje stisnjenega izhoda v terminal, ker bi bilo to popolnoma nerazumljivo in zato nesmiselno.

bunzip2 (oz bzip2 -d) dekompresira vse določene datoteke. Datoteke, ki jih ni ustvaril bzip2 bo zaznan in prezrt ter izdano opozorilo. bzip2 poskuša uganiti ime datoteke za razpakirano datoteko iz imena stisnjene datoteke, kot sledi:
- ime datoteke.bz2 postane ime datoteke
- ime datoteke.bz postane ime datoteke
- ime datoteke.tbz2 postane ime datoteke.tar
- ime datoteke.tbz postane ime datoteke.tar
- anyothername postane anyothername.out
Če se datoteka ne konča z enim od prepoznanih razširitve datotek — BZ2, BZ, TBZ2, oz TBZ — bzip2 se pritožuje, da ne more uganiti imena izvirne datoteke, in uporablja izvirno ime s .ven priloženo.

Podobno kot pri stiskanju, nenavedba imena datoteke povzroči dekompresijo s standardnega vhoda na standardni izhod.
bunzip2 bo pravilno razpakirala datoteko, ki je povezava dveh ali več stisnjenih datotek. Rezultat je povezovanje ustreznih nestisnjenih datotek. Testiranje integritete (-t) povezanih stisnjenih datotek je prav tako podprta.
Uporaba zastave -c za standardni izhod
Datoteke lahko tudi stisnete ali dekompresirate v standardni izhod, tako da podate -c zastavo. Več datotek je mogoče stisniti in razpakirati na ta način. Nastali izhodi se zaporedno napajajo v stdout. Stiskanje več datotek na ta način ustvari tok, ki vsebuje več stisnjenih predstavitev datotek.
Takšen tok je mogoče pravilno dekompresirati samo z bzip2različica 0.9.0 ali novejša. Prejšnje različice bzip2 se bo ustavilo po dekompresiji prve datoteke v toku.
bzip2 dekompresija
bzcat (oz bzip2 -dc) dekompresira vse navedene datoteke v standardni izhod.
bzip2 bo prebral argumente iz spremenljivk okolja BZIP2 in BZIP, v tem vrstnem redu in jih obdela pred morebitnimi argumenti, prebranimi iz ukazne vrstice. To daje priročen način za predložitev privzetih argumentov.
Stiskanje se izvede vedno, tudi če je stisnjena datoteka nekoliko večja od izvirne. Datoteke z velikostjo manj kot 100 bajtov se ponavadi povečajo, ker ima mehanizem stiskanja konstantne stroške v območju 50 bajtov. Naključni podatki (vključno z izhodom večine kompresorjev datotek) so kodirani s približno 8,05 bitov na bajt, kar daje širitev približno 0,5 odstotka.
bzip2 in CRC
Kot samopreverjanje za vašo zaščito, bzip2 uporablja 32-bitne CRC-je, da zagotovi, da je dekomprimirana različica datoteke identična izvirniku. To ščiti pred poškodbami stisnjenih podatkov in pred nezaznanimi napakami bzip2 (upajmo, da zelo malo verjetno).
Možnosti, da bo poškodovanje podatkov ostalo neodkrito, je mikroskopsko, približno ena možnost od štirih milijard za vsako obdelano datoteko. Vendar se zavedajte, da se preverjanje zgodi ob dekompresiji, zato vam lahko pove le, da je nekaj narobe. Ne more vam pomagati obnoviti izvirnih nestisnjenih podatkov.
Lahko uporabiš bzip2recover poskusite obnoviti podatke iz poškodovanih datotek.