Vous pouvez utiliser la split
commande avec l' -b
option:
split -b 1024m file.tar.gz
Il peut être réassemblé sur une machine Windows en utilisant la réponse de @ Joshua .
copy /b file1 + file2 + file3 + file4 filetogether
Edit : Comme @Charlie l'a indiqué dans le commentaire ci-dessous, vous voudrez peut-être définir un préfixe explicitement car il utilisera x
autrement, ce qui peut être déroutant.
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, ...
Edit : Modifier le message car la question est fermée et la solution la plus efficace est très proche du contenu de cette réponse:
# 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
Cette solution évite d'avoir à utiliser un gros fichier intermédiaire lors de la (dé) compression. Utilisez l'option tar -C pour utiliser un répertoire différent pour les fichiers résultants. btw si l'archive se compose d'un seul fichier, tar pourrait être évité et seul gzip utilisé:
# create archives
$ gzip -c my_large_file | split -b 1024MiB - myfile_split.gz_
# uncompress
$ cat myfile_split.gz_* | gunzip -c > my_large_file
Pour Windows, vous pouvez télécharger des versions portées des mêmes commandes ou utiliser cygwin.