Усі секрети стиснення в GNU / Linux

Компресійні труби

Ми повертаємося до звичної проблеми, яка стає перевагою для багатьох досвідчені користувачі GNU / Linux і це велика кількість альтернатив або можливостей. Це для самих недосвідчених може бути проблемою, коли вони не знають добре, кого вибрати, але, як я вже кажу, мати більше можливостей чи гнучкості ніколи не буває погано, а навпаки. У цьому випадку ми поговоримо про алгоритми та процедури стиснення та декомпресії які існують на нашій улюбленій платформі, щоб ви могли бачити їх по-різному, а не як велику халепу, не знаючи, який найкращий варіант у вашому випадку ...

Правда полягає в тому, що існують не тільки інструменти, що використовуються як tar, за допомогою яких ми можемо створювати пакети, до яких також може додаватися певний тип стиснення, як ми звикли бачити в знамениті тарбали про яку ми вже говорили LxA багато разів. Ми також знайдемо варіанти таких тривіальних і частих інструментів, як grep для пошуку всередині стиснених файлів, таких як bzfgrep, або навіть інших, таких як все менше і більше, які також мають свої варіанти для стиснених файлів, таких як bzless та bzmore. Щоб побачити їх усіх, нам просто потрібно поглянути на результат наступної команди:

apropos compress

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

Серед усіх алгоритми стиснення без втрат, доступне в Linux для стиснення та розпакування даних, у нас є багато варіантів. Щоб отримати підтвердження часу, необхідного для стиснення з тим чи іншим алгоритмом стиснення, або скільки часу потрібно для його декомпресії, я пропоную вам зробити деякі тести самостійно. Ви можете використовувати для цього команду time, яка дасть вам час, який витрачався на процес стиснення та декомпресії. Наприклад, якщо ви збираєтеся використовувати інструмент zip для стиснення файлу, який називається test:

time zip prueba.zip prueba

Це відкине використаний час, але якщо ви хочете побачити розмір сформованого файлуВи можете спробувати стиснути один і той же файл за допомогою різних алгоритмів та інструментів стиснення, і після того, як всі стиснуті файли будуть у каталозі за допомогою простої команди для переліку, перевірте розмір кожного з них:

ls -l

Якщо ви бажаєте, ви також можете використовувати інші інструменти для порівняння стиснених файлів, наприклад, з деякими варіантами інструменту diff:

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 і робить це завдяки модифікованому алгоритму Лемпеля-Жива. Наприклад:
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 ZIP .tar.lz
лзма лзма .tar.lzma

* Звичайно, усі попередні команди мають цікаві опції, які я запрошую вас відкрити за допомогою man, деякі дуже необхідні, такі як рекурсія тощо.

Не забудьте залишайте свої коментарі...


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: AB Internet Networks 2008 SL
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.

  1.   Хав'єр Мартінес Еченік - сказав він

    Я зокрема використовую 7zip

  2.   Марсело - сказав він

    Ви пропустили 7zip. Дуже хороший варіант та БЕЗКОШТОВНЕ ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ.

  3.   Umberto - сказав він

    Відмінна інформація, хоча я би почав із того, що її також можна без проблем стискати та декомпресувати графічно, щоб ви не бачили чергового "шершня", який говорить про те, що GNU / Linux дуже складний, і все потрібно робити на консолі. НІ, ЦЕ ІНШИЙ ВАРІАНТ.