Linux: How to break a large file into smaller files?
I have a giant file (>20 gigs) sitting on my source machine and I need to transfer it to my target machine. For the purposes of this question, let's assume that I do not have network connectivity between the two machines.
I need to break this file into a series of smaller files, write the smaller files to DVD(s), then re-assemble everything on the target machine.
Both source and destination machines are Linux boxes. Is there a way to accomplish this using tar
? I have a feeling that I need to use the --multi-volume
parameter. What are my options?
I need to be able to specify the size of the volume files, in order to make sure that each one will fit onto a single DVD.
Thanks!
Solution 1:
Use the split command.
split -b 22 m newfile.txt new
would split the file "newfile.txt" into three separate files called newaa, newab and newac each file the size of 22 MB.
Solution 2:
Other answers have covered split
to combine them to one master file you just use cat
.