How to Compress and Split Files in Ubuntu

In Ubuntu, the Archive Manager (or file-roller) has make it easy for anyone to compress and zip up a file or folder, but if you have a large file, say 20Gb, and you want to back it up to the CD/DVD, you will find that no amount of compression can you reduce the file size to fit into 1 CD/DVD. In such case, it is a better solution to compress and split the large file into several smaller files and store them separately. This also applies if you want to share a large file on a file-sharing site. Splitting the compressed file into several smaller files will make it easier for others to download.

Let’s say that the large file is a movie file found in /home/username/movie/large-file.avi and you want to compress, split and store the smaller files at the folder /home/username/movie/split-flies/, this is what you type in the terminal:

cd movie/split-files (change the filepath to where you want to keep the split files)
tar -cvj /home/username/movie/large-files.avi | split -b 650m -d – “large-files.tar.bz.”

You will now see several files appearing at the split-files folder, each with file size of 650MB and with filenames large-files.tar.bz.00, large-files.tar.bz.01, large-files.tar.bz.02, etc.

To recover and extract the split files, type

cat large-files.tar.bz.* > large-files.tar.bz
tar -xvj large-file.tar.bz

and you can get the original file back.

Do you know of any other ways to compress and split files in Ubuntu?

Damien Oh is the owner and chief editor of Make Tech Easier

Tags: , , ,

 

Enjoyed the article? Subscribe to Make Tech Easier today to get your daily updates of technology tutorials, tips and tricks.

Enter your email:

3 pingbacks/trackbacks (Click to open)

4 Responses

  • qiet72 says:

    You wrote “tar -xvf large-file.tar.bz”
    It should read “tar -xvjf large-file.tar.bz” because the tar file was compress with bzip2 and needs to be uncompressed with the same program.

    Another more optimal way would be:
    “cat large-file.tar.gz.* | tar -xvj”

    Reply

  • Damien says:

    @qiet72: Yes. You are correct. Thanks for spotting and pointing out the error.

    Reply

  • Joel says:

    From looking around this also will work:

    split -d –bytes=104857600 file.rar

    and

    cat < file.rar.*

    Reply

  • Joel says:

    Oops, I just noticed that in my comment it’s doing the same thing as what this tutorial says. I should pay better attention to the whole command next time. Thanks for this guide :D

    Reply

Leave a Comment




 

Sign in with Twitter

Comment

Please Note: Comments maybe under moderation after you submit your comments so there is no need to resubmit your comment again