Linux -tiedostojen pakkausvaihtoehdot ja vertailu

Linux File Compression Options



Pakkaus on yleensä hyödyllinen menetelmä, joka koodaa olennaisesti tietoa käyttämällä vähemmän dataa kuin alkuperäinen. Linuxin tapauksessa on olemassa useita pakkausvaihtoehtoja, joista jokaisella on omat etunsa.

Yleinen Linux -distro tarjoaa pääsyn kouralliseen todella hyödyllisiä ja yksinkertaisia ​​pakkausmekanismeja. Tämä artikkeli keskittyy vain niihin.





Pakkaustyypit

Pakkaus on tiedon koodaus ja esittäminen käyttämällä vähemmän bittejä kuin alun perin. Tiedostojen pakkaamisen tapauksessa pakkausmenetelmä käyttää omaa algoritmiaan ja matemaattisia laskelmiaan tuottaakseen tulosteen, joka on yleensä pienempi kuin alkuperäisen tiedoston koko. Erilaisten pakkausten toiminnan ja tiedostojen satunnaisen luonteen vuoksi kilometrimäärä voi vaihdella suuresti.



Pakkauksia on 2 tyyppiä.



  • Häviöllinen puristus : Tämä on riskialtista pakkaustapaa, joka ei takaa tietojen eheyttä. Pohjimmiltaan pakattaessa on olemassa vaara, että alkuperäistä tiedostoa ei voida rakentaa uudelleen pakatun arkiston avulla.
    Hyvä esimerkki tämän tyyppisestä pakkauksesta on tunnettu MP3-muoto. Kun MP3 luodaan alkuperäisestä äänitiedostosta, se on huomattavasti pienempi kuin alkuperäinen lähdemusiikkitiedosto. Tämä aiheuttaa jonkin verran äänenlaadun heikkenemistä.
  • Häviötön puristus : Tämä on yleisimmin käytetty pakkaustyyppi. Häviöttömän pakkausmenetelmän avulla alkuperäinen tiedosto voidaan rekonstruoida pakatusta tiedostosta. Tässä artikkelissa käsitellyt pakkausmenetelmät ovat häviöttömiä pakkausmenetelmiä.

Linux -pakkaus

Suurin osa pakkausmenetelmistä on saatavana työkalusta terva . Mitä tulee zip -pakkaukseen, käytämme postinumero työkalu. Olettaen, että järjestelmään on jo asennettu nämä työkalut, aloitetaan.





Aluksi tarvitsemme testitiedoston. Luo komento suorittamalla seuraava komento.

$base64/dev/satunnaisesti| pää -c 20000000 >tiedosto.txt



Se luo tekstitiedoston, jonka koko on 20 Mt.

Luodaan nyt 10 kopiota tiedostosta. Yhdessä se on 200 Mt.

Zip puristusta varten

Zip on melko yleinen. Zip -tiedoston luomiseen tarvitaan zip -työkalu, jolla on seuraava komentorakenne.

$postinumero <lähtö>.postinumero<tulo>

Pakkaa kaikki testihakemiston tiedostot yhteen zip -tiedostoon suorittamalla tämä komento.

$postinumerotest.zip*

Tulon koko oli 200 Mt. Pakkauksen jälkeen se on nyt 152 Mt!

Zip -työkalu käyttää oletuksena DEFLATE -pakkausta. Se voi kuitenkin käyttää myös bzip2 -pakkausta. Ei vain sitä, voit myös luoda salasanalla suojattuja zip-tiedostoja! Lisätietoja zipistä .

Tar for Compression Linuxissa

Terva ei ole puristusmenetelmä. Sen sijaan sitä käytetään useimmiten arkistojen luomiseen. Se voi kuitenkin toteuttaa useita suosittuja pakkausmenetelmiä arkistoon.

Terva -arkiston (tunnetaan myös nimellä tarball) käsittelemiseksi on tar -työkalu. Lisätietoja tervasta. Yleensä tar -työkalu käyttää seuraavaa komentorakennetta.

$terva <vaihtoehtoja> <output_file> <tulo>

Jos haluat lisätä testitiedostot yhteen tar -arkistoon, suorita seuraava komento.

$terva -cvftest.tar*

Tässä tiedostokoko pysyy samana.

Gzip -pakkaus Linuxissa

GNU Zip tai gzip on toinen suosittu pakkausmenetelmä, joka mielestäni on parempi kuin perinteinen zip sen paremman pakkauksen vuoksi. Se on Mark Adlerin ja Jean-Loup Gaillyn luoma avoimen lähdekoodin tuote, jonka oli alun perin tarkoitus korvata UNIX puristaa apuohjelma.

Gzip -arkistojen hallintaan on käytettävissä kaksi työkalua: terva ja gzip. Tarkastellaan molempia.

Ensinnäkin gzip -työkalu. Gzip -komentorakenne näyttää tältä.

$gzip <vaihtoehto> <tulo>

Esimerkiksi seuraava komento korvaa test1.txt -tiedoston pakatulla tiedostolla test1.txt.gz.

$gzip -vtest1.txt

Jos haluat pakata koko hakemiston gzip -ohjelmalla, suorita tämä komento. Tässä -r -lippu on rekursiivista pakkausta varten. Gzip käy läpi kaikki kansiot ja pakkaa yksittäiset tiedostot kussakin.

$gzip -r <folder_path>

Gzip tukee erilaisia ​​puristuslujuusarvoja, alkaen 1 (vähiten pakkaus, nopein) ja 9 (paras pakkaus, hitain).

$gzip -v -9 <tiedosto>

Terva on tehtävän kannalta parempi, jotta voit hallita paremmin tuotantoa ja helppokäyttöisyyttä. Suorita seuraava komento.

$terva -cvzftest.tar.gz*

Tulos on samanlainen kuin zip, jossa käytetään DEFLATE -toimintoa. Tuloksena on 152 Mt pakkauksen jälkeen.

Bzip2 pakkaamiseen Linuxissa

Bzip2 on ilmainen ja avoimen lähdekoodin työkalu, joka käyttää Burrows-Wheelerin algoritmia pakkaamiseen. Bzip2 esiteltiin ensimmäisen kerran jo vuonna 1996, ja sitä käytetään paljon vaihtoehtona gzip -pakkaukselle.

Kuten gzip, bzip2: n kanssa on kaksi työkalua: terva ja bzip2.

Bzip2 -työkalu toimii samalla tavalla kuin gzip -työkalu. Se voi toimia vain yhden tiedoston kanssa kerrallaan. Tässä on komentorakenne.

$bzip2 <vaihtoehto> <tulo>

Pakataan test1.txt -tiedosto. Tässä -v -lippu on tarkoitettu monitahoiseen tilaan.

$bzip2 -vtest1.txt

Samoin kuin gzip, bzip2 tukee myös eri pakkausasteita, alkaen 1 (oletus, vähemmän muistin käyttöä) ja 9 (äärimmäinen pakkaus, suuri muistin käyttö).

$bzip2 -v -9 <tiedosto>

Paras tapa käyttää bzip2 -pakkausta on käyttää tervaa. Käytä seuraavaa komentoa.

$terva -cvjftest.tar.bz2*

Pakkaus on hieman parempi kuin edelliset. Tiedoston koko on nyt pienentynyt 151,7 megatavuun.

XZ pakkaukselle Linuxissa

Se on suhteellisen uusi tulokas pakkauksen alalla. Ensimmäisen kerran julkaistu vuonna 2009, sen käyttö on kasvanut tasaisesti sen jälkeen.

Xz -pakkaustyökalu käyttää LZMA2 -algoritmia, joka tunnetaan paremmasta pakkaussuhteesta kuin gzip ja bzip2, joten se on loistava valinta, kun haluat säästää suurimman levytilan. Tästä seuraa kuitenkin korkeammat muistivaatimukset ja ajan kulutus.

XZ -pakkaustyökalun luoma tiedosto sisältää laajennuksen .xz. Jos haluat pakata yksittäisen tiedoston, voit soittaa suoraan XZ -työkaluun.

$xz<vaihtoehto> <tiedosto>

Suorita esimerkiksi seuraava komento pakataksesi test1.txt -tiedoston.

$xz-vtest1.txt

Kuten muutkin mainitut pakkausmenetelmät, xz tukee myös erilaisia ​​puristuslujuuksia, alkaen 1 (pienin pakkaus, nopein) ja 9 (paras puristus, hitain). Jos et välitä ajasta ja haluat vain säästää tilaa, mene äärimmäisyyksiin.

$xz-v -9 <tiedosto>

Jos haluat luoda pakatun XZ -tiedoston kaikista testitiedostoista, suorita tämä komento.

$terva -cvJftest.tar.xz*

Tässä tulostustiedoston koko on 153,7 Mt.

Pakattujen arkistojen purkaminen

Luomiemme arkistojen purkaminen on helpompaa kuin niiden luominen. Voit purkaa zip -tiedoston käyttämällä seuraavaa komentorakennetta.

$purkaa <Tiedoston nimi>.postinumero-d <määränpää>

Voit purkaa luomamme zip -arkiston suorittamalla tämän komennon. Tämä poimii kaiken sisällön samasta hakemistosta.

$purkaatest.zip

Terva-, tar.gz-, tar.bz2- ja tar.xz -arkistojen purkamiseen meidän on käytettävä terva työkalu. Seuraava tar -komento soveltuu kaikkien niiden purkamiseen.

$terva -xvf <arkiston_tiedostonimi>

Otetaan esimerkiksi kaikki tiedostot bz2 -pakatusta arkistosta.

$terva -xvftest.tar.bz2

Jos haluat purkaa gzip -tiedoston (ei tar.gz), suorita tämä komento.

$gzip -d <gzip_file>

Samoin seuraava komento purkaa bzip2 -arkiston.

$bzip2 -d <bzip2_file>

Sama komentorakenne koskee xz -arkistoa.

$xz-d <xz_file>

Lopulliset ajatukset

Toivottavasti sinulla on nyt riittävästi tietoa puristustehtävien hoitamiseen eri olosuhteissa. Erityisistä vaatimuksista riippuen kaikki pakkausmenetelmät tarjoavat erittäin houkuttelevia ominaisuuksia.

Yksi tärkeä asia on huomata, että puristustulos ei ole sama koko ajan. Jos dataa syötetään eri tavalla, tulostus on erilainen. Esimerkiksi joissakin tapauksissa xz voi tarjota mielettömän puristustuloksen, kun taas tässä esimerkissä ei. Sama koskee muita menetelmiä.

Jos haluat lisätietoja näistä työkaluista, tutustu niiden man-sivulle.

$mies postinumero