Kompresoni dhe dekompresoni skedarët duke përdorur gzip dhe bzip2

rreth gzip dhe bzip2

Në artikullin vijues do të hedhim një vështrim se si zip dhe unzip skedarët duke përdorur gzip dhe bzip2. Kompresimi është shumë i dobishëm kur rezervoni skedarë të rëndësishëm ose dërgoni skedarë të mëdhenj në Internet. Sot ka shumë programe për të ngjeshur dhe dekompresuar skedarët në GNU / Linux.

Një koleg tashmë na tregoi për disa nga këto programe si rar y zip në të njëjtin blog. Në këtë manual, ne do të hedhim një vështrim vetëm në dy prej tyre, të tilla si gzip dhe bzip2. Siç them unë, le të shohim se si t'i përdorim ato për të kompresuar dhe dekompresuar skedarët me disa shembuj në Ubuntu.

Kompresoni dhe dekompresoni skedarët duke përdorur gzip dhe bzip2

Programi gzip

gzip është një mjet për të kompresuar dhe dekompresuar skedarët duke përdorur Algoritmi i kodimit Lempel-Ziv (LZ77).

  • Kompresoni skedarët

Për të kompresuar një skedar me emrin ubunlog.tekst, duke e zëvendësuar atë me një version të ngjeshur, ne do të ekzekutojmë në terminal (Ctrl + Alt + T):

kompresoni dhe dekompresoni skedarët me gzip

gzip ubunlog.txt

Gzip do të zëvendësojë skedarin origjinal i quajtur ubunlog.txt nga një version i ngjeshur i quajtur ubunlog.txt.gz.

Komanda gzip mund të përdoret gjithashtu në mënyra të tjera. Një shembull i mirë është se ne mundemi krijoni një version të kompresuar të prodhimit të një komande specifike. Shikoni komandën e mëposhtme.

gzip ngjesh prodhimin e ls

ls -l ../../Descargas / | gzip > ubunlog.txt.gz

Komanda e mësipërme krijon një version të kompresuar të listës së skedarëve në dosjen Shkarkime.

  • Kompresoni dhe dekompresoni duke mbajtur skedarin origjinal

Si parazgjedhje, programi gzip do të kompresohet skedarin e dhënë, duke e zëvendësuar atë me një version të kompresuar. Megjithatë, ne mund të mbajmë skedarin origjinal dhe ta shkruajmë rezultatin në dalje standarde. Për shembull, komanda e mëposhtme, ngjesh ubunlog.txt dhe shkruajeni rezultatin në output.txt.gz.

kompresoni gzip duke konvertuar skedarin gzip

gzip -c ubunlog.txt > salida.txt.gz

Në të njëjtën mënyrë, ne mundemi unzip një skedar të kompresuar duke specifikuar emrin e skedarit dalës:

skedari ruajtës i ngjeshjes gzip

gzip -c -d salida.txt.gz > ubunlog1.txt

Komanda e mësipërme zhbllokon skedarin output.txt.gz dhe e shkruan rezultatin në skedar ubunlog1.txt. Në dy rastet e mëparshme, skedari origjinal nuk do të fshihet.

  • Skedarët unzip

Për të shkëputur skedarin ubunlog.txt.gz, duke e zëvendësuar atë me versionin origjinal të pakompresuar, ne do të përdorim komandën e mëposhtme në terminal (Ctrl + Alt + T):

gzip unzip skedarin

gzip -d ubunlog.txt.gz

Mund të përdorim edhe gunzip për të shkëputur skedarët.

skedari i zinxhirit të gunzip

gunzip ubunlog.txt.gz
  • Shikoni përmbajtjen e skedarëve të kompresuar pa i dekompresuar ato

Për të parë përmbajtjen e skedarit të kompresuar pa e dekompresuar atë duke përdorur gzip, do të përdorim opsionin -c siç tregohet në vijim:

gunzip -c shikoni skedarë të kompresuar të përmbajtjes

gunzip -c ubunlog1.txt.gz

Ne gjithashtu mund të përdorim shërbim zcat për të njëjtin qëllim, si më poshtë:

zcat shikojnë skedarin e kompresuar të përmbajtjes

zcat ubunlog.txt.gz

Ne do të jemi në gjendje tubojeni prodhimin duke përdorur komandën "më pak" për të parë daljen faqe për faqe siç tregohet më poshtë:

gunzip -c ubunlog.txt.gz | less

Komanda më pak mund të përdoret gjithashtu me zcat:

zcat ubunlog.txt.gz | less

Ne gjithashtu do të kemi mundësinë të përdorim program zless. Kjo kryen të njëjtin funksion si tubat e mëparshëm:

zless ubunlog.txt.gz

Ne mundemi dilni nga faqosja duke shtypur tastin q.

  • Kompresoni skedarin me gzip duke specifikuar nivelin e kompresimit

Një avantazh tjetër për të mbajtur në mend gzip është se mbështet nivelin e kompresimit. Mbështet 3 nivele të ngjeshjes si më poshtë.

1 - Më i shpejtë (më i keq)
9 - Më e ngadaltë (mejor)
6 - Niveli i paracaktuar

Për të kompresuar skedarin e emërtuar ubunlog.txt, duke e zëvendësuar me një version i kompresuar me nivelin më të mirë të kompresimit, ne do të përdorim:

gzip -9 ubunlog.txt
  • Bashkoni skedarë të shumëfishtë të kompresuar

Një mundësi tjetër që na ofron gzip është ajo e bashkoni skedarë të shumtë të kompresuar në një. Ne mund ta bëjmë këtë në mënyrën vijuese:

gzip -c ubunlog1.txt > salida.txt.gz

gzip -c ubunlog2.txt >> salida.txt.gz

Dy komandat e mësipërme do të kompresohen ubunlog1.txt dhe ubunlog2.txt dhe ruajini ato në një skedar të vetëm të quajtur output.txt.gz.

Ne mundemi shikoni përmbajtjen e skedarëve (ubunlog1 .txt dhe ubunlog1.txt) pa i nxjerrë ato duke përdorur ndonjë nga komandat e mëposhtme:

gunzip -c salida.txt.gz

gunzip -c salida.txt

zcat salida.txt.gz

zcat salida.txt

Për më shumë detaje rreth gzip, shihni faqet e njeriut:

njeri gzip

man gzip

Programi bzip2

El bzip2 është shumë e ngjashme me programin gzip. Dallimi kryesor është se ai përdor një algoritëm ndryshe të kompresimit të quajtur Algoritmi i kompresimit të tekstit të klasifikimit të bllokut Burrows-Wheeler dhe kodimi Huffman. Skedarët e kompresuar me bzip2 do të përfundojnë me shtrirjen .bz2.

Siç thashë, përdorimi i bzip2 është pak a shumë i njëjtë me gzip. Thjesht do të na duhet zëvendësoni gzip në shembujt e mësipërm me bzip2, gunzip me bunzip2, zcat me bzcat etj.

  • Kompresoni skedarët

Për të ngjeshur një skedar duke përdorur bzip2, duke e zëvendësuar atë me një version të ngjeshur, ne do të ekzekutojmë:

skedari i kompresimit bzip2

bzip2 ubunlog.txt
  • Kompresoni skedarët pa fshirë skedarin origjinal

Nëse nuk duam të zëvendësojmë skedarin origjinal, ne do të përdorim -c opsion dhe ne do ta shkruajmë rezultatin në një skedar të ri.

skedari ruajtës i ngjeshjes bzip2

bzip2 -c ubunlog.txt > salida.txt.bz2
  • Skedarët unzip

unzip një skedar të kompresuar do të përdorim një nga dy mundësitë e mëposhtme:

bzip2 -d ubunlog.txt.bz2

bunzip2 ubunlog.txt.bz2
  • Shikoni përmbajtjen e skedarëve të kompresuar pa i dekompresuar ato

Për të parë përmbajtjen e një skedari të kompresuar pa e dekompresuar, do të duhet të përdorim vetëm ndonjë nga opsionet:

bunzip2 -c ubunlog.txt.bz2

bzcat ubunlog.txt.bz2

Për më shumë detaje, ne mund të konsultohemi me faqet e njeriut:

njeriu bzip2

man bzip2

Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.