Всички тайни на компресията в GNU / Linux

Компресионни тръби

Връщаме се към обичайния проблем, който се превръща в предимство за мнозина напреднали потребители на GNU / Linux и това е големият брой алтернативи или налични възможности. Това за най-неопитните може да е проблем, когато не знаят добре кой да избере, но както казвам, наличието на повече възможности или гъвкавост никога не е лошо, а точно обратното. В този случай ще говорим за алгоритми и процедури за компресиране и декомпресия които съществуват на любимата ни платформа, за да можете да ги виждате по различен начин, а не като голяма бъркотия, като не знаете кой е най-добрият вариант във вашия случай ...

Истината е, че има не само инструменти, използвани като tar, с които можем да създадем пакети, които също могат да бъдат добавени някакъв вид компресия, както сме свикнали да виждаме в известните тарбали за които вече говорихме LxA в много случаи. Ще намерим също варианти на такива тривиални и чести инструменти като grep за търсене в компресирани файлове като bzfgrep или дори други като по-малко и повече, които също имат своите варианти за компресирани файлове като bzless и bzmore. За да ги видим всички, просто трябва да разгледаме резултата от следната команда:

apropos compress

Алгоритми и тестове:

Сред всички алгоритми компресия без загуби, налична в Linux за компресиране и декомпресиране на данни, имаме много опции. За да получите доказателство за времето, необходимо за компресиране с един или друг алгоритъм за компресия, или колко време е необходимо за неговото декомпресиране, предлагам да направите някои тестове сами. Можете да използвате командата time за това, която ще ви даде времето, което е отделено за процеса на компресия и декомпресия. Например, ако ще използвате zip инструмента за компресиране на файл, наречен тест:

time zip prueba.zip prueba

Това би изхвърлило използваното време, но ако искате да видите размера на генерирания файлМожете да опитате да компресирате един и същ файл с различни алгоритми и инструменти за компресиране и след като имате всички компресирани файлове в директория с проста команда за списък, проверете размера на всеки от тях:

ls -l

Ако предпочитате, можете да използвате и други инструменти за сравнение на компресирани файлове, например с някои варианти на инструмента за различие:

xzdiff [opciones] fichero1 fichero2

lzdiff [opciones] fichero 1 fichero2

Ако искате да видите графики за размера и скоростта на алгоритмите, можете да посетите тази друга връзка.

Инструменти за компресиране:

Относно наличните инструменти имаме много от тях, някои с графичен интерфейс за начинаещи и че просто ще трябва да се справим с прост и интуитивен графичен интерфейс за извършване на компресии и декомпресии като PeaZip или 7zip, ... и т.н. По-конкретно, първият може да работи с различни формати, по-конкретно над 180 от тях. Но ако сте от тези, които все още обичат да работят с терминала, тогава ще имате голям брой инструменти, които със сигурност знаете:

  • цип и разархивирайте: това е добър вариант, ако това, което искате, са файлове, които са преносими към други операционни системи, тъй като ще намерите инструменти за работа с тези файлове в системите на Microsoft Windows, както и в macOS, както и други. Например, за да компресирате файл или директория, наречена test и след това да го декомпресирате:
zip prueba.zip prueba

unzip prueba.zip

  • GZIP: Най-добре е това, което искате, да е преносимост само между операционните системи Unix / Linux. Може би степента на компресия е почти идентична на zip, може би малко по-добра, но няма да намерите голяма разлика в размера на файла под zip или gzip. За компресиране и декомпресиране с този инструмент можем да използваме две опции в случай на декомпресия и те са опцията -do, директно използвайки псевдонима gunzip:
gzip prueba

gzip -d prueba.gz

gunzip prueba.gz

  • bzip2: Подобно на предишния, този алгоритъм присъства много в операционните системи Unix / Linux, въпреки че ще отнеме малко повече време в процесите на компресия и декомпресия, отколкото в случая на gzip. В този случай закъснението няма да се превърне в по-висока степен на компресия, както в случая на xz, тъй като файловете, компресирани под bzip2, ще заемат малко повече от gzip. Ето защо се препоръчва да избягвате bzip2 и вместо това да изберете xz или gzip. Въпреки че всичко ще зависи малко от типа на файла, който се опитвате да компресирате ... Например:
bzip2 prueba

bzip2 -d prueba.bz2

  • xz: Това е предпочитаният формат за големи размери на файла, тъй като предлага най-добрите нива на компресия, но също така е вярно, че ще отнеме повече време, за да завършите компресията или декомпресията. Той е доста по-нов от предишните, така че може да се окажете с по-примитивни дистрибуции или стари Unix системи, които нямат инструмент за този. Примери:
xz prueba

xz -d prueba.xz

  • unrar и rar: Можем да работим и с RAR формати в Linux благодарение на тези инструменти, въпреки че не е толкова популярен в случая на * nix системи, както предишните ... В този случай можем да изберем:
rar a prueba.rar prueba

unrar e prueba.rar

  • компресирайте и декомпресирайте: и въпреки че използването на компресиране се губи и не е толкова популярно като предишните, не бих искал да пренебрегна и този инструмент. Използва се за компресиране на файлове с разширение .Z и това става благодарение на модифициран алгоритъм Lempel-Ziv. Например:
compress -v prueba

uncompress prueba.Z

Ако искате да работите директно с катраненият инструментМожете също да опаковате и компресирате файловете едновременно, както и да ги разопаковате и декомпресирате. В този случай можем да предадем опциите от типа алгоритъм, който да се използва директно на tar. Но преди всичко трябва да знаете, че с опция c създаваме пакет, а с опция x го извличаме. Например:

tar czvf prueba.tar.gz prueba

tar xzvf prueba.tar.gz

Както можете да видите, ние използвахме опциите zvf, които трябва да посочат вида на алгоритъма за компресиране z (в случая gzip), v за подробния режим, който дава информация за това, което прави, и f, за да посочи файла, с който да работи ... Е, ако променим че z с друга буква, съответстваща на друг тип алгоритъм, можем да променим вида на компресията, приложена към tarball:

опция алгоритъм разширение
z GZIP .tar.gz
j bzip2 .tar.bz2
J xz .tar.xz
lzip цип .tar.lz
lzma lzma .tar.lzma

* Разбира се, всички предишни команди имат интересни опции, които ви каня да откриете с помощта на човек, някои много необходими като рекурсия и т.н.

Не забравяйте оставете вашите коментари...


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорник за данните: AB Internet Networks 2008 SL
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.

  1.   Хавиер Мартинес Еченике каза той

    По-специално използвам 7zip

  2.   Марсело каза той

    Пропуснахте 7zip. Много добър вариант и БЕЗПЛАТЕН СОФТУЕР.

  3.   Умберто каза той

    Отлична информация, макар че бих започнал с това, че може да се компресира и декомпресира графично без проблем, така че да не видите дежурния "стършел", който казва, че GNU / Linux е много труден и всичко трябва да се направи на конзолата. НЕ, ОЩЕ Е ДРУГ ОПЦИЯ.