Връщаме се към обичайния проблем, който се превръща в предимство за мнозина напреднали потребители на 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 |
* Разбира се, всички предишни команди имат интересни опции, които ви каня да откриете с помощта на човек, някои много необходими като рекурсия и т.н.
Не забравяйте оставете вашите коментари...
По-специално използвам 7zip
Пропуснахте 7zip. Много добър вариант и БЕЗПЛАТЕН СОФТУЕР.
Отлична информация, макар че бих започнал с това, че може да се компресира и декомпресира графично без проблем, така че да не видите дежурния "стършел", който казва, че GNU / Linux е много труден и всичко трябва да се направи на конзолата. НЕ, ОЩЕ Е ДРУГ ОПЦИЯ.