Опције и поређење Линук датотека за компримовање

Linux File Compression Options



Компресија је генерално корисна метода која у суштини кодира информације користећи мање података од оригиналних. У случају Линука, постоје различите опције компресије, свака са својим предностима.

Генерички Линук дистрибутер нуди приступ прегршт заиста корисних и једноставних механизама компресије. Овај чланак ће се фокусирати само на њих.







Врсте компресије

Компресија је кодирање и представљање информација користећи мање битова него што је првобитно било. У случају компресије датотеке, метода компресије користи сопствени алгоритам и математичко израчунавање за генерисање излаза који је генерално мањи од величине оригиналне датотеке. Због начина на који различита компресија функционира и насумичне природе датотека, километража може јако варирати.



Постоје 2 врсте компресије.



  • Компресија са губитком : Ово је ризичан тип компресије који не гарантује интегритет података. У суштини, када се једном компримује, постоји ризик да се оригинална датотека не може реконструисати помоћу компримоване архиве.
    Чврст пример ове врсте компресије је добро познати МП3 формат. Када се МП3 направи од оригиналне аудио датотеке, знатно је мањи од оригиналне изворне музичке датотеке. Ово узрокује губитак квалитета звука.
  • Компресија без губитака : Ово је најчешће кориштена врста компресије. Користећи метод компресије без губитака, оригинална датотека се може реконструисати из компримоване датотеке. Методе компресије о којима ћу говорити у овом чланку су све методе компресије без губитака.

Компресија Линука

Већина метода компресије доступна је у алату катран . Што се тиче зип компресије, користићемо зип оруђе. Претпоставимо да ваш систем већ има инсталиране ове алате, почнимо.





У почетку нам је потребна тест датотека. Покрените следећу команду да бисте је креирали.

$басе64/дев/урандом| глава 20000000 >филе.ткт



Створиће текстуалну датотеку величине 20 МБ.

Сада, креирајмо 10 копија датотеке. Заједно, то је 200 МБ.

Зип за компресију

Зип је прилично уобичајен. За креирање зип датотеке, зип алату је потребна следећа структура наредби.

$зип <излаз>.зип<улазни>

Да бисте компримирали све датотеке у директоријуму за тестирање у једну зип датотеку, покрените ову команду.

$зиптест.зип*

Улазна величина је била 200 МБ. Након компресије, сада износи 152 МБ!

Зип алат ће подразумевано применити ДЕФЛАТЕ компресију. Међутим, он такође може да користи компресију бзип2. И не само то, можете креирати и зип датотеке заштићене лозинком! Сазнајте више о зип -у .

Тар за компресију на Линук -у

Тар није метода компресије. Уместо тога, најчешће се користи за креирање архива. Међутим, може имплементирати бројне популарне методе компримовања у архиву.

За руковање архивом тар (позната и као тарбалл) постоји алатка тар. Сазнајте више о тар. Генерално, тар алат користи следећу командну структуру.

$катран <Опције> <излазни фајл> <улазни>

Да бисте додали пробне датотеке у једну тар архиву, покрените следећу команду.

$катран -цвфтест.тар*

Овде величина датотеке остаје иста.

Гзип за компресију на Линук -у

ГНУ Зип или гзип је још једна популарна метода компресије која је, по мом мишљењу, боља од традиционалног зип -а због боље компресије. То је производ отвореног кода који су креирали Марк Адлер и Јеан-Лоуп Гаилли и који је првобитно био предодређен да замени УНИКС стиснути корисност.

За управљање гзип архивама постоје 2 алата: тар и гзип. Хајде да проверимо обоје.

Прво, алатка гзип. Ево како изгледа командна структура гзип.

$гзип <опција> <улазни>

На пример, следећа команда ће заменити тест1.ткт са компримованом датотеком тест1.ткт.гз.

$гзип тест1.ткт

Ако желите компримовати цео директоријум помоћу гзип -а, покрените ову команду. Овде је -р заставица за рекурзивну компресију. Гзип ће проћи кроз све фасцикле и компримирати појединачне датотеке у свакој од њих.

$гзип <фолдер_патх>

Гзип подржава различите вредности снаге компресије, почевши од 1 (најмања компресија, најбржа) до 9 (најбоља компресија, најспорија).

$гзип -9 <филе>

За бољу контролу над излазом и једноставност употребе, тар је бољи за задатак. Покрените следећу команду.

$катран -цвзфтест.тар.гз*

Резултат је сличан зип -у користећи ДЕФЛАТЕ, што резултира 152 МБ након компресије.

Бзип2 за компресију на Линук -у

Бзип2 је бесплатан алат отвореног кода који користи Бурровс-Вхеелер алгоритам за компресију. Први пут представљен 1996., бзип2 се увелико користи као алтернатива гзип компресији.

Као и гзип, постоје 2 алата за рад са бзип2: тар и бзип2.

Алат бзип2 ради слично гзип алату. Може радити само са једном датотеком одједном. Ево структуре команде.

$бзип2 <опција> <улазни>

Стиснимо датотеку тест1.ткт. Овде је -в заставица за опширни режим.

$бзип2 тест1.ткт

Слично гзипу, бзип2 такође подржава различит ниво компресије, почевши од 1 (подразумевано, мање коришћења меморије) до 9 (екстремно компримовање, велика употреба меморије).

$бзип2 -9 <филе>

Бољи начин коришћења бзип2 компресије је коришћење тар -а. Користите следећу команду.

$катран -цвјфтест.тар.бз2*

Компресија је мало побољшана у односу на претходне. Сада се величина датотеке смањила на 151,7 МБ.

КСЗ за компресију на Линук -у

Релативни је новајлија у области компресије. Први пут објављен 2009. године, од тада бележи сталан раст употребе.

Алат за компримовање кз користи алгоритам ЛЗМА2 који је познат по већем степену компресије у поређењу са гзип и бзип2, што га чини одличним избором када желите да уштедите максималну количину простора на диску. Међутим, ово долази са трошковима већих меморијских захтева и утрошка времена.

Датотека направљена помоћу алата за компримовање КСЗ има наставак .кз. За компримовање једне датотеке можете директно позвати КСЗ алат.

$кз<опција> <филе>

На пример, покрените следећу команду за компримовање датотеке тест1.ткт.

$кзтест1.ткт

Слично другим поменутим методама компресије, кз такође подржава различите опсеге снаге компресије, почевши од 1 (најнижа компресија, најбржа) до 9 (најбоља компресија, најспорија). Ако немате никаквог обзира према времену и само желите да уштедите простор, идите на крајност.

$кз -9 <филе>

Да бисте креирали компримовану КСЗ датотеку од свих тест датотека, покрените ову команду.

$катран -цвЈфтест.тар.кз*

Овде је величина излазне датотеке 153,7 МБ.

Издвајање компримованих архива

Издвајање архива које смо створили лакше је него њихово стварање. Да бисте извукли зип датотеку, користите следећу командну структуру.

$распакирајте <назив документа>.зип <одредиште>

Да бисте извукли зип архиву коју смо креирали, покрените ову команду. Ово ће издвојити сав садржај у истом директорију.

$распакирајтетест.зип

За издвајање архива тар, тар.гз, тар.бз2 и тар.кз морамо користити катран оруђе. Следећа команда тар применљива је за издвајање свих њих.

$катран -квф <арцхиве_филенаме>

На пример, издвојимо све датотеке из архиве компримоване бз2.

$катран -квфтест.тар.бз2

Да бисте декомпресирали датотеку гзип (не тар.гз), покрените ову команду.

$гзип <гзип_филе>

Слично, следећа команда ће декомпресирати бзип2 архиву.

$бзип2 <бзип2_филе>

Иста командна структура важи и за кз архиву.

$кз <кз_филе>

Последње мисли

Надајмо се да сада имате довољно знања за руковање задацима компресије у различитим околностима. У зависности од специфичних захтева, све методе компресије нуде веома атрактивне карактеристике.

Важно је напоменути да резултат компресије неће бити исти стално. Са различитим уносом података, излаз ће бити другачији. На пример, у неким случајевима кз може понудити луди резултат компресије, док у овом примеру није. Исто важи и за друге методе.

Да бисте детаљније сазнали о овим алатима, погледајте њихову одговарајућу страницу за кориснике.

$човече зип