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):
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.
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.
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:
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 -d ubunlog.txt.gz
Mund të përdorim edhe gunzip për të shkëputur skedarët.
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 ubunlog1.txt.gz
Ne gjithashtu mund të përdorim shërbim zcat për të njëjtin qëllim, si më poshtë:
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:
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ë:
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.
bzip2 -c ubunlog.txt > salida.txt.bz2
-
Skedarët unzip
në 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:
man bzip2