Блог-шпаргалка

Картинка

Делим файл на части

Категория -> linux
Обновлено: 2026-02-19

Понадобилось мне как-то передать линуксовый инсталлятор платформы 1с за пределы локальной сети. Для этого, в принципе как и всегда, я решил воспользоваться яндекс-диском (НЕ реклама). Открыл браузер -> яндекс-диск, мышкой перетащил файл для загрузки и тут меня ждал сюрприз. Система яндекса вежливо послала меня нахуй, сказав, что файл слишком большой. Если я хочу грузить файлы, размером выше 1 гигабайта, то мне необходимо приобрести тариф от 166 руб/мес. Сперва я подумал: - «Вот суки меркантильные», но потом пришёл к выводу, что все мы хотим кушать и 166 рублей в месяц - это не такая уж и большая сумма, но это не касается такого скупердяя, как я :)

Вспомнил я про крошечную, но очень полезную утилиту split, функционал которой сейчас опишу.

Помчались

Чтобы разделить файл на части, в нашем случае до гигабайта, скомандуем следующее

split -a 1 -d --verbose -b 950m server64_8_3_27_1989.zip server64_8_3_27_1989.zip.part_

Отлично! Теперь перекидываем файлы через ЯД, на той стороне принимаем, а что дальше?

Тут нам на помощь приходит ещё одна милипиздрическая утилита cat, которая не только выводит на экран содержание текстового файла, но и как оказалось может «склеить» разделённые сплитом части файлов.

cat server64_8_3_27_1989.zip.part* >  server64_8_3_27_1989.zip

Готово! С задачей справились!

А теперь немного детально по ключам сплита

-a или --suffix-length - задать длину суффикса (количество символов) в имени части файла. По умолчанию выставляется 2
-b или --bytes - указываем размер части файла. Аналогично m и g
-d - использовать числовой суффикс в имени конечного файла. Отсчет начинается с нуля. Без указания данного ключа, части будут именоваться буквой алфавита
--numeric-suffixes - то же самое, что и -d, но даёт возможность задать начальное число для отсчёта.
--verbose - выведет информацию о процессе создания частей.

Остальные ключи можно посмотреть по команде

split --help

Там их немного