Pigz, швидко стискайте файли з терміналу

про пігз

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

Pigz, що означає паралельну реалізацію gzip, є повністю функціональна заміна gzip, який використовує кілька процесорів і кілька ядер під час стиснення даних. Pigz був написаний Марком Адлером і використовує бібліотеки zlib і pthread.

Pigz стискає за допомогою ниток для використання декількох процесорів і ядер. Кожен розділений на шматочки 128 KB. Кожне з них та індивідуальне контрольне значення для кожного зрізу обчислюються паралельно. Стиснуті дані записуються для виводу, а комбіноване контрольне значення обчислюється з окремих контрольних значень.

Інсталяція Pigz на Ubuntu

в встановіть pigz на Ubuntu, Mint та інші дистрибутиви, сумісні з Debian, нам залишиться лише відкрити термінал (Ctrl + Alt + T) і скористатися командою:

встановити pigz

sudo apt install pigz

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

Стиснути один файл

в стиснути будь-який файл у форматі GNU Zip з пігз, нам доведеться лише використовувати його наступним чином:

стиснути простий файл - -

pigz NOMBRE_DEL_ARCHIVO

Для деяких це може бути проблемою за замовчуванням pigz видаляє вихідний файл після стиснення. Якщо ви хочете його зберегти, ви повинні використовуйте перемикач -k наступним чином:

стиснення, зберігаючи оригінальний файл за допомогою

pigz -k NOMBRE_DEL_ARCHIVO

Pigz підтримує різні рівні стиснення, і це дозволить нам вибрати між ними, вказавши їх кількість після дефіса. Прикладом цього може бути:

рівень стиснення pigz

pigz -9 -k NOMBRE_DEL_ARCHIVO

Ми можемо використовувати числа від 1 до 9. За допомогою «1» ми отримаємо більш високу продуктивність, але при найнижчому стисненні та при «9» ми отримаємо найповільніше, але найвище стиснення.

Стискати папки

Pigz має суттєве обмеження, яке полягає в тому, що він не підтримує папки. Ми зможемо стискати файли лише окремо. Хоча ми можемо знайти альтернативне рішення, яке полягає у використанні його разом із дьоготь.

Якби ми хотіли стиснути папку 'Кошти', а оскільки tar підтримує використання програм зовнішнього стиснення, ми можемо зробити щось на зразок наступного:

стиснення папки

tar --use-compress-program="pigz -k -9" -cf Fondos.tar.gz Fondos/

У наведеній вище команді tar-програма використання-стискання констатує, що Хоча він створить файл із tar, стиснення його вмісту буде здійснюватися через зовнішню програму, в даному випадку pigz. Ця зовнішня програма та її параметри визначаються разом із частиною свиня -к -9 команди. Нарешті, ми зазначимо, що хочемо створити файл, використовуючи '-ср', називається'Backgrounds.tar.gz'з усім у папці'Гроші /».

Розпакуйте файли та папки

Розпакуйте будь-який файл .gz за допомогою pigz це так само просто, як ввести будь-яку з наступних команд:

pigz -d NOMBRE_DEL_ARCHIVO.gz

unpigz NOMBRE_DEL_ARCHIVO.gz

У створеному раніше файлі з папкою з розширенням tar.gz, декомпресія папки використовує той самий підхід 'дьоготь'що ми використовуємо для стиснення:

розпакувати папку

tar --use-compress-program="pigz -d" -xvf NOMBRE_CARPETA.tar.gz

Обмежувальний паралелізм

Pigz, за замовчуванням використовує всі процесори / ядра на комп'ютері. При стисненні великих наборів даних це може вплинути на швидкість реагування вашого комп’ютера.

За допомогою параметра p ми можемо обмежити використання певною кількістю процесорів / ядер. Це залишить решту вільною для інших завдань та інтерактивності. Для цього потрібно просто додати кількість процесорів / ядер наступним чином:

обмежує розпаралелювання

pigz -k -p2 NOMBRE_DEL_ARCHIVO

-p2 обмежує pigz використовувати лише два процесори / ядра. Ми можемо використовувати будь-яке число, яке хочемо, і навіть якщо це очевидно, важливо тримати цю кількість у межах нашого обладнання.

Для отримання додаткової інформації користувачі можуть подивіться на файл README або прочитайте сторінку посібник користувача від pigz.