>_ IzzyLab

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

split: разбей и собери архив

сложно

Разбей /root/big.tar.gz на части по 100КБ с префиксом /root/part., затем склей части обратно в /root/rebuilt.tar.gz. Восстановленный архив должен побайтово совпадать с исходным.

Что потренируешь:
  • split
  • cat
  • конкатенация
  • cmp
  • бинарные файлы

Разбор темы

Утилита split режет файл на куски заданного размера (-b), давая набор частей с суффиксами aa, ab, ... в алфавитном порядке; последний кусок обычно меньше остальных. Обратная склейка не требует спецутилиты: маска префикс.* в шелле раскрывается в отсортированном порядке, а конкатенация содержимого в один поток восстанавливает исходник. Мысленная модель: и дробление, и склейка работают с сырыми байтами без интерпретации, поэтому результат обязан совпадать побайтово. Идентичность проверяется через cmp, который на равных файлах молчит и возвращает 0.

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

  1. архив разбит минимум на 2 части
  2. склеенный архив идентичен исходному

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