>_ IzzyLab

Практическое задание

gzip: уровни сжатия

средне

Сожми файл /root/data.txt с разным уровнем gzip: быстрый -1 в /root/data.1.gz и максимальный -9 в /root/data.9.gz. Оригинал не удаляй. Версия -9 должна выйти не больше версии -1.

Что потренируешь:
  • gzip
  • уровни сжатия
  • stdout
  • перенаправление

Разбор темы

У gzip уровень сжатия задаётся цифрой от -1 (быстро и слабее) до -9 (медленно и сильнее), по умолчанию -6 — это компромисс между скоростью CPU и размером результата. Важная особенность интерфейса: по умолчанию gzip съедает исходник и сам придумывает имя .gz, поэтому для сохранения оригинала и произвольного имени выхода нужен режим вывода в stdout (-c) с перенаправлением. Мысленная модель: сжатие детерминировано, значит один и тот же вход при более высоком уровне даст файл не больше, чем при низком. Размеры удобно сравнить через stat -c%s.

Что проверяется

  1. созданы обе версии, оригинал на месте
  2. версия -9 не больше версии -1

Как это выглядит