„Linux“ failų glaudinimo parinktys ir palyginimas

Linux File Compression Options



Apskritai suspaudimas yra naudingas metodas, iš esmės koduojantis informaciją naudojant mažiau duomenų nei pirminis. „Linux“ atveju yra įvairių suspaudimo parinkčių, kurių kiekviena turi savo privalumų.

Bendras „Linux“ platinimas siūlo prieigą prie sauja tikrai naudingų ir paprastų suspaudimo mechanizmų. Šiame straipsnyje daugiausia dėmesio bus skiriama jiems.







Suspaudimo tipai

Glaudinimas yra informacijos kodavimas ir vaizdavimas naudojant mažiau bitų, nei buvo iš pradžių. Failų glaudinimo atveju suspaudimo metodas naudoja savo algoritmą ir matematinį skaičiavimą, kad generuotų išvestį, kuri paprastai yra mažesnė už pradinio failo dydį. Dėl skirtingo glaudinimo veikimo ir atsitiktinio failų pobūdžio rida gali labai skirtis.



Yra 2 suspaudimo tipai.



  • Prarastas suspaudimas : Tai rizikingas suspaudimo tipas, kuris negarantuoja duomenų vientisumo. Iš esmės, suspaudus, kyla pavojus, kad pradinio failo nebus galima atkurti naudojant suspaustą archyvą.
    Stiprus tokio tipo suspaudimo pavyzdys yra gerai žinomas MP3 formatas. Kai MP3 sukuriamas iš originalaus garso failo, jis yra žymiai mažesnis už pradinio šaltinio muzikos failą. Dėl to prarandama tam tikra garso kokybė.
  • Be nuostolių suspaudimas : Tai plačiausiai naudojamas suspaudimo tipas. Naudojant suspaudimo metodą be nuostolių, originalų failą galima atkurti iš suspausto failo. Suspaudimo metodai, kuriuos aptarsiu šiame straipsnyje, yra visi be nuostolių suspaudimo metodai.

„Linux“ glaudinimas

Dauguma suspaudimo būdų yra prieinami iš įrankio degutas . Kalbant apie užtrauktuko suspaudimą, mes naudosime užtrauktukas įrankis. Darant prielaidą, kad jūsų sistemoje jau yra įdiegti šie įrankiai, pradėkime.





Iš pradžių mums reikia bandymo failo. Norėdami ją sukurti, paleiskite šią komandą.

$bazė64/dev/atsitiktinis| galva -c 200 000 000 >file.txt



Tai sukurs 20 MB dydžio tekstinį failą.

Dabar sukurkime 10 failo kopijų. Kartu tai yra 200 MB.

Užtrauktukas suspaudimui

Zip yra gana dažnas reiškinys. Norėdami sukurti ZIP failą, „zip“ įrankiui reikalinga tokia komandų struktūra.

$užtrauktukas <produkcija>.zip<įvesties>

Norėdami suspausti visus bandomojo katalogo failus į vieną ZIP failą, paleiskite šią komandą.

$užtrauktukastest.zip*

Įvesties dydis buvo 200 MB. Po suspaudimo dabar yra 152 MB!

Pagal numatytuosius nustatymus „ZIP“ įrankis pritaikys „DEFLATE“ glaudinimą. Tačiau jis taip pat gali naudoti „bzip2“ glaudinimą. Maža to, taip pat galite sukurti slaptažodžiu apsaugotus ZIP failus! Sužinokite daugiau apie zip .

Derva suspaudimui „Linux“

Derva nėra suspaudimo metodas. Vietoj to jis dažniausiai naudojamas archyvams kurti. Tačiau ji gali įdiegti daugybę populiarių archyvavimo būdų.

Norėdami tvarkyti deguto (dar žinomo kaip „tarball“) archyvą, yra deguto įrankis. Sužinokite daugiau apie degutą. Paprastai tar įrankis naudoja šią komandų struktūrą.

$degutas <galimybės> <output_file> <įvesties>

Norėdami pridėti bandymo failus į vieną deguto archyvą, paleiskite šią komandą.

$degutas -cvftest.tar*

Čia failo dydis išlieka tas pats.

„Gzip“ glaudinimui „Linux“

„GNU Zip“ arba „gzip“ yra dar vienas populiarus suspaudimo būdas, kuris, mano nuomone, yra geresnis už tradicinį „zip“ dėl geresnio suspaudimo. Tai atviro kodo produktas, kurį sukūrė Markas Adleris ir Jean-Loup Gailly, kuris iš pradžių turėjo pakeisti UNIX suspausti naudingumas.

Gzip archyvams tvarkyti yra 2 įrankiai: tar ir gzip. Patikrinkime abu.

Pirma, „gzip“ įrankis. Štai kaip atrodo komandų struktūra „gzip“.

$gzip <variantas> <įvesties>

Pavyzdžiui, ši komanda pakeis test1.txt į test1.txt.gz suglaudintą failą.

$gzip -vtest1.txt

Jei norite suspausti visą katalogą naudodami gzip, paleiskite šią komandą. Čia vėliava -r skirta rekursiniam suspaudimui. „Gzip“ eis per visus aplankus ir suspaus kiekviename iš jų atskirus failus.

$gzip -r <folder_path>

„Gzip“ palaiko įvairias suspaudimo stiprumo vertes, pradedant nuo 1 (mažiausias suspaudimas, greičiausias) iki 9 (geriausias suspaudimas, lėčiausias).

$gzip -v -9 <failą>

Siekiant geriau kontroliuoti išvestį ir patogumą naudoti, degutas geriau tinka užduočiai atlikti. Vykdykite šią komandą.

$degutas -cvzftest.tar.gz*

Rezultatas yra panašus į zip naudojant DEFLATE, o po suspaudimo gaunama 152 MB.

„Bzip2“ suspaudimui „Linux“

„Bzip2“ yra nemokamas ir atviro kodo įrankis, kuris suspaudimui naudoja „Burrows-Wheeler“ algoritmą. Pirmą kartą pristatytas 1996 m., „Bzip2“ labai naudojamas kaip alternatyva „gzip“ suspaudimui.

Kaip ir „gzip“, yra 2 įrankiai, skirti dirbti su „bzip2“: tar ir bzip2.

„Bzip2“ įrankis veikia panašiai kaip „gzip“ įrankis. Jis gali veikti tik su vienu failu vienu metu. Štai komandų struktūra.

$bzip2 <variantas> <įvesties>

Suspauskite failą test1.txt. Čia vėliava -v skirta išsamiam režimui.

$bzip2 -vtest1.txt

Panašiai kaip „gzip“, „bzip2“ taip pat palaiko skirtingą glaudinimo lygį, pradedant nuo 1 (numatytasis, mažiau atminties) iki 9 (ypatingas suspaudimas, didelis atminties naudojimas).

$bzip2 -v -9 <failą>

Geresnis „bzip2“ glaudinimo būdas yra degutas. Naudokite šią komandą.

$degutas -cvjftest.tar.bz2*

Suspaudimas yra šiek tiek pagerintas nei ankstesni. Dabar failo dydis sumažėjo iki 151,7 MB.

„XZ“ suspaudimui „Linux“

Tai santykinis naujokas suspaudimo srityje. Pirmą kartą išleistas 2009 m., Nuo tada jo naudojimas nuolat augo.

„Xz“ suspaudimo įrankis naudoja LZMA2 algoritmą, kuris yra žinomas dėl didesnio glaudinimo koeficiento, palyginti su „gzip“ ir „bzip2“, todėl tai yra puikus pasirinkimas, kai norite sutaupyti kuo daugiau vietos diske. Tačiau tai susiję su didesniais atminties reikalavimais ir laiko sąnaudomis.

XZ suspaudimo įrankio sukurtas failas turi plėtinį .xz. Norėdami suspausti vieną failą, galite tiesiogiai paskambinti į XZ įrankį.

$xz<variantas> <failą>

Pavyzdžiui, paleiskite šią komandą, kad suspaustumėte test1.txt failą.

$xz-vtest1.txt

Panašiai kaip ir kiti minėti suspaudimo būdai, „xz“ taip pat palaiko įvairius gniuždymo stiprumo diapazonus, pradedant nuo 1 (mažiausias suspaudimas, greičiausias) iki 9 (geriausias suspaudimas, lėčiausias). Jei neturite laiko ir tiesiog norite sutaupyti vietos, eikite į kraštutinumą.

$xz-v -9 <failą>

Norėdami sukurti suspaustą XZ failą iš visų bandomųjų failų, paleiskite šią komandą.

$degutas -cvJftest.tar.xz*

Čia išvesties failo dydis yra 153,7 MB.

Išgaunamas suspaustas archyvas

Išgauti mūsų sukurtus archyvus yra lengviau nei juos sukurti. Norėdami išgauti ZIP failą, naudokite šią komandų struktūrą.

$išpakuoti <failo pavadinimas>.zip-d <Kelionės tikslas>

Norėdami išgauti mūsų sukurtą ZIP archyvą, paleiskite šią komandą. Taip bus ištrauktas visas to paties katalogo turinys.

$išpakuotitest.zip

Norėdami išgauti archyvus tar, tar.gz, tar.bz2 ir tar.xz, turime naudoti degutas įrankis. Toliau pateikta komanda „tar“ yra tinkama juos visus išgauti.

$degutas -xvf <archyvo_failas>

Pavyzdžiui, ištraukime visus failus iš suspausto archyvo „bz2“.

$degutas -xvftest.tar.bz2

Norėdami išspausti gzip (ne tar.gz) failą, paleiskite šią komandą.

$gzip -d <gzip_file>

Panašiai ši komanda išspaus „bzip2“ archyvą.

$bzip2 -d <bzip2_file>

Ta pati komandų struktūra taikoma ir „xz“ archyvui.

$xz-d <xz_file>

Galutinės mintys

Tikimės, kad dabar turite pakankamai žinių, kad galėtumėte susidoroti su suspaudimo užduotimis skirtingomis aplinkybėmis. Priklausomai nuo konkretaus reikalavimo, visi suspaudimo būdai pasižymi labai patraukliomis savybėmis.

Svarbu atkreipti dėmesį į tai, kad suspaudimo rezultatas nebus tas pats. Įvedus skirtingus duomenis, išvestis bus kitokia. Pavyzdžiui, kai kuriais atvejais „xz“ gali pasiūlyti beprotišką suspaudimo rezultatą, tuo tarpu šiame pavyzdyje to nebuvo. Tas pats pasakytina apie kitus metodus.

Norėdami sužinoti daugiau apie šiuos įrankius, peržiūrėkite atitinkamą jų puslapį.

$vyras užtrauktukas