Команда bunzip2 Linux: як її використовувати
Що потрібно знати
- Використовуйте опцію команди -c --стандартний вихід стиснути/розпакувати до стандартного виводу і -d --розпакувати для примусової декомпресії.
- Використовуйте -t --тест щоб перевірити цілісність зазначених файлів. Використовуйте -f --сила щоб примусово перезаписати вихідні файли. Використовуйте -к --зберігати щоб зберегти вхідні файли.
- Використовуйте -s --маленький зменшити використання пам’яті та -q -- тихо щоб придушити попереджувальні повідомлення. Використовуйте -v -- багатослівний щоб показати коефіцієнт стиснення файлів.
У цій статті пояснюється, як користуватися Linux bunzip2 команда, який є компресором файлів для сортування блоків, який можна використовувати як для стиснення, так і для розпакування даних. Коли ви виконуєте bzip2 без будь-яких параметрів, система стискає дані за замовчуванням. bunzip2 розпаковується за замовчуванням, і bzcat розпаковується до стандартного виведення.
Параметри команди Bunzip2 Linux
Список параметрів команди bunzip2 | |
---|---|
Варіант | Пояснення |
-c --стандартний вихід | Стисніть або розпакуйте до стандартного виводу. |
-d --розпакувати | Примусова декомпресія. bzip2, bunzip2 і bzcat - це дійсно одна і та ж програма, і рішення про те, які дії виконувати, приймається на основі того, яке ім'я використовується. Цей прапор перевизначає цей механізм і змушує bzip2 розпаковуватися. |
-z -- стиснути | Доповнення до -d: стискає, незалежно від імені виклику. |
-t --тест | Перевірте цілісність вказаних файлів, але не розпакуйте їх. Це дійсно виконує пробну декомпресію і викидає результат. |
-f --сила |
Примусове перезапис вихідних файлів. Зазвичай bzip2 не перезаписує наявні вихідні файли. Також змушує bzip2 порушувати жорсткі посилання на файли, чого в іншому випадку він не зробив би. bzip2 зазвичай відмовляється розпаковувати файли, які не мають правильних байтів магічного заголовка. Однак якщо примусово (-f), він передасть такі файли через незмінені. Ось як поводиться GNU gzip. |
-к --зберігати | Зберігайте (не видаляйте) вхідні файли під час стиснення або декомпресії. |
-s --маленький |
Зменште використання пам’яті для стиснення, декомпресії та тестування. Файли розпаковуються та перевіряються за допомогою модифікованого алгоритму, який вимагає лише 2,5 байта на блоковий байт. Це означає, що будь-який файл можна розпакувати в 2300 КБ пам’яті, хоча приблизно на половині нормальної швидкості. Під час стиснення -s вибирає розмір блоку 200k, що обмежує використання пам'яті приблизно до тієї ж цифри за рахунок вашого коефіцієнта стиснення. Коротше кажучи, якщо у вашій машині мало пам’яті (8 мегабайт або менше), використовуйте -s для всього. Див. УПРАВЛІННЯ ПАМ'ЯТЮ нижче. |
-q -- тихо | Придушення неважливих попереджень. Повідомлення, що стосуються помилок введення-виводу та інших критичних подій, не приховуються. |
-v -- багатослівний | Багатослівний режим -- показує ступінь стиснення для кожного обробленого файлу. Далі -v підвищують рівень багатослівності, вивергаючи багато інформації, яка в першу чергу представляє інтерес для діагностичних цілей. |
-L --ліцензія | Відобразити версію програмного забезпечення, умови ліцензії. |
-V --версія |
Відобразити версію програмного забезпечення, умови ліцензії. |
-1 або -9 |
Встановіть розмір блоку на 100 k, 200 k.. 900 к при стисненні. Не дає ефекту при декомпресії. Обробляє всі наступні аргументи як імена файлів, навіть якщо вони починаються з тире. Це для того, щоб ви могли обробляти файли, імена яких починаються з тире, наприклад: bzip2 -- -myfilename. |
--повторно-швидко і --повторний-найкращий є зайвими у версіях 0.9.5 і вище. Вони забезпечували деякий грубий контроль над поведінкою алгоритму сортування в попередніх версіях, що іноді було корисно. 0.9.5 і вище мають покращений алгоритм, який робить ці прапорці нерелевантними.
Використовувати команда людини (% чоловік), щоб побачити, як команда використовується на вашому комп’ютері.
Дослідження стиснення bunzip2
bzip2 стискає файли за допомогою алгоритму блочного сортування тексту Берроуза-Уілера та кодування Хаффмана. Стиснення загалом значно краще, ніж у більш звичайних компресорів на базі LZ77/LZ78, і наближається за продуктивністю до сімейства статистичних компресорів PPM.
Параметри командного рядка навмисно дуже схожі на параметри GNU gzip, але вони не ідентичні.
bzip2 очікує, що список імен файлів супроводжуватиме прапорці командного рядка. Кожен файл замінюється стиснутою версією самого себе з назвою "original_name.bz2". Кожен стиснений файл має таку саму дату зміни, дозволи та, якщо можливо, право власності, що й відповідний оригінал, щоб ці властивості можна було правильно відновити під час декомпресії.

Коли використовувати прапор -f
Обробка імен файлів наївна в тому сенсі, що немає механізму збереження оригінальних імен файлів, дозволів, права власності або дати у файлових системах, у яких відсутні ці поняття або мають серйозні обмеження на довжину імен файлів, наприклад MS-DOS.
bzip2 і bunzip2 за замовчуванням не перезаписує наявні файли. Якщо ви хочете, щоб це сталося, вкажіть -f прапор.
Якщо імена файлів не вказані, bzip2 стискає зі стандартного введення на стандартний вихід. В цьому випадку, bzip2 відмовиться записувати стиснений вихід на термінал, оскільки це було б абсолютно незрозумілим і, отже, безглуздим.

bunzip2 (або bzip2 -d) розпаковує всі вказані файли. Файли, які не були створені bzip2 буде виявлено та проігноровано, а також видано попередження. bzip2 намагається вгадати ім'я файлу для розпакованого файлу з імені стиснутого файлу таким чином:
- filename.bz2 стає ім'ям файлу
- filename.bz стає ім'ям файлу
- filename.tbz2 стає filename.tar
- filename.tbz стає filename.tar
- anyothername стає anyothername.out
Якщо файл не закінчується одним із розпізнаних розширення файлів — BZ2, BZ, TBZ2 або TBZ — bzip2 скаржиться, що не може вгадати ім’я оригінального файлу, і використовує оригінальне ім’я з .out додається.

Як і зі стисненням, відсутність імені файлу спричиняє декомпресію зі стандартного введення на стандартний вихід.
bunzip2 правильно розпакує файл, який є конкатенацією двох або більше стиснутих файлів. Результатом є конкатенація відповідних нестиснених файлів. Перевірка цілісності (-т) конкатенованих стиснутих файлів також підтримується.
Використання прапора -c для стандартного виводу
Ви також можете стиснути або розпакувати файли до стандартного виводу, надавши -c прапор. Кілька файлів можна стиснути та розпакувати таким чином. Отримані вихідні дані послідовно надходять до стандартного виведення. Стиснення кількох файлів у такий спосіб генерує потік, що містить кілька стислих уявлень файлів.
Такий потік можна правильно розпакувати лише за допомогою bzip2версії 0.9.0 або новішої. Попередні версії bzip2 зупиниться після розпакування першого файлу в потоці.
bzip2 Декомпресія
bzcat (або bzip2 -dc) розпаковує всі вказані файли до стандартного виводу.
bzip2 читатиме аргументи зі змінних середовища BZIP2 і BZIP, в такому порядку і оброблятиме їх перед будь-якими аргументами, прочитаними з командного рядка. Це дає зручний спосіб надання аргументів за замовчуванням.
Стиснення виконується завжди, навіть якщо стиснутий файл трохи більший за вихідний. Файли розміром менше 100 байт, як правило, збільшуються, оскільки механізм стиснення має постійні накладні витрати в районі 50 байт. Випадкові дані (включаючи вихідні дані більшості файлів-компресорів) кодуються зі швидкістю приблизно 8,05 біт на байт, що дає розширення приблизно на 0,5 відсотка.
bzip2 і CRC
Як самоперевірку для вашого захисту, bzip2 використовує 32-розрядні CRC, щоб переконатися, що розпакована версія файлу ідентична оригінальній. Це захищає від пошкодження стиснутих даних і від невиявлених помилок bzip2 (сподіваюся, дуже малоймовірно).
Імовірність того, що пошкодження даних залишиться непоміченим, є мікроскопічними, приблизно один шанс на чотири мільярди для кожного обробленого файлу. Однак майте на увазі, що перевірка відбувається під час декомпресії, тому вона може лише сказати вам, що щось не так. Це не може допомогти вам відновити вихідні нестиснені дані.
Ви можете використовувати bzip2recover спробувати відновити дані з пошкоджених файлів.