Вы можете использовать split
команду с -b
опцией:
split -b 1024m file.tar.gz
Его можно собрать на компьютере с Windows, используя ответ @ Joshua .
copy /b file1 + file2 + file3 + file4 filetogether
Изменить : как @Charlie заявил в комментарии ниже, вы можете явно установить префикс, потому что он будет использовать x
иначе, что может сбить с толку.
split -b 1024m "file.tar.gz" "file.tar.gz.part-"
// Creates files: file.tar.gz.part-aa, file.tar.gz.part-ab, file.tar.gz.part-ac, ...
Изменить : Редактирование сообщения, потому что вопрос закрыт, и наиболее эффективное решение очень близко к содержанию этого ответа:
# create archives
$ tar cz my_large_file_1 my_large_file_2 | split -b 1024MiB - myfiles_split.tgz_
# uncompress
$ cat myfiles_split.tgz_* | tar xz
Это решение позволяет избежать необходимости использовать промежуточный большой файл при (де) сжатии. Используйте опцию tar -C, чтобы использовать другой каталог для результирующих файлов. Кстати, если архив состоит только из одного файла, можно избежать tar и использовать только gzip:
# create archives
$ gzip -c my_large_file | split -b 1024MiB - myfile_split.gz_
# uncompress
$ cat myfile_split.gz_* | gunzip -c > my_large_file
Для Windows вы можете скачать перенесенные версии тех же команд или использовать Cygwin.